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.



20711
20712
20713
20714
20715
20716
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20711

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.



20709
20710
20711
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20709

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



20709
20710
20711
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20709

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



20722
20723
20724
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20722

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

#to_hashObject



20726
20727
20728
20729
20730
20731
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20726

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

#to_jsonObject



20718
20719
20720
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20718

def to_json
  JSON.dump(to_hash)
end