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
- #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
133 134 135 |
# File 'lib/json_model.rb', line 133 def attributes self.class.attributes end |
#destroy ⇒ Object
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
145 146 147 |
# File 'lib/json_model.rb', line 145 def new_record? self.id.nil? end |
#save ⇒ Object
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 |