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



13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13245

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.



13243
13244
13245
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13243

def experience_feed_summaries
  @experience_feed_summaries
end

#feed_statistics_summaryObject (readonly)

Returns the value of attribute feed_statistics_summary.



13243
13244
13245
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13243

def feed_statistics_summary
  @feed_statistics_summary
end

#idObject (readonly)

Returns the value of attribute id.



13243
13244
13245
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13243

def id
  @id
end

#incoming_feedObject (readonly)

Returns the value of attribute incoming_feed.



13243
13244
13245
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13243

def incoming_feed
  @incoming_feed
end

#outgoing_feedObject (readonly)

Returns the value of attribute outgoing_feed.



13243
13244
13245
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13243

def outgoing_feed
  @outgoing_feed
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



13260
13261
13262
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13260

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

#subtype_to_hashObject



13264
13265
13266
13267
13268
13269
13270
13271
13272
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13264

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



13256
13257
13258
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13256

def to_json
  JSON.dump(to_hash)
end