class Bonita::Client
Attributes
password[R]
redirect_url[R]
tenant[R]
url[R]
username[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/bonita/client.rb, line 55 def initialize(options = {}) @url = options[:url] @username = options[:username] @password = options[:password] @tenant = options[:tenant] end
resources()
click to toggle source
# File lib/bonita/client.rb, line 7 def resources { customuserinfo: { definitions: Customuserinfo::DefinitionResource, users: Customuserinfo::UserResource, values: Customuserinfo::ValueResource, }, bpm: { processes: Bpm::ProcessResource, }, identity: { groups: Identity::GroupResource, memberships: Identity::MembershipResource, roles: Identity::RoleResource, users: Identity::UserResource, }, } end
start(options = {}) { |client| ... }
click to toggle source
# File lib/bonita/client.rb, line 26 def start(options = {}) client = new(options) client.login yield(client) ensure client.logout end
Public Instance Methods
connection()
click to toggle source
# File lib/bonita/client.rb, line 81 def connection @faraday ||= Faraday.new connection_options do |conn| conn.use :cookie_jar conn.use Bonita::Middleware::CSRF conn.use Faraday::Request::UrlEncoded conn.adapter Faraday.default_adapter end end
login()
click to toggle source
# File lib/bonita/client.rb, line 62 def login response = connection.post '/bonita/loginservice' do |req| req.headers['Content-Type'] = 'application/x-www-form-urlencoded' req.body = { username: @username, password: @password, tenant: @tenant, } end raise Bonita::AuthError, 'Unable to log in' if response.body.include?('Unable to log in') true end
logout()
click to toggle source
# File lib/bonita/client.rb, line 77 def logout connection.get '/bonita/logoutservice?redirect=false' end
Private Instance Methods
connection_options()
click to toggle source
# File lib/bonita/client.rb, line 93 def connection_options { url: @url, request: { params_encoder: Faraday::FlatParamsEncoder, }, headers: { content_type: 'application/json', }, } end