class SimpleMattermost::Client
Attributes
api_url[RW]
host_url[RW]
login_id[RW]
passoword[RW]
session_token[RW]
team_name[RW]
Public Class Methods
new(url = nil)
click to toggle source
# File lib/simple_mattermost/client.rb, line 6 def initialize(url = nil) @host_url = url || ENV['MATTERMOST_HOST_URL'] @api_url = "#{@host_url}#{SimpleMattermost::API_PATH}" @client = HTTPClient.new end
Public Instance Methods
login(team = nil, login_id = nil, password = nil)
click to toggle source
# File lib/simple_mattermost/client.rb, line 12 def login(team = nil, login_id = nil, password = nil) # set params and validate @login_id = login_id || ENV['MATTERMOST_LOGIN_ID'] @password = password || ENV['MATTERMOST_LOGIN_PASSWORD'] @team_name = team || ENV['MATTERMOST_TEAM_NAME'] return raise 'login_id and password not set' unless @login_id && @password # post login api and responce valid login_url = "#{@api_url}#{SimpleMattermost::LOGIN_PATH}" login_params = { name: @team_name, login_id: @login_id, password: @password }.to_json res = @client.post(login_url, login_params) return raise "login error\nlogin_url: #{login_url}\nlogin_params: #{login_params}" unless res.status == 200 # set return token @session_token = res.header["Token"].first res end
Private Instance Methods
auth_headers()
click to toggle source
# File lib/simple_mattermost/client.rb, line 32 def auth_headers [ [ 'Authorization', "Bearer #{@session_token}" ] ] end