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.



30594
30595
30596
30597
30598
30599
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30594

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.



30592
30593
30594
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30592

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



30592
30593
30594
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30592

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



30605
30606
30607
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30605

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

#to_hashObject



30609
30610
30611
30612
30613
30614
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30609

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

#to_jsonObject



30601
30602
30603
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30601

def to_json
  JSON.dump(to_hash)
end