class Netfira::WebConnect::Models::Shop
Public Instance Methods
amqp_exchange()
click to toggle source
# File lib/netfira/web_connect/models/support/shop.rb, line 30 def amqp_exchange AMQP.exchange_for_shop self end
amqp_publish(message, **opts)
click to toggle source
# File lib/netfira/web_connect/models/support/shop.rb, line 38 def amqp_publish(message, **opts) amqp_exchange && amqp_exchange.publish(message, **opts.merge(routing_key: amqp_queue)) end
amqp_queue()
click to toggle source
# File lib/netfira/web_connect/models/support/shop.rb, line 34 def amqp_queue AMQP.queue_name_for_shop self end
find_relation_by_origin_ids(**args)
click to toggle source
# File lib/netfira/web_connect/models/support/shop.rb, line 20 def find_relation_by_origin_ids(**args) raise ArgumentError, "Provide exactly 2 origin IDs, e.g. :product => 'abc'" unless args.length == 2 classes = args.keys.map do |type| name = type.to_s.camelize.to_sym Models.const_get(name).tap { |k| raise "#{type} isn't a valid record type. Use singular snake-case, e.g. :product" unless k < Model::Record } end relation_class = Model::Relation.for!(*classes) relation_class.with_deleted.find_by_origin_ids(args.merge shop: self).first end
locale()
click to toggle source
# File lib/netfira/web_connect/models/support/shop.rb, line 16 def locale settings[:locale] || Netfira::WebConnect.system_locale end
reload()
click to toggle source
Calls superclass method
# File lib/netfira/web_connect/models/support/shop.rb, line 11 def reload @settings = nil super end
settings()
click to toggle source
# File lib/netfira/web_connect/models/support/shop.rb, line 7 def settings @settings ||= Settings.new(setting_models) end