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.



40306
40307
40308
40309
40310
40311
40312
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40306

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.



40304
40305
40306
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40304

def attributes
  @attributes
end

#tagsObject (readonly)

Returns the value of attribute tags.



40304
40305
40306
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40304

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



40304
40305
40306
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40304

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



40318
40319
40320
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40318

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

#to_hashObject



40322
40323
40324
40325
40326
40327
40328
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40322

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

#to_jsonObject



40314
40315
40316
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 40314

def to_json
  JSON.dump(to_hash)
end