Sha256: 9f97372373d21bad10cf36f98506916a8eb2944825394d8b3147297a91da0a8a

Contents?: true

Size: 912 Bytes

Versions: 8

Compression:

Stored size: 912 Bytes

Contents

module Access
  class Campaign

    def self.search(options = {})
      Access::Api.new.search_campaigns options
    end

    def self.find(campaign_key, options = {})
      Access::Api.new.find_campaign campaign_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
      @spots = Access::Spot.process_batch(@spots) if @spots
      @spot_list = Access::Spot.process_batch(@spot_list) if @spot_list
      @channels = Access::Channel.process_batch(@channels) if @channels
      @channel_list = Access::Channel.process_batch(@channel_list) if @channel_list
      @links = Access::Link.process_batch(@links) if @links
    end

  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
access-2.0.50 lib/access/campaign.rb
access-2.0.49 lib/access/campaign.rb
access-2.0.48 lib/access/campaign.rb
access-2.0.47 lib/access/campaign.rb
access-2.0.46 lib/access/campaign.rb
access-2.0.44 lib/access/campaign.rb
access-2.0.43 lib/access/campaign.rb
access-2.0.42 lib/access/campaign.rb