class Lipstick::Api::Response
Constants
- CODES
Attributes
code[R]
message[R]
Public Class Methods
csv_field(*args)
click to toggle source
# File lib/lipstick/api/response.rb, line 110 def csv_field(*args) @csv_fields ||= [] @csv_fields = @csv_fields + args end
int_csv_field(*args)
click to toggle source
# File lib/lipstick/api/response.rb, line 114 def int_csv_field(*args) @int_csv_fields ||= [] @int_csv_fields = @int_csv_fields + args end
new(resp)
click to toggle source
# File lib/lipstick/api/response.rb, line 120 def initialize(resp) @code = resp.delete(:response_code).to_i @message = CODES[@code] if @code == 100 self.class.csv_field.each do |key| resp[key] = CSV.parse_line(resp[key]) end self.class.int_csv_field.each do |key| resp[key] = CSV.parse_line(resp[key]).map(&:to_i) end end if !resp.empty? resp.each do |att, val| self.class.__send__(:attr_accessor, att) self.__send__("#{att}=", val) end end end
Public Instance Methods
underscore(camel_cased_word)
click to toggle source
partly copied from activesupport/inflector
# File lib/lipstick/api/response.rb, line 142 def underscore(camel_cased_word) word = camel_cased_word.to_s.dup word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2') word.gsub!(/([a-z\d])([A-Z])/,'\1_\2') word.tr!("-", "_") word.tr!("[", "_") word.tr!("]", "") word.downcase! word end