Class: Bring::Tracking::ApiClass

Inherits:
Object
  • Object
show all
Defined in:
lib/bring/tracking.rb

Direct Known Subclasses

Address, Consignment, Definition, Event, Package

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ ApiClass

Returns a new instance of ApiClass.

Raises:



16
17
18
19
# File 'lib/bring/tracking.rb', line 16

def initialize(data)
  @data = data
  raise(Error, error_message) if has_errors?
end

Class Method Details

.attribute(name) ⇒ Object



30
31
32
33
34
# File 'lib/bring/tracking.rb', line 30

def self.attribute(name)
  define_method name do
    data[camelize(name)]
  end
end

Instance Method Details

#error_messageObject



25
26
27
# File 'lib/bring/tracking.rb', line 25

def error_message
  "#{data['error']['message']} (#{data['error']['code']})"
end

#has_errors?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/bring/tracking.rb', line 21

def has_errors?
  !data['error'].nil?
end