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.



20226
20227
20228
20229
20230
20231
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20226

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.



20224
20225
20226
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20224

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



20224
20225
20226
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20224

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



20237
20238
20239
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20237

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

#to_hashObject



20241
20242
20243
20244
20245
20246
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20241

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

#to_jsonObject



20233
20234
20235
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 20233

def to_json
  JSON.dump(to_hash)
end