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.



23702
23703
23704
23705
23706
23707
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23702

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.



23700
23701
23702
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23700

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



23700
23701
23702
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23700

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



23713
23714
23715
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23713

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

#to_hashObject



23717
23718
23719
23720
23721
23722
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23717

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

#to_jsonObject



23709
23710
23711
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23709

def to_json
  JSON.dump(to_hash)
end