Class: Io::Flow::V0::Models::CatalogFeed

Inherits:
Feed
  • Object
show all
Defined in:
lib/flow_commerce/flow_api_v0_client.rb

Overview

Describes a catalog feed.

Instance Attribute Summary collapse

Attributes inherited from Feed

#discriminator

Instance Method Summary collapse

Methods inherited from Feed

from_json, #to_hash

Constructor Details

#initialize(incoming = {}) ⇒ CatalogFeed

Returns a new instance of CatalogFeed.



20306
20307
20308
20309
20310
20311
20312
20313
20314
20315
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20306

def initialize(incoming={})
  super(:discriminator => Feed::Types::CATALOG_FEED)
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:id, :experience_feed_summaries, :incoming_feed, :outgoing_feed, :feed_statistics_summary], 'CatalogFeed')
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
  @experience_feed_summaries = HttpClient::Preconditions.assert_class('experience_feed_summaries', opts.delete(:experience_feed_summaries), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ExperienceFeedSummary) ? x : ::Io::Flow::V0::Models::ExperienceFeedSummary.new(x)) }
  @incoming_feed = (x = opts.delete(:incoming_feed); x.is_a?(::Io::Flow::V0::Models::IncomingFeed) ? x : ::Io::Flow::V0::Models::IncomingFeed.new(x))
  @outgoing_feed = (x = opts.delete(:outgoing_feed); x.is_a?(::Io::Flow::V0::Models::OutgoingFeed) ? x : ::Io::Flow::V0::Models::OutgoingFeed.new(x))
  @feed_statistics_summary = (x = opts.delete(:feed_statistics_summary); x.is_a?(::Io::Flow::V0::Models::FeedStatisticsSummary) ? x : ::Io::Flow::V0::Models::FeedStatisticsSummary.new(x))
end

Instance Attribute Details

#experience_feed_summariesObject (readonly)

Returns the value of attribute experience_feed_summaries.



20304
20305
20306
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20304

def experience_feed_summaries
  @experience_feed_summaries
end

#feed_statistics_summaryObject (readonly)

Returns the value of attribute feed_statistics_summary.



20304
20305
20306
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20304

def feed_statistics_summary
  @feed_statistics_summary
end

#idObject (readonly)

Returns the value of attribute id.



20304
20305
20306
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20304

def id
  @id
end

#incoming_feedObject (readonly)

Returns the value of attribute incoming_feed.



20304
20305
20306
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20304

def incoming_feed
  @incoming_feed
end

#outgoing_feedObject (readonly)

Returns the value of attribute outgoing_feed.



20304
20305
20306
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20304

def outgoing_feed
  @outgoing_feed
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



20321
20322
20323
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20321

def copy(incoming={})
  CatalogFeed.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
end

#subtype_to_hashObject



20325
20326
20327
20328
20329
20330
20331
20332
20333
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20325

def subtype_to_hash
  {
    :id => id,
    :experience_feed_summaries => experience_feed_summaries.map { |o| o.to_hash },
    :incoming_feed => incoming_feed.to_hash,
    :outgoing_feed => outgoing_feed.to_hash,
    :feed_statistics_summary => feed_statistics_summary.to_hash
  }
end

#to_jsonObject



20317
20318
20319
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20317

def to_json
  JSON.dump(to_hash)
end