Class: NounProjectApi::Icon

Inherits:
BaseItem show all
Defined in:
lib/noun_project_api/icon.rb

Overview

A single Icon as an abstracted ruby object.

Constant Summary collapse

PREVIEW_SIZE_200 =
200
PREVIEW_SIZE_42 =
42
PREVIEW_SIZE_84 =
84
PUBLIC_DOMAIN_LICENSE =
"public-domain"
ITEM_NAME =
:icon

Instance Attribute Summary

Attributes inherited from BaseItem

#original_hash

Instance Method Summary collapse

Methods inherited from BaseItem

#id, #initialize, #to_json

Constructor Details

This class inherits a constructor from NounProjectApi::BaseItem

Instance Method Details

#preview_url(size = PREVIEW_SIZE_200) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/noun_project_api/icon.rb', line 24

def preview_url(size = PREVIEW_SIZE_200)
  if size == PREVIEW_SIZE_200
    original_hash[:preview_url]
  else
    original_hash[:"preview_url_#{size}"]
  end
end

#public_domain?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/noun_project_api/icon.rb', line 16

def public_domain?
  original_hash[:license_description] == PUBLIC_DOMAIN_LICENSE
end

#svg_urlObject



20
21
22
# File 'lib/noun_project_api/icon.rb', line 20

def svg_url
  original_hash[:icon_url]
end

#to_hashObject



32
33
34
35
36
37
38
39
# File 'lib/noun_project_api/icon.rb', line 32

def to_hash
  {
    id:,
    preview_url_200: preview_url(PREVIEW_SIZE_200),
    preview_url_84: preview_url(PREVIEW_SIZE_84),
    preview_url_42: preview_url(PREVIEW_SIZE_42)
  }
end