class Kanji::Repository
Public Instance Methods
all()
click to toggle source
# File lib/kanji/repository.rb, line 33 def all relation.to_a end
create(params)
click to toggle source
# File lib/kanji/repository.rb, line 37 def create(params) pk = relation.insert(params) relation.where(id: pk).one end
destroy(id)
click to toggle source
# File lib/kanji/repository.rb, line 47 def destroy(id) item = relation.where(id: id).one relation.where(id: id).delete item end
klass()
click to toggle source
# File lib/kanji/repository.rb, line 6 def klass @_klass ||= self.class end
relation()
click to toggle source
# File lib/kanji/repository.rb, line 25 def relation @_relation ||= relations[relation_name].map_to(type) end
relation_name()
click to toggle source
# File lib/kanji/repository.rb, line 10 def relation_name @_relation_name ||= begin name = Dry::Core::Inflector.demodulize(klass.name) Dry::Core::Inflector.underscore(name) end end
type()
click to toggle source
# File lib/kanji/repository.rb, line 17 def type @_type ||= begin name = Dry::Core::Inflector.demodulize(klass.name) singular_name = Dry::Core::Inflector.singularize(name) Dry::Core::Inflector.constantize("Types::#{singular_name}") end end
update(params)
click to toggle source
# File lib/kanji/repository.rb, line 42 def update(params) relation.where(id: params["id"]).update(params) relation.where(id: params["id"]).one end
value_object()
click to toggle source
# File lib/kanji/repository.rb, line 29 def value_object @_value_object ||= type.resolve(:value_object) end