lib/sklik-api/sklik_object.rb in sklik-api-0.0.14 vs lib/sklik-api/sklik_object.rb in sklik-api-0.0.15

- old
+ new

@@ -1,19 +1,19 @@ # -*- encoding : utf-8 -*- class SklikApi module Object - def self.included(base) - base.send :extend, ClassMethods - base.send :include, InstanceMethods + def self.included(base) + base.send :extend, ClassMethods + base.send :include, InstanceMethods end - + module ClassMethods - + def connection SklikApi::Connection.connection end - + def find name, id = nil if id args = ["list#{name.pluralize.camelize}", id] else args = ["list#{name.pluralize.camelize}"] @@ -21,11 +21,11 @@ return connection.call(*args) { |param| #return list of all objects param[name.pluralize.to_sym].collect{|c| c.symbolize_keys } } end - end + end module InstanceMethods #get connection for request def connection SklikApi::Connection.connection @@ -37,26 +37,26 @@ end def args @args end - + def restore - begin - connection.call("#{self.class::NAME}.restore", @args[:campaign_id] ) { |param| true } + begin + connection.call("#{self.class::NAME}.restore", @args["#{self.class.to_s.downcase.split(":").last}_id".to_sym] ) { |param| true } rescue Exception => e - # if there is a problem but returned Not removed + # if there is a problem but returned Not removed # return true, becasue it says it is restored - return true if e.message == "Rescuing from request by: ArgumentError - There is error from sklik campaign.restore: Not removed" + return true if e.message == "Rescuing from request by: ArgumentError - There is error from sklik #{self.class.to_s.downcase}.restore: Not removed" raise e end end - + def remove - connection.call("#{self.class::NAME}.remove", @args[:campaign_id] ) { |param| true } + connection.call("#{self.class::NAME}.remove", @args["#{self.class.to_s.downcase.split(":").last}_id".to_sym] ) { |param| true } end - + def create out = connection.call("#{self.class::NAME}.create", *create_args ) { |param| param["#{self.class::NAME}Id".to_sym] } @args["#{self.class.to_s.downcase.split(":").last}_id".to_sym] = out @@ -68,20 +68,20 @@ end def stats @stats ||= {} end - + def get_stats from, to @stats ||= connection.call("#{self.class::NAME}.stats", @args["#{self.class.name.to_s.split("::").last.underscore}_id".to_sym], from, to ) { |param| {:fulltext => underscore_hash_keys(param[:fulltext]), :context => underscore_hash_keys(param[:context]) } } end - + def update_object out = connection.call("#{self.class::NAME}.setAttributes", *update_args ) { |param| true } end - + def create_args raise(NoMethodError, "Please implement 'create_args' method in class: #{self.class} - should return array which will be placed into create method") end def update_args