Module: JsonModel
- Defined in:
- lib/json_model.rb,
lib/json_model/version.rb
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- VERSION =
"0.1.2"
Class Method Summary collapse
Instance Method Summary collapse
- #attributes ⇒ Object
- #destroy ⇒ Object
- #initialize(atts = {}) ⇒ Object
- #new_record? ⇒ Boolean
- #save ⇒ Object
- #to_json(*a) ⇒ Object
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
#attributes ⇒ Object
124 125 126 |
# File 'lib/json_model.rb', line 124 def attributes self.class.attributes end |
#destroy ⇒ Object
132 133 134 |
# File 'lib/json_model.rb', line 132 def destroy self.class.send(:destroy, self) end |
#initialize(atts = {}) ⇒ Object
118 119 120 121 122 |
# File 'lib/json_model.rb', line 118 def initialize(atts={}) atts.each do |k,v| instance_variable_set("@#{k}", v) end end |
#new_record? ⇒ Boolean
136 137 138 |
# File 'lib/json_model.rb', line 136 def new_record? self.id.nil? end |
#save ⇒ Object
128 129 130 |
# File 'lib/json_model.rb', line 128 def save self.class.send(:save, self) end |
#to_json(*a) ⇒ Object
140 141 142 143 144 145 146 147 |
# File 'lib/json_model.rb', line 140 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 |