class Youtrack::Client
Attributes
admin[RW]
stores the scope of all subsequent api calls
connection[RW]
stores the response object
debug[RW]
Sets debugging mode
login[RW]
stores the Server login credential defaults to nil
password[RW]
stores the Server password credential defaulst to nil
url[RW]
holds the youTrack Server url defaults to nil
Public Class Methods
new(options={}) { |self| ... }
click to toggle source
# File lib/youtrack/client.rb, line 32 def initialize(options={}, &block) @cookies = {} @admin = false @debug = false yield(self) if block_given? end
Public Instance Methods
admin?()
click to toggle source
# File lib/youtrack/client.rb, line 25 def admin? true == @admin end
connect!()
click to toggle source
Makes a login call and sets the Cookie headers
Returns the status code of the connection call
# File lib/youtrack/client.rb, line 53 def connect! @connection = HTTParty.post(File.join(url, "rest/user/login"), body: credentials_hash ) #@connection = HTTParty.post(File.join(url, "hub/auth/login"), body: credentials_hash ) @cookies['Cookie'] = @connection.headers['set-cookie'] @connection.code end
connected?()
click to toggle source
# File lib/youtrack/client.rb, line 60 def connected? !!(connection && connection.headers['set-cookie'] && connection.code == 200) end
credentials_hash()
click to toggle source
# File lib/youtrack/client.rb, line 45 def credentials_hash { login: login, password: password } end
endpoint()
click to toggle source
the server endpoint
# File lib/youtrack/client.rb, line 41 def endpoint @endpoint = File.join(url, 'rest') end
issues()
click to toggle source
# File lib/youtrack/client.rb, line 72 def issues resource(:issue).new(self) end
projects()
click to toggle source
# File lib/youtrack/client.rb, line 68 def projects resource(:project).new(self) end
users()
click to toggle source
# File lib/youtrack/client.rb, line 64 def users resource(:user).new(self) end
Private Instance Methods
resource(resource_name)
click to toggle source
# File lib/youtrack/client.rb, line 82 def resource(resource_name) Youtrack.const_get(resource_name.to_s.capitalize) end