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.



26897
26898
26899
26900
26901
26902
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26897

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.



26895
26896
26897
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26895

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



26895
26896
26897
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26895

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



26908
26909
26910
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26908

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

#to_hashObject



26912
26913
26914
26915
26916
26917
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26912

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

#to_jsonObject



26904
26905
26906
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26904

def to_json
  JSON.dump(to_hash)
end