Module: RediJsonModels::RediJsonModelLib
- Defined in:
- lib/redijson_models.rb
Constant Summary collapse
- INFLECTOR =
Dry::Inflector.new
Instance Method Summary collapse
- #all ⇒ Object
- #count ⇒ Object
- #create(attrs) ⇒ Object
- #get(id) ⇒ Object
- #resource ⇒ Object
- #update(id, attrs) ⇒ Object
Instance Method Details
#all ⇒ Object
27 28 29 30 31 |
# File 'lib/redijson_models.rb', line 27 def all 1.upto(count).map do |entry_id| get entry_id end end |
#count ⇒ Object
33 34 35 |
# File 'lib/redijson_models.rb', line 33 def count ( RJ["#{resource}:count"] || 0 ).to_i end |
#create(attrs) ⇒ Object
44 45 46 47 48 49 50 51 |
# File 'lib/redijson_models.rb', line 44 def create(attrs) id = incr attrs.merge! id: id obj = new attrs data = Oj.dump obj.attributes RJ["#{resource}:#{id}"] = data obj end |
#get(id) ⇒ Object
37 38 39 40 41 42 |
# File 'lib/redijson_models.rb', line 37 def get(id) data = RJ["#{resource}:#{id}"] return unless data data = Oj.load data new data end |
#resource ⇒ Object
58 59 60 |
# File 'lib/redijson_models.rb', line 58 def resource INFLECTOR.pluralize model_name end |
#update(id, attrs) ⇒ Object
53 54 55 56 |
# File 'lib/redijson_models.rb', line 53 def update(id, attrs) resource = get id resource.update attrs end |