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