class Cinii::Client::Base
Public Class Methods
new(app_id: nil)
click to toggle source
# File lib/cinii/client/base.rb, line 8 def initialize(app_id: nil) @app_id = app_id end
Public Instance Methods
has_required_params?(params, required_keys)
click to toggle source
# File lib/cinii/client/base.rb, line 16 def has_required_params?(params, required_keys) !!required_keys.find { |p| params[p] } end
send_get(path, params = nil)
click to toggle source
# File lib/cinii/client/base.rb, line 12 def send_get(path, params = nil) send_request(:get, path, params) end
Private Instance Methods
app_id()
click to toggle source
# File lib/cinii/client/base.rb, line 65 def app_id @app_id || ENV['CINII_APP_ID'] end
cinii_connection()
click to toggle source
# File lib/cinii/client/base.rb, line 29 def cinii_connection @cinii_connection ||= Faraday.new(faraday_options) do |con| con.request :json con.response :json con.response :logger do | logger | logger.filter(/(appid=)(\w+)/,'\1[REMOVED]') end con.adapter Faraday.default_adapter end end
default_params()
click to toggle source
# File lib/cinii/client/base.rb, line 40 def default_params { appid: app_id, format: 'json' } end
faraday_headers()
click to toggle source
# File lib/cinii/client/base.rb, line 58 def faraday_headers { 'Accept' => 'application/json', 'User-Agent' => "Cinii Ruby Gem #{Cinii::VERSION}" } end
faraday_options()
click to toggle source
# File lib/cinii/client/base.rb, line 47 def faraday_options { url: faraday_url, headers: faraday_headers } end
faraday_url()
click to toggle source
# File lib/cinii/client/base.rb, line 54 def faraday_url 'https://ci.nii.ac.jp' end
send_request(method, path, params = nil)
click to toggle source
# File lib/cinii/client/base.rb, line 22 def send_request(method, path, params = nil) params = params ? default_params.merge(params) : default_params response = cinii_connection.send(method, path, params) raise RemoteURLNotAvailableError, "#{path} is not available." unless response.status == 200 response end