class Dscf::Marketplace::UnitConversion

def self.ransackable_associations(_auth_object = nil)

def self.ransackable_associations(_auth_object = nil)
  %w[from_unit to_unit]
end

def self.ransackable_attributes(_auth_object = nil)

Ransack configuration for secure filtering
def self.ransackable_attributes(_auth_object = nil)
  %w[id from_unit_id to_unit_id conversion_factor notes created_at updated_at]
end

def description

def description
  "#{from_unit&.display_name}#{to_unit&.display_name}#{conversion_factor})"
end

def reverse_conversion_factor

def reverse_conversion_factor
  return nil unless conversion_factor && conversion_factor != 0
  1.0 / conversion_factor
end

def units_must_be_different

def units_must_be_different
  return unless from_unit_id && to_unit_id
  return unless from_unit_id == to_unit_id
  errors.add(:to_unit_id, "must be different from from_unit")
end