Sha256: 9816540d69834c8caacd4a5a9bdc9f934b98c2b9222187f2665c3379cd01e390

Contents?: true

Size: 780 Bytes

Versions: 15

Compression:

Stored size: 780 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
      @spot_list = Access::Spot.process_batch(@spot_list) if @spot_list
      @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

15 entries across 15 versions & 1 rubygems

Version Path
access-2.0.41 lib/access/campaign.rb
access-2.0.40 lib/access/campaign.rb
access-2.0.39 lib/access/campaign.rb
access-2.0.38 lib/access/campaign.rb
access-2.0.37 lib/access/campaign.rb
access-2.0.36 lib/access/campaign.rb
access-2.0.34 lib/access/campaign.rb
access-2.0.33 lib/access/campaign.rb
access-2.0.32 lib/access/campaign.rb
access-2.0.31 lib/access/campaign.rb
access-2.0.30 lib/access/campaign.rb
access-2.0.29 lib/access/campaign.rb
access-2.0.28 lib/access/campaign.rb
access-2.0.27 lib/access/campaign.rb
access-2.0.26 lib/access/campaign.rb