Module: Tienda::AssociatedCountries

Included in:
DeliveryServicePrice, TaxRate
Defined in:
lib/tienda/associated_countries.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



3
4
5
6
# File 'lib/tienda/associated_countries.rb', line 3

def self.included(base)
  base.serialize :country_ids, Array
  base.before_validation { self.country_ids = country_ids.map(&:to_i).select { |i| i > 0 } if country_ids.is_a?(Array) }
end

Instance Method Details

#countriesObject



13
14
15
16
# File 'lib/tienda/associated_countries.rb', line 13

def countries
  return [] unless country_ids.is_a?(Array) && !country_ids.empty?
  Tienda::Country.where(id: country_ids)
end

#country?(id) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
11
# File 'lib/tienda/associated_countries.rb', line 8

def country?(id)
  id = id.id if id.is_a?(Tienda::Country)
  country_ids.is_a?(Array) && country_ids.include?(id.to_i)
end