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.



34801
34802
34803
34804
34805
34806
34807
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34801

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.



34799
34800
34801
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34799

def attributes
  @attributes
end

#tagsObject (readonly)

Returns the value of attribute tags.



34799
34800
34801
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34799

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



34799
34800
34801
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34799

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



34813
34814
34815
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34813

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

#to_hashObject



34817
34818
34819
34820
34821
34822
34823
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34817

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

#to_jsonObject



34809
34810
34811
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34809

def to_json
  JSON.dump(to_hash)
end