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.



34029
34030
34031
34032
34033
34034
34035
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34029

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)) }
  @attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h })
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



34027
34028
34029
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34027

def attributes
  @attributes
end

#tagsObject (readonly)

Returns the value of attribute tags.



34027
34028
34029
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34027

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



34027
34028
34029
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34027

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



34041
34042
34043
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34041

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

#to_hashObject



34045
34046
34047
34048
34049
34050
34051
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34045

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

#to_jsonObject



34037
34038
34039
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 34037

def to_json
  JSON.dump(to_hash)
end