lib/siteleaf/entity.rb in siteleaf-0.9.14 vs lib/siteleaf/entity.rb in siteleaf-0.9.15

- old
+ new

@@ -1,26 +1,26 @@ module Siteleaf class Entity - + def initialize(attributes = {}) - self.attributes = attributes + self.attributes = attributes end - + def self.all result = Client.get "#{self.endpoint}" result.map { |r| self.new(r) } if result end - + def self.find(id) result = Client.get "#{self.endpoint}/#{id}" self.new(result) if result end - + def self.create(attributes = {}) self.new(attributes).save end - + def save if self.id result = Client.put "#{self.class.endpoint}/#{self.id}", self.attributes else result = Client.post "#{self.create_endpoint}", self.attributes @@ -28,36 +28,36 @@ if result self.attributes = result return self end end - + def self.delete(id) Client.delete "#{self.endpoint}/#{id}" end - + def delete Client.delete "#{self.class.endpoint}/#{self.id}" end - + def attributes Hash[self.instance_variables.map { |name| [name[1..-1], self.instance_variable_get(name)] }] end - + def attributes=(attributes = {}) attributes.each_pair { |k, v| self.instance_variable_set("@#{k}", v) } end - + def self.class_name self.name.split('::')[-1] end - + def self.endpoint "#{self.class_name.downcase}s" end - + def create_endpoint self.class.endpoint end - + end -end \ No newline at end of file +end