module Access class Channel def self.search(options = {}) Access::Api.new.search_channels options end def self.find(channel_key, options = {}) Access::Api.new.find_channel channel_key, options end def self.process_batch(chunk) chunk.map { |campaign| new(campaign) } end def initialize(values) self.class.class_eval {attr_reader *values.keys } values.each do |attribute_name, attribute_value| self.instance_variable_set("@#{attribute_name}", attribute_value) end @links = Access::Link.process_batch(@links) if @links end end end