Module: Locomotive::Steam::Models::Repository
- Extended by:
- ActiveSupport::Concern, Forwardable
- Included in:
- ContentEntryRepository, ContentTypeFieldRepository, ContentTypeFieldSelectOptionRepository, ContentTypeRepository, EditableElementRepository, PageRepository, SectionRepository, SiteRepository, SnippetRepository, ThemeAssetRepository, TranslationRepository
- Defined in:
- lib/locomotive/steam/models/repository.rb
Defined Under Namespace
Modules: ClassMethods
Classes: RecordNotFound
Instance Attribute Summary collapse
Instance Method Summary
collapse
Instance Attribute Details
#adapter ⇒ Object
Returns the value of attribute adapter.
11
12
13
|
# File 'lib/locomotive/steam/models/repository.rb', line 11
def adapter
@adapter
end
|
#local_conditions ⇒ Object
Returns the value of attribute local_conditions.
11
12
13
|
# File 'lib/locomotive/steam/models/repository.rb', line 11
def local_conditions
@local_conditions
end
|
#scope ⇒ Object
Returns the value of attribute scope.
11
12
13
|
# File 'lib/locomotive/steam/models/repository.rb', line 11
def scope
@scope
end
|
Instance Method Details
#base_url(entity = nil) ⇒ Object
85
86
87
|
# File 'lib/locomotive/steam/models/repository.rb', line 85
def base_url(entity = nil)
adapter.base_url(mapper, scope, entity)
end
|
#build(attributes, &block) ⇒ Object
27
28
29
|
# File 'lib/locomotive/steam/models/repository.rb', line 27
def build(attributes, &block)
mapper.to_entity(attributes)
end
|
#count(&block) ⇒ Object
55
56
57
|
# File 'lib/locomotive/steam/models/repository.rb', line 55
def count(&block)
adapter.count(mapper, scope, &block)
end
|
#create(entity) ⇒ Object
31
32
33
|
# File 'lib/locomotive/steam/models/repository.rb', line 31
def create(entity)
adapter.create(mapper, scope, entity)
end
|
#delete(entity) ⇒ Object
43
44
45
|
# File 'lib/locomotive/steam/models/repository.rb', line 43
def delete(entity)
adapter.delete(mapper, scope, entity)
end
|
#find(id) ⇒ Object
47
48
49
|
# File 'lib/locomotive/steam/models/repository.rb', line 47
def find(id)
adapter.find(mapper, scope, id)
end
|
#first(&block) ⇒ Object
59
60
61
|
# File 'lib/locomotive/steam/models/repository.rb', line 59
def first(&block)
adapter.query(mapper, scope, &block).first
end
|
#i18n_value_of(entity, name) ⇒ Object
81
82
83
|
# File 'lib/locomotive/steam/models/repository.rb', line 81
def i18n_value_of(entity, name)
mapper.i18n_value_of(entity, name, locale)
end
|
#inc(entity, attribute, amount = 1) ⇒ Object
39
40
41
|
# File 'lib/locomotive/steam/models/repository.rb', line 39
def inc(entity, attribute, amount = 1)
adapter.inc(mapper, entity, attribute, amount)
end
|
#initialize(adapter, site = nil, locale = nil) ⇒ Object
16
17
18
19
20
|
# File 'lib/locomotive/steam/models/repository.rb', line 16
def initialize(adapter, site = nil, locale = nil)
@adapter = adapter
@scope = Scope.new(site, locale)
@local_conditions = {}
end
|
#initialize_copy(source) ⇒ Object
22
23
24
25
|
# File 'lib/locomotive/steam/models/repository.rb', line 22
def initialize_copy(source)
super
@local_conditions = source.local_conditions.dup
end
|
#k(name, operator) ⇒ Object
67
68
69
|
# File 'lib/locomotive/steam/models/repository.rb', line 67
def k(name, operator)
adapter.key(name, operator)
end
|
#last(&block) ⇒ Object
63
64
65
|
# File 'lib/locomotive/steam/models/repository.rb', line 63
def last(&block)
adapter.query(mapper, scope, &block).last
end
|
#mapper(memoized = true) ⇒ Object
73
74
75
76
77
78
79
|
# File 'lib/locomotive/steam/models/repository.rb', line 73
def mapper(memoized = true)
name, options, block = mapper_options
return @mapper if @mapper && memoized
@mapper = Mapper.new(name, options, self, &block)
end
|
#prepare_conditions(*conditions) ⇒ Object
89
90
91
92
93
94
95
96
97
98
|
# File 'lib/locomotive/steam/models/repository.rb', line 89
def prepare_conditions(*conditions)
_local_conditions = @local_conditions.dup
first = { order_by: _local_conditions.delete(:order_by) }.delete_if { |_, v| v.blank? }
[first, *conditions.flatten].inject(HashWithIndifferentAccess.new) do |memo, hash|
memo.merge!(hash) unless hash.blank?
memo
end.merge(_local_conditions)
end
|
#query(&block) ⇒ Object
Also known as:
all
51
52
53
|
# File 'lib/locomotive/steam/models/repository.rb', line 51
def query(&block)
adapter.query(mapper, scope, &block)
end
|
#update(entity) ⇒ Object
35
36
37
|
# File 'lib/locomotive/steam/models/repository.rb', line 35
def update(entity)
adapter.update(mapper, scope, entity)
end
|