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.



21030
21031
21032
21033
21034
21035
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21030

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.



21028
21029
21030
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21028

def tags
  @tags
end

#urlObject (readonly)

Returns the value of attribute url.



21028
21029
21030
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21028

def url
  @url
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



21041
21042
21043
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21041

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

#to_hashObject



21045
21046
21047
21048
21049
21050
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21045

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

#to_jsonObject



21037
21038
21039
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21037

def to_json
  JSON.dump(to_hash)
end