Class: GcalMapper::Mapper::Simple::Simple
- Inherits:
-
Object
- Object
- GcalMapper::Mapper::Simple::Simple
- Defined in:
- lib/gcal_mapper/mapper/simple.rb
Overview
Adapter to use without an orm
Instance Attribute Summary collapse
-
#events ⇒ Object
readonly
array of the synchronized events.
Instance Method Summary collapse
-
#create!(attributes) ⇒ Object
create and save object using attributes.
-
#delete!(id) ⇒ Object
delet an object.
-
#find_all ⇒ Object
Find all models.
-
#find_by(field, value) ⇒ Object
find an object from a field and a value.
-
#initialize(base) ⇒ Simple
constructor
new object.
-
#update!(id, attributes) ⇒ Object
update an object.
Constructor Details
#initialize(base) ⇒ Simple
new object
26 27 28 29 |
# File 'lib/gcal_mapper/mapper/simple.rb', line 26 def initialize(base) @base = base @events = [] end |
Instance Attribute Details
#events ⇒ Object (readonly)
array of the synchronized events
21 22 23 |
# File 'lib/gcal_mapper/mapper/simple.rb', line 21 def events @events end |
Instance Method Details
#create!(attributes) ⇒ Object
create and save object using attributes
34 35 36 37 38 39 40 41 42 |
# File 'lib/gcal_mapper/mapper/simple.rb', line 34 def create!(attributes) obj = @base.new obj.id = @events.count attributes.each do |key, value| obj.send(key+'=', value) end @events << obj end |
#delete!(id) ⇒ Object
delet an object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/gcal_mapper/mapper/simple.rb', line 60 def delete!(id) @events[id] = nil @events.each_with_index do |item, index| if item if @events[index + 1] item = @events[index + 1] item.id =- 1 end end end @events.delete(nil) end |
#find_all ⇒ Object
Find all models
77 78 79 |
# File 'lib/gcal_mapper/mapper/simple.rb', line 77 def find_all @events end |
#find_by(field, value) ⇒ Object
find an object from a field and a value
85 86 87 88 89 90 91 92 |
# File 'lib/gcal_mapper/mapper/simple.rb', line 85 def find_by(field, value) find_event = nil @events.each do |event| find_event = event if event.send(field) == value end find_event end |
#update!(id, attributes) ⇒ Object
update an object
48 49 50 51 52 53 54 55 |
# File 'lib/gcal_mapper/mapper/simple.rb', line 48 def update!(id, attributes) obj = @events[id] attributes.each do |key, value| obj.send(key+'=', value) end @events << obj end |