class Gemgento::API::SOAP::Directory::Country
Public Class Methods
fetch_all()
click to toggle source
Fetch all Countries from Magento and sync them to Gemgento
.
@return [Void]
# File lib/gemgento/api/soap/directory/country.rb, line 10 def self.fetch_all response = list if response.success? response.body[:countries][:item].each do |country| sync_magento_to_local(country) end end end
list()
click to toggle source
Get a list of Countries from Magento.
@return [Gemgento::MagentoResponse]
# File lib/gemgento/api/soap/directory/country.rb, line 23 def self.list response = MagentoApi.create_call(:directory_country_list) if response.success? && !response.body[:countries][:item].is_a?(Array) response.body[:countries][:item] = [response.body[:countries][:item]] end return response end
Private Class Methods
sync_magento_to_local(source)
click to toggle source
Save Magento product attribute set to local
# File lib/gemgento/api/soap/directory/country.rb, line 36 def self.sync_magento_to_local(source) country = Gemgento::Country.where(magento_id: source[:country_id]).first_or_initialize country.magento_id = source[:country_id] country.iso2_code = source[:iso2_code] country.iso3_code = source[:iso3_code] country.name = source[:name] country.save end