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.



28050
28051
28052
28053
28054
28055
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28050

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.



28048
28049
28050
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28048

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



28048
28049
28050
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28048

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



28061
28062
28063
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28061

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

#to_hashObject



28065
28066
28067
28068
28069
28070
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28065

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

#to_jsonObject



28057
28058
28059
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28057

def to_json
  JSON.dump(to_hash)
end