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.



34752
34753
34754
34755
34756
34757
34758
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34752

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)) }
  @attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h })
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



34750
34751
34752
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34750

def attributes
  @attributes
end

#tagsObject (readonly)

Returns the value of attribute tags.



34750
34751
34752
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34750

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



34750
34751
34752
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34750

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



34764
34765
34766
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34764

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

#to_hashObject



34768
34769
34770
34771
34772
34773
34774
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34768

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

#to_jsonObject



34760
34761
34762
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34760

def to_json
  JSON.dump(to_hash)
end