class Linodians::Employee

Employee object

Public Class Methods

new(params = {}) click to toggle source
# File lib/linodians/employee.rb, line 8
def initialize(params = {})
  @data = Cymbal.symbolize params
  @data.freeze
end

Public Instance Methods

[](value) click to toggle source
# File lib/linodians/employee.rb, line 20
def [](value)
  @data[value.to_sym]
end
photo() click to toggle source
# File lib/linodians/employee.rb, line 13
def photo
  @photo ||= open( # rubocop:disable Security/Open
    PHOTO_URL % username,
    &:read
  )
end
respond_to_missing?(method, _ = false) click to toggle source
Calls superclass method
# File lib/linodians/employee.rb, line 28
def respond_to_missing?(method, _ = false)
  @data.key?(method) || super
end
to_h() click to toggle source
# File lib/linodians/employee.rb, line 32
def to_h
  @data.dup
end
to_json(*args, &block) click to toggle source
# File lib/linodians/employee.rb, line 24
def to_json(*args, &block)
  @data.to_json(*args, &block)
end

Private Instance Methods

method_missing(method, *args, &block) click to toggle source
Calls superclass method
# File lib/linodians/employee.rb, line 38
def method_missing(method, *args, &block)
  return super unless @data.key?(method)
  define_singleton_method(method) { @data[method] }
  send(method)
end