Sha256: 524475f508c62fd3f9f6421990bcf727eec1acd880c6c0e528c47eeefc7845a3
Contents?: true
Size: 911 Bytes
Versions: 1
Compression:
Stored size: 911 Bytes
Contents
require "rexpense/request" require "rexpense/response" module Rexpense class Client attr_reader :http def initialize(token) @http = Http.new(token) end def authenticated? http.get("/organizations") { |response| response.code == 200 } rescue RequestError => e raise e unless [401, 403].include?(e.code) false end # Define available endpoints def activities Rexpense::Resources::Activity.new(http) end def advancement_devolutions Rexpense::Resources::AdvancementDevolution.new(http) end def pre_expenses Rexpense::Resources::PreExpense.new(http) end %w(organization expense advancement reimbursement tag webhook membership comment user).each do |endpoint| define_method(endpoint + 's') do Object.const_get("Rexpense::Resources::#{endpoint.capitalize}").new(http) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rexpense-1.0.0 | lib/rexpense/client.rb |