require 'pinnacle/error' require 'pinnacle/version' module Pinnacle module_function class DatumModel attr_accessor :attrs alias :to_hash :attrs # Define methods that retrieve the value from an initialized instance variable Hash, using the attribute as a key # # @overload self.lazy_attr_reader(attr) # @param attr [Symbol] # @overload self.lazy_attr_reader(attrs) # @param attrs [Array] def self.lazy_attr_reader(*attrs) attrs.each do |attribute| class_eval do define_method attribute do @attrs[attribute.to_s] || @attrs[attribute.to_sym] end end end end # Initializes a new Base object # # @param attrs [Hash] # @return [DatumModel] def initialize(attrs={}) @attrs = attrs.dup end end end require 'api'