Method: CommitTracker::TrackStudio#initialize

Defined in:
lib/commit_tracker/trackstudio.rb

#initialize(options = {}) ⇒ TrackStudio

Initializes the CommitTracker::TrackStudio

Examples

ts = CommitTracker::TrackStudio.new(:url => 'http://ts.domain.com/TrackStudio/services/', 
                                    :login => 'user', 
                                    :password => 'qwerty')


17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'lib/commit_tracker/trackstudio.rb', line 17

def initialize(options={})
  url       = options[:url]      || 'http://localhost/TrackStudio/services/'
  @login    = options[:login]    || 'login'
  @password = options[:password] || 'password'       
  
  Savon.configure do |config|
    config.soap_version = 2
  end
  
  @User = Savon::Client.new do
    wsdl.document = url + "User?wsdl"
  end
  
  @Task = Savon::Client.new do
    wsdl.document = url + "Task?wsdl"
  end
  
  @Message = Savon::Client.new do
    wsdl.document = url + "Message?wsdl"
  end
  
  @Step = Savon::Client.new do
    wsdl.document = url + "Step?wsdl"
  end
  
  @Acl = Savon::Client.new do
    wsdl.document = url + "Acl?wsdl"
  end
  
  @Bookmark = Savon::Client.new do
    wsdl.document = url + "Bookmark?wsdl"
  end
  
  @Category = Savon::Client.new do
    wsdl.document = url + "Category?wsdl"
  end
  
  @Constants = Savon::Client.new do
    wsdl.document = url + "Constants?wsdl"
  end
  
  @Export = Savon::Client.new do
    wsdl.document = url + "Export?wsdl"
  end
  
  @Filter = Savon::Client.new do
    wsdl.document = url + "Filter?wsdl"
  end
  
  @Find = Savon::Client.new do
    wsdl.document = url + "Find?wsdl"
  end
  
  @Index = Savon::Client.new do
    wsdl.document = url + "Index?wsdl"
  end
  
  @MailImport = Savon::Client.new do
    wsdl.document = url + "MailImport?wsdl"
  end
  
  @Prstatus = Savon::Client.new do
    wsdl.document = url + "Prstatus?wsdl"
  end
  
  @Registration = Savon::Client.new do
    wsdl.document = url + "Registration?wsdl"
  end
  
  @Registration = Savon::Client.new do
    wsdl.document = url + "Registration?wsdl"
  end
  
  @Report = Savon::Client.new do
    wsdl.document = url + "Report?wsdl"
  end
  
  @SCM = Savon::Client.new do
    wsdl.document = url + "SCM?wsdl"
  end
  
  @Template = Savon::Client.new do
    wsdl.document = url + "Template?wsdl"
  end
  
  @Udf = Savon::Client.new do
    wsdl.document = url + "Udf?wsdl"
  end
  
  @Workflow = Savon::Client.new do
    wsdl.document = url + "Workflow?wsdl"
  end
  
  @sessionId = nil
  begin
    response  = @User.request :soap, 
                              :authenticate,
                              :body => { :login => @login,
                                         :password => @password }
  
    @sessionId = response.to_hash[:authenticate_response][:return]
  rescue Savon::SOAP::Fault => e
    raise ErrorCommitTask, e.to_hash[:fault][:reason][:text]
  end
end