class Youtrack::Client

Attributes

admin[RW]

stores the scope of all subsequent api calls

connection[RW]

stores the response object

cookies[RW]

stores the auth_headers

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
tags() click to toggle source
# File lib/youtrack/client.rb, line 76
def tags
  resource(:tag).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