Module: JsonModel

Defined in:
lib/json_model.rb,
lib/json_model/version.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

VERSION =
"0.1.3"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



7
8
9
10
11
# File 'lib/json_model.rb', line 7

def self.included(base)
  base.extend ClassMethods

  base.send(:field, :id)
end

Instance Method Details

#attributesObject



133
134
135
# File 'lib/json_model.rb', line 133

def attributes
  self.class.attributes
end

#destroyObject



141
142
143
# File 'lib/json_model.rb', line 141

def destroy
  self.class.send(:destroy, self)
end

#initialize(atts = {}) ⇒ Object



127
128
129
130
131
# File 'lib/json_model.rb', line 127

def initialize(atts={})
  atts.each do |k,v|
    instance_variable_set("@#{k}", v)
  end
end

#new_record?Boolean

Returns:

  • (Boolean)


145
146
147
# File 'lib/json_model.rb', line 145

def new_record?
  self.id.nil?
end

#saveObject



137
138
139
# File 'lib/json_model.rb', line 137

def save
  self.class.send(:save, self)
end

#to_json(*a) ⇒ Object



149
150
151
152
153
154
155
156
# File 'lib/json_model.rb', line 149

def to_json(*a)
    hash = {}
    self.instance_variables.each do |var|
        key = var.to_s.delete '@'
        hash[key] = self.instance_variable_get var
    end
    hash.to_json(*a)
end