Sha256: 846f6cb528a6f82482611b20c7791f63186f135b00de564ae6f85b88f9330631

Contents?: true

Size: 566 Bytes

Versions: 11

Compression:

Stored size: 566 Bytes

Contents

module DiscoApp
  class ShopUpdateJob < DiscoApp::ShopJob

    def perform(domain, shop_data = nil)
      # If we weren't provided with shop data (eg from a webhook), fetch it.
      shop_data ||= ActiveSupport::JSON::decode(ShopifyAPI::Shop.current.to_json)

      # Ensure we can access shop data through symbols.
      shop_data = HashWithIndifferentAccess.new(shop_data)

      # Update model attributes present in both our model and the data hash.
      @shop.update_attributes(shop_data.except(:id, :created_at).slice(*::Shop.column_names))
    end

  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
disco_app-0.4.1 app/jobs/disco_app/shop_update_job.rb
disco_app-0.4.2 app/jobs/disco_app/shop_update_job.rb
disco_app-0.4.3 app/jobs/disco_app/shop_update_job.rb
disco_app-0.4.4 app/jobs/disco_app/shop_update_job.rb
disco_app-0.5.0 app/jobs/disco_app/shop_update_job.rb
disco_app-0.5.1 app/jobs/disco_app/shop_update_job.rb
disco_app-0.5.2 app/jobs/disco_app/shop_update_job.rb
disco_app-0.5.3 app/jobs/disco_app/shop_update_job.rb
disco_app-0.5.4 app/jobs/disco_app/shop_update_job.rb
disco_app-0.5.5 app/jobs/disco_app/shop_update_job.rb
disco_app-0.5.6 app/jobs/disco_app/shop_update_job.rb