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