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.



26438
26439
26440
26441
26442
26443
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26438

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)) }
end

Instance Attribute Details

#tagsObject (readonly)

Returns the value of attribute tags.



26436
26437
26438
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26436

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



26436
26437
26438
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26436

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



26449
26450
26451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26449

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

#to_hashObject



26453
26454
26455
26456
26457
26458
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26453

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

#to_jsonObject



26445
26446
26447
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26445

def to_json
  JSON.dump(to_hash)
end