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".freeze
ITEM_NAME =
"icon".freeze

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



22
23
24
25
26
27
28
# File 'lib/noun-project-api/icon.rb', line 22

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)


14
15
16
# File 'lib/noun-project-api/icon.rb', line 14

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

#svg_urlObject



18
19
20
# File 'lib/noun-project-api/icon.rb', line 18

def svg_url
  original_hash["icon_url"]
end

#to_hashObject



30
31
32
33
34
35
36
37
# File 'lib/noun-project-api/icon.rb', line 30

def to_hash
  {
    id: 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