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