class Kintone::Api
Constants
- ACCESSIBLE_COMMAND
- BASE_PATH
- COMMAND
Public Class Methods
new(domain, user, password = nil)
click to toggle source
# File lib/kintone/api.rb, line 20 def initialize(domain, user, password = nil) @connection = Faraday.new(url: "https://#{domain}", headers: build_headers(user, password)) do |builder| builder.request :url_encoded builder.request :multipart builder.response :json, content_type: /\bjson$/ builder.adapter :net_http end end
Public Instance Methods
delete(url, body = nil)
click to toggle source
# File lib/kintone/api.rb, line 70 def delete(url, body = nil) response = @connection.delete do |request| request.url url request.headers['Content-Type'] = 'application/json' request.body = body.to_json end raise Kintone::KintoneError.new(response.body, response.status) if response.status != 200 response.body end
get(url, params = {})
click to toggle source
# File lib/kintone/api.rb, line 38 def get(url, params = {}) response = @connection.get do |request| request.url url request.params = params end raise Kintone::KintoneError.new(response.body, response.status) if response.status != 200 response.body end
get_url(command)
click to toggle source
# File lib/kintone/api.rb, line 30 def get_url(command) BASE_PATH + (COMMAND % command) end
guest(space_id)
click to toggle source
# File lib/kintone/api.rb, line 34 def guest(space_id) Kintone::Api::Guest.new(space_id, self) end
method_missing(name, *args)
click to toggle source
Calls superclass method
# File lib/kintone/api.rb, line 92 def method_missing(name, *args) if ACCESSIBLE_COMMAND.include?(name) CommandAccessor.send(name, self) else super end end
post(url, body)
click to toggle source
# File lib/kintone/api.rb, line 48 def post(url, body) response = @connection.post do |request| request.url url request.headers['Content-Type'] = 'application/json' request.body = body.to_json end raise Kintone::KintoneError.new(response.body, response.status) if response.status != 200 response.body end
post_file(url, path, content_type, original_filename)
click to toggle source
# File lib/kintone/api.rb, line 81 def post_file(url, path, content_type, original_filename) response = @connection.post do |request| request.url url request.headers['Content-Type'] = 'multipart/form-data' request.body = { file: Faraday::UploadIO.new(path, content_type, original_filename) } end raise Kintone::KintoneError.new(response.body, response.status) if response.status != 200 response.body['fileKey'] end
put(url, body)
click to toggle source
# File lib/kintone/api.rb, line 59 def put(url, body) response = @connection.put do |request| request.url url request.headers['Content-Type'] = 'application/json' request.body = body.to_json end raise Kintone::KintoneError.new(response.body, response.status) if response.status != 200 response.body end
respond_to_missing?(name, *args)
click to toggle source
Calls superclass method
# File lib/kintone/api.rb, line 100 def respond_to_missing?(name, *args) ACCESSIBLE_COMMAND.include?(name) || super end
Private Instance Methods
build_headers(user, password)
click to toggle source
# File lib/kintone/api.rb, line 110 def build_headers(user, password) if password # パスワード認証 { 'X-Cybozu-Authorization' => Base64.encode64("#{user}:#{password}") } else # APIトークン認証 { 'X-Cybozu-API-Token' => user } end end