class Flytrap::Client

Public Class Methods

new(username, password, wsdl) click to toggle source
# File lib/flytrap/client.rb, line 3
def initialize(username, password, wsdl)
  Savon.configure do |config|
    config.log = false
  end

  @username = username
  @password = password
  @wsdl     = wsdl
end

Public Instance Methods

mc_issue_add(project_id, project_name, category, summary, description) click to toggle source
# File lib/flytrap/client.rb, line 42
def mc_issue_add(project_id, project_name, category, summary, description)
  client = Savon.client(@wsdl)
  response = client.request(:mc_issue_add) do
    soap.body = {
      :username => username,
      :password => password,
      :issue => {
        :summary => summary,
        :project =>  { :id => project_id, :name => project_name },
        :category => category,
        :description => description
      }
    }
  end
  response
end
mc_issue_exists?(issue_id) click to toggle source
# File lib/flytrap/client.rb, line 13
def mc_issue_exists?(issue_id)
  client = Savon.client(@wsdl)
  response = client.request(:mc_issue_exists) do
    soap.body = {
      :username => username,
      :password => password,
      :issue_id => issue_id
    }
  end
  if response.success?
    return response.body[:mc_issue_exists_response][:return]
  end
end
mc_issue_get(issue_id) click to toggle source
# File lib/flytrap/client.rb, line 59
def mc_issue_get(issue_id)
  client = Savon.client(@wsdl)
  response = client.request(:mc_issue_get) do
    soap.body = {
      :username => username,
      :password => password,
      :issue_id => issue_id
    }
  end
  if response.success?
    return response.body[:mc_issue_get_response][:return]
  end
end
mc_issue_get_id_from_summary(summary) click to toggle source
# File lib/flytrap/client.rb, line 73
def mc_issue_get_id_from_summary(summary)
  client = Savon.client(@wsdl)
  response = client.request(:mc_issue_get_id_from_summary) do
    soap.body = {
      :username => username,
      :password => password,
      :summary => { text: summary[0..127] }
    }
  end
  if response.success?
    return response.body[:mc_issue_get_id_from_summary_response][:return]
  end
end
mc_issue_note_add(issue_id, note) click to toggle source
# File lib/flytrap/client.rb, line 27
def mc_issue_note_add(issue_id, note)
  client = Savon.client(@wsdl)
  response = client.request(:mc_issue_note_add) do
    soap.body = {
      :username => username,
      :password => password,
      :issue_id => issue_id,
      :note => { text: note }
    }
  end
  if response.success?
    return note_id = response.body[:mc_issue_note_add_response][:return]
  end
end

Private Instance Methods

password() click to toggle source
# File lib/flytrap/client.rb, line 95
def password
  @password
end
username() click to toggle source

We need these because Savon uses instance_eval for the request method which means that we do not have access to our MantisConnect::Client’s instance variables within that block.

# File lib/flytrap/client.rb, line 91
def username
  @username
end