Class: Netfira::WebConnect::Models::Shop
Defined Under Namespace
Classes: Settings
Instance Method Summary
collapse
table_name
#dispatch_event, plural_name, single_name, table_name
Instance Method Details
#find_relation_by_origin_ids(**args) ⇒ Object
20
21
22
23
24
25
26
27
28
|
# 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 ⇒ Object
16
17
18
|
# File 'lib/netfira/web_connect/models/support/shop.rb', line 16
def locale
settings[:locale] || Netfira::WebConnect.system_locale
end
|
#reload ⇒ Object
11
12
13
14
|
# File 'lib/netfira/web_connect/models/support/shop.rb', line 11
def reload
@settings = nil
super
end
|
#settings ⇒ Object
7
8
9
|
# File 'lib/netfira/web_connect/models/support/shop.rb', line 7
def settings
@settings ||= Settings.new(setting_models)
end
|