module Locomotive::Steam::Models::Repository
Attributes
adapter[RW]
local_conditions[RW]
scope[RW]
Public Class Methods
new(adapter, site = nil, locale = nil)
click to toggle source
# 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
Public Instance Methods
base_url(entity = nil)
click to toggle source
# File lib/locomotive/steam/models/repository.rb, line 85 def base_url(entity = nil) adapter.base_url(mapper, scope, entity) end
build(attributes, &block)
click to toggle source
# File lib/locomotive/steam/models/repository.rb, line 27 def build(attributes, &block) mapper.to_entity(attributes) end
count(&block)
click to toggle source
# File lib/locomotive/steam/models/repository.rb, line 55 def count(&block) adapter.count(mapper, scope, &block) end
create(entity)
click to toggle source
# File lib/locomotive/steam/models/repository.rb, line 31 def create(entity) adapter.create(mapper, scope, entity) end
delete(entity)
click to toggle source
# File lib/locomotive/steam/models/repository.rb, line 43 def delete(entity) adapter.delete(mapper, scope, entity) end
find(id)
click to toggle source
# File lib/locomotive/steam/models/repository.rb, line 47 def find(id) adapter.find(mapper, scope, id) end
first(&block)
click to toggle source
# File lib/locomotive/steam/models/repository.rb, line 59 def first(&block) adapter.query(mapper, scope, &block).first end
i18n_value_of(entity, name)
click to toggle source
# 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)
click to toggle source
# File lib/locomotive/steam/models/repository.rb, line 39 def inc(entity, attribute, amount = 1) adapter.inc(mapper, entity, attribute, amount) end
initialize_copy(source)
click to toggle source
Calls superclass method
# File lib/locomotive/steam/models/repository.rb, line 22 def initialize_copy(source) super @local_conditions = source.local_conditions.dup end
k(name, operator)
click to toggle source
# File lib/locomotive/steam/models/repository.rb, line 67 def k(name, operator) adapter.key(name, operator) end
last(&block)
click to toggle source
# File lib/locomotive/steam/models/repository.rb, line 63 def last(&block) adapter.query(mapper, scope, &block).last end
mapper(memoized = true)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# File lib/locomotive/steam/models/repository.rb, line 51 def query(&block) adapter.query(mapper, scope, &block) end
Also aliased as: all
update(entity)
click to toggle source
# File lib/locomotive/steam/models/repository.rb, line 35 def update(entity) adapter.update(mapper, scope, entity) end