Class: Io::Flow::V0::Models::Image

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

Overview

The URL to an image, with optional tags. Flow Commerce primarily uses images to enhance the administrative tools (e.g. showing an item image in console)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ Image

Returns a new instance of Image.



25830
25831
25832
25833
25834
25835
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25830

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:url], 'Image')
  @url = HttpClient::Preconditions.assert_class('url', opts.delete(:url), String)
  @tags = HttpClient::Preconditions.assert_class('tags', (x = opts.delete(:tags); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ImageTag) ? x : ::Io::Flow::V0::Models::ImageTag.apply(x)) }
end

Instance Attribute Details

#tagsObject (readonly)

Returns the value of attribute tags.



25828
25829
25830
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25828

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



25828
25829
25830
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25828

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



25841
25842
25843
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25841

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

#to_hashObject



25845
25846
25847
25848
25849
25850
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25845

def to_hash
  {
    :url => url,
    :tags => tags.map { |o| o.value }
  }
end

#to_jsonObject



25837
25838
25839
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25837

def to_json
  JSON.dump(to_hash)
end