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.



25084
25085
25086
25087
25088
25089
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25084

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.



25082
25083
25084
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25082

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



25082
25083
25084
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25082

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



25095
25096
25097
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25095

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

#to_hashObject



25099
25100
25101
25102
25103
25104
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25099

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

#to_jsonObject



25091
25092
25093
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25091

def to_json
  JSON.dump(to_hash)
end