class NounProjectApi::BaseItem

A basis to Items returned by the noun project.

Constants

ITEM_NAME

Attributes

original_hash[RW]

Public Class Methods

new(origin) click to toggle source
# File lib/noun_project_api/base_item.rb, line 10
def initialize(origin)
  raise NotImplementedError, "Must use a subclass" if self.class::ITEM_NAME.nil?

  origin = JSON.parse(origin, symbolize_names: true) if origin.is_a? String
  if origin.key? self.class::ITEM_NAME
    origin = origin.delete(
      self.class::ITEM_NAME
    )
  end

  @original_hash = origin
end

Public Instance Methods

id() click to toggle source
# File lib/noun_project_api/base_item.rb, line 23
def id
  original_hash[:id].to_i
end
to_json(*_args) click to toggle source
# File lib/noun_project_api/base_item.rb, line 27
def to_json(*_args)
  JSON.dump(to_hash)
end