module Access class Redemption def self.search_by_member(member_key, options = {}) Access::Api.new.search_offer_redemptions_by_member member_key, options end def self.find_by_member(member_key, usage_redeem_key, options = {}) Access::Api.new.find_offer_redemptions_by_member member_key, usage_redeem_key, options end def self.process_batch(chunk) chunk.map { |redemption| new(redemption) } 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 @offer = Access::Offer.new(@offer) @member = Access::Member.new(@member) end end end