Class: Kanji::Repository
- Inherits:
-
ROM::Repository::Root
- Object
- ROM::Repository::Root
- Kanji::Repository
- Defined in:
- lib/kanji/repository.rb
Instance Method Summary collapse
- #all ⇒ Object
- #create(params) ⇒ Object
- #destroy(id) ⇒ Object
- #klass ⇒ Object
- #relation ⇒ Object
- #relation_name ⇒ Object
- #type ⇒ Object
- #update(params) ⇒ Object
- #value_object ⇒ Object
Instance Method Details
#all ⇒ Object
33 34 35 |
# File 'lib/kanji/repository.rb', line 33 def all relation.to_a end |
#create(params) ⇒ Object
37 38 39 40 |
# File 'lib/kanji/repository.rb', line 37 def create(params) pk = relation.insert(params) relation.where(id: pk).one end |
#destroy(id) ⇒ Object
47 48 49 50 51 |
# File 'lib/kanji/repository.rb', line 47 def destroy(id) item = relation.where(id: id).one relation.where(id: id).delete item end |
#klass ⇒ Object
6 7 8 |
# File 'lib/kanji/repository.rb', line 6 def klass @_klass ||= self.class end |
#relation ⇒ Object
25 26 27 |
# File 'lib/kanji/repository.rb', line 25 def relation @_relation ||= relations[relation_name].map_to(type) end |
#relation_name ⇒ Object
10 11 12 13 14 15 |
# 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 ⇒ Object
17 18 19 20 21 22 23 |
# 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) ⇒ Object
42 43 44 45 |
# 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 ⇒ Object
29 30 31 |
# File 'lib/kanji/repository.rb', line 29 def value_object @_value_object ||= type.resolve(:value_object) end |