class ReisbalansHR::Resources
Attributes
oauth2_client[R]
path[R]
Public Class Methods
new(oauth2_client, path)
click to toggle source
# File lib/reisbalans_hr/resources.rb, line 5 def initialize(oauth2_client, path) @oauth2_client = oauth2_client @path = path end
Public Instance Methods
create(params, &block)
click to toggle source
# File lib/reisbalans_hr/resources.rb, line 18 def create(params, &block) post base_url, {body: params}, &block end
index()
click to toggle source
# File lib/reisbalans_hr/resources.rb, line 10 def index get base_url end
show(id)
click to toggle source
# File lib/reisbalans_hr/resources.rb, line 14 def show(id) get [base_url, id].join('/') end
update(id, params, &block)
click to toggle source
# File lib/reisbalans_hr/resources.rb, line 22 def update(id, params, &block) put [base_url, id].join('/'), {body: params}, &block end
Private Instance Methods
access_token()
click to toggle source
# File lib/reisbalans_hr/resources.rb, line 28 def access_token oauth2_client.client_credentials.get_token('scope' => 'hr') end
assert_status_code!(response, code)
click to toggle source
# File lib/reisbalans_hr/resources.rb, line 54 def assert_status_code!(response, code) fail "Expected status code #{code}, but got: #{response.inspect}" unless response.status == code end
base_url()
click to toggle source
# File lib/reisbalans_hr/resources.rb, line 50 def base_url "/api/hr#{path}" end
get(url)
click to toggle source
# File lib/reisbalans_hr/resources.rb, line 32 def get(url) response = access_token.get(url) assert_status_code!(response, 200) JSON.parse(response.body) end
post(url, opts) { |response| ... }
click to toggle source
# File lib/reisbalans_hr/resources.rb, line 38 def post(url, opts, &_block) response = access_token.post(url, opts) yield response if block_given? assert_status_code!(response, 204) end
put(url, opts) { |response| ... }
click to toggle source
# File lib/reisbalans_hr/resources.rb, line 44 def put(url, opts, &_block) response = access_token.put(url, opts) yield response if block_given? assert_status_code!(response, 204) end
resource_name()
click to toggle source
# File lib/reisbalans_hr/resources.rb, line 58 def resource_name self.class.name.demodulize.underscore.humanize.downcase end