module Otis::Object

Public Class Methods

included(base) click to toggle source
# File lib/otis/otis_object.rb, line 4
def self.included(base)
  base.extend(ClassExtension)
end
new(attributes = {}) click to toggle source
# File lib/otis/otis_object.rb, line 8
def initialize(attributes = {})
  raise UnexpectedContentError.new("Array received when a hash was expected by class #{self.class}: \n#{@response}") if attributes.is_a?(Array)
  @response = attributes
  @response.each_pair do |k, v|
    m = underscore(k.to_s)
    self.send("#{m}=", v ) if self.respond_to?("#{m}=")
  end
end

Private Instance Methods

underscore(string) click to toggle source
# File lib/otis/otis_object.rb, line 76
def underscore(string)
  string.gsub(/::/, '/').
  gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
  gsub(/([a-z\d])([A-Z])/,'\1_\2').
  tr("-", "_").
  downcase
end