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.



34658
34659
34660
34661
34662
34663
34664
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34658

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.



34656
34657
34658
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34656

def attributes
  @attributes
end

#tagsObject (readonly)

Returns the value of attribute tags.



34656
34657
34658
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34656

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



34656
34657
34658
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34656

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



34670
34671
34672
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34670

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

#to_hashObject



34674
34675
34676
34677
34678
34679
34680
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34674

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

#to_jsonObject



34666
34667
34668
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34666

def to_json
  JSON.dump(to_hash)
end