class Anilistrb::AnilistObj

Attributes

attributes[R]
data[R]

Public Class Methods

new(json) click to toggle source
# File lib/Anilistrb/AnilistObj.rb, line 5
def initialize(json)
  @data = json
  @attributes = []
  unless @data.nil?
    @data.each do |var, val|
      snaked = to_snakecase(var)
      self.class.__send__(:attr_accessor, snaked)
      self.__send__("#{snaked}=", val)
      @attributes.push(snaked)
    end
  end
end

Public Instance Methods

to_s() click to toggle source
# File lib/Anilistrb/AnilistObj.rb, line 25
def to_s
  data
end
to_snakecase(str) click to toggle source
# File lib/Anilistrb/AnilistObj.rb, line 18
def to_snakecase(str)
  str.gsub(/::/, '/')
     .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
     .gsub(/([a-z\d])([A-Z])/, '\1_\2')
     .tr('-', '_').downcase
end