class SupremeGolf::Base

Public Class Methods

find(id) click to toggle source
# File lib/supreme_golf/base.rb, line 14
def self.find id
  response = self.response_from_api "#{self::API_URLS[:find]}/#{id}"
  key = self.name.split('::').last.to_s.gsub(/(.)([A-Z])/, '\1_\2').downcase

  raise 'RecordNotFound' unless response[key]
  new(response[key])
end
new(attributes = {}) click to toggle source
# File lib/supreme_golf/base.rb, line 3
def initialize attributes = {}
  (self.class::ATTRS.map(&:to_s) & attributes.keys).each do |attr|
    self.send("#{attr}=", attributes[attr])
  end
end
response_from_api(url, params = {}) click to toggle source
# File lib/supreme_golf/base.rb, line 9
def self.response_from_api url, params = {}
  conn = Faraday.get url, params, SupremeGolf.configuration.http_headers
  JSON.parse(conn.body)
end