class Git::Whistles::Youtrack::Api

Public Instance Methods

find_ticket(id) click to toggle source
# File lib/git-whistles/youtrack/api.rb, line 8
def find_ticket(id)
  ticket_hash = find_issue(id)
  Ticket.build_from_remote(ticket_hash)
end
password() click to toggle source
# File lib/git-whistles/youtrack/api.rb, line 27
def password
  password = `git config youtrack.password`.strip

  if password.empty?
    puts Term::ANSIColor.yellow %Q{
      Can't find Youtrack password!
      Please set it with:
      $ git config [--global] youtrack.password <password>
    }
  end

  password
end
url() click to toggle source
# File lib/git-whistles/youtrack/api.rb, line 41
def url
  url = `git config youtrack.url`.strip

  if url.empty?
    puts Term::ANSIColor.yellow %Q{
      Can't find Youtrack URL!
      Please set it with:
      $ git config [--global] youtrack.url <https://mydomain.youtrack.net>
    }
  end

  url
end
username() click to toggle source
# File lib/git-whistles/youtrack/api.rb, line 13
def username
  username = `git config youtrack.username`.strip

  if username.empty?
    puts Term::ANSIColor.yellow %Q{
      Can't find Youtrack username!
      Please set it with:
      $ git config [--global] youtrack.username <username>
    }
  end

  username
end

Private Instance Methods

client() click to toggle source
# File lib/git-whistles/youtrack/api.rb, line 61
def client
  @client ||= ::Youtrack::Client.new do |c|
    c.url = url
    c.login = username
    c.password = password
  end

  @client.connect! unless @client.connected?
  @client
end
find_issue(id) click to toggle source
# File lib/git-whistles/youtrack/api.rb, line 72
def find_issue id
  issues.find(id)
rescue
  nil
end
issues() click to toggle source
# File lib/git-whistles/youtrack/api.rb, line 57
def issues
  @issues ||= client.issues
end