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.



45375
45376
45377
45378
45379
45380
45381
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 45375

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.



45373
45374
45375
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 45373

def attributes
  @attributes
end

#tagsObject (readonly)

Returns the value of attribute tags.



45373
45374
45375
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 45373

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



45373
45374
45375
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 45373

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



45387
45388
45389
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 45387

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

#to_hashObject



45391
45392
45393
45394
45395
45396
45397
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 45391

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

#to_jsonObject



45383
45384
45385
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 45383

def to_json
  JSON.dump(to_hash)
end