Class: PPT::DB::Entity

Inherits:
Object
  • Object
show all
Defined in:
lib/simple-orm/db.rb

Direct Known Subclasses

Developer, Story, User

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(values) ⇒ Entity

Returns a new instance of Entity.



16
17
18
19
# File 'lib/simple-orm/db.rb', line 16

def initialize(values)
  @presenter = self.class.presenter.new(values)
  @is_new_record = true
end

Instance Attribute Details

#presenterObject (readonly)

Returns the value of attribute presenter.



15
16
17
# File 'lib/simple-orm/db.rb', line 15

def presenter
  @presenter
end

Class Method Details

.presenter(klass = nil) ⇒ Object



11
12
13
# File 'lib/simple-orm/db.rb', line 11

def self.presenter(klass = nil)
  @presenter ||= klass
end

Instance Method Details

#new_record?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/simple-orm/db.rb', line 21

def new_record?
  @is_new_record
end

#saveObject



29
30
31
32
33
34
# File 'lib/simple-orm/db.rb', line 29

def save
  stage = self.new_record? ? :create : :update
  self.values(stage).each do |key, value|
    PPT::DB.redis.hset(self.key, key, value)
  end
end

#values(stage = nil) ⇒ Object



25
26
27
# File 'lib/simple-orm/db.rb', line 25

def values(stage = nil)
  @presenter.values(stage)
end