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.



34133
34134
34135
34136
34137
34138
34139
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34133

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.



34131
34132
34133
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34131

def attributes
  @attributes
end

#tagsObject (readonly)

Returns the value of attribute tags.



34131
34132
34133
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34131

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



34131
34132
34133
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34131

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



34145
34146
34147
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34145

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

#to_hashObject



34149
34150
34151
34152
34153
34154
34155
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34149

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

#to_jsonObject



34141
34142
34143
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34141

def to_json
  JSON.dump(to_hash)
end