Sha256: d901548ed9cd9db6273492cc8e183448cdb4ae5ea3332a8b467955fa2a5fe96e
Contents?: true
Size: 1.23 KB
Versions: 1
Compression:
Stored size: 1.23 KB
Contents
require 'json' require 'faraday' require "quandora/version" require "quandora/configuration" # api calls require "quandora/request" require "quandora/activity" require "quandora/answer" require "quandora/badges" require "quandora/bases" require "quandora/comment" require "quandora/end_points" require "quandora/question" require "quandora/report" require "quandora/tag" require "quandora/users" module Quandora class Error < StandardError; end class << self attr_accessor :configuration def configuration @configuration ||= Configuration.new end def configure yield(configuration) end [ :activity, :question, :badges, :bases, :end_points, :report, :users ].each do |api| define_method :"#{api}" do |args = {}| @conn = Faraday.new(url: configuration.url) do |conn| conn.adapter Faraday.default_adapter # make requests with Net::HTTP conn.set_basic_auth(configuration.username, configuration.password) end args = args.stringify_keys find_api(api).new(@conn, api, args) end end def find_api(api) class_name = api.to_s.split('_').collect(&:capitalize).join Object.const_get("Quandora::#{class_name}") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
quandora-0.3.0 | lib/quandora.rb |