Sha256: 71942a51b6848624637f6ff6aae62ae4792868c162e08066a99aa98b82f8f1fb
Contents?: true
Size: 714 Bytes
Versions: 1
Compression:
Stored size: 714 Bytes
Contents
require 'open-uri' require 'cymbal' module Linodians ## # Employee object class Employee def initialize(params = {}) @data = Cymbal.symbolize params @data.freeze end def photo @photo ||= open(PHOTO_URL % username, &:read) end def [](value) @data[value.to_sym] end def to_json(*args, &block) @data.to_json(*args, &block) end def respond_to?(method, _ = false) @data.key?(method) || super end def to_h @data.dup end private def method_missing(method, *args, &block) return super unless @data.key?(method) define_singleton_method(method) { @data[method] } send(method) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
linodians-1.0.1 | lib/linodians/employee.rb |