cherby 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +6 -0
- data/.rspec +3 -0
- data/.travis.yml +4 -0
- data/.yardopts +4 -0
- data/Gemfile +6 -0
- data/README.md +83 -0
- data/Rakefile +12 -0
- data/cherby.gemspec +29 -0
- data/lib/cherby.rb +11 -0
- data/lib/cherby/business_object.rb +159 -0
- data/lib/cherby/cherwell.rb +230 -0
- data/lib/cherby/client.rb +147 -0
- data/lib/cherby/exceptions.rb +6 -0
- data/lib/cherby/incident.rb +141 -0
- data/lib/cherby/journal_note.rb +13 -0
- data/lib/cherby/task.rb +37 -0
- data/lib/cherby/templates/incident.mustache +226 -0
- data/lib/cherby/templates/journal_note.mustache +30 -0
- data/lib/cherby/templates/journal_note_relationship.mustache +3 -0
- data/lib/cherby/templates/task.mustache +67 -0
- data/lib/cherby/templates/task_relationship.mustache +3 -0
- data/lib/cherby/templates/test/simple.mustache +8 -0
- data/spec/business_object_spec.rb +250 -0
- data/spec/cherwell_spec.rb +300 -0
- data/spec/client_spec.rb +149 -0
- data/spec/data/cherwell.wsdl +1568 -0
- data/spec/data/incident.xml +1411 -0
- data/spec/data/login_false.xml +8 -0
- data/spec/data/login_true.xml +6 -0
- data/spec/data/task.xml +64 -0
- data/spec/incident_spec.rb +124 -0
- data/spec/journal_note_spec.rb +13 -0
- data/spec/spec_helper.rb +40 -0
- data/spec/task_spec.rb +77 -0
- data/spec/xml/method_response_result.mustache +4 -0
- data/spec/xml/soap_envelope.mustache +6 -0
- data/tasks/pry.rake +28 -0
- data/tasks/spec.rake +8 -0
- metadata +261 -0
@@ -0,0 +1,8 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
3
|
+
<soap:Body>
|
4
|
+
<LoginResponse xmlns="http://cherwellsoftware.com">
|
5
|
+
<LoginResult>false</LoginResult>
|
6
|
+
</LoginResponse>
|
7
|
+
</soap:Body>
|
8
|
+
</soap:Envelope>
|
data/spec/data/task.xml
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<BusinessObject IDREF="9355d5ed41e384ff345b014b6cb1c6e748594aea5b" Name="Task" RecID="93c337b38ec3c1d070775b4713ac8ef55015944edb">
|
3
|
+
<FieldList>
|
4
|
+
<Field IDREF="9355d5ed41677b1e9c897e4fa9b4065d34319187f0" Name="RecID">93c3616c1d44fba838910f43cbac8375b5d66420f7</Field>
|
5
|
+
<Field IDREF="9355d5ed416bbc9408615c4145978ff8538a3f6eb4" Name="CreatedDateTime">2012-02-02T16:03:50</Field>
|
6
|
+
<Field IDREF="9355d5ed416a997f977756423e98e4cf2d2c383864" Name="CreatedBy">Pierce, Eric </Field>
|
7
|
+
<Field IDREF="9355d5ed4191b0a5e6e6ef4222ab0a1615bc1e775f" Name="CreatedByID">93b4dbf806022ef26160604b6bb75683a22d046284</Field>
|
8
|
+
<Field IDREF="9355d5ed4152454ced86f24d479d3abd714d9c5542" Name="LastModDateTime">2012-02-02T16:03:50</Field>
|
9
|
+
<Field IDREF="9355d5ed41fc550492ec39429586225e1272100f7f" Name="LastModBy">Pierce, Eric </Field>
|
10
|
+
<Field IDREF="9355d5ed41e884191af44447569d13636471f97d57" Name="LastModByID">93b4dbf806022ef26160604b6bb75683a22d046284</Field>
|
11
|
+
<Field IDREF="9355d5ed4117df7f98893a4069991cc07ae14542da" Name="OwnedBy"></Field>
|
12
|
+
<Field IDREF="9355d5ed4133155e4cb59949358b7dd850a4798df8" Name="OwnerID"></Field>
|
13
|
+
<Field IDREF="9355d5ed41cc5afcde21a64c17bd94b87a0ca82651" Name="OwnedByTeam">Web Contractors</Field>
|
14
|
+
<Field IDREF="9355d5ed410697aaea29614cd993dc857096c9f8d7" Name="OwnerTeamID">93b10b0b1da3c4ba581a644d9582d9a0b65e3a978d</Field>
|
15
|
+
<Field IDREF="9355d5ed6ca15a8308c5e24389b2138b3aa9b6c7fa" Name="TaskType">Action</Field>
|
16
|
+
<Field IDREF="9355d5ef648edf7a8ed5604d56af11170cce5dc25e" Name="TaskDescription"></Field>
|
17
|
+
<Field IDREF="9355d5f0a511a29076790f44538a28912d1acfde3e" Name="StartDateTime">2012-02-02T16:03:50</Field>
|
18
|
+
<Field IDREF="9355d6d6f3d7531087eab4456482100476d46ac59b" Name="ParentID"></Field>
|
19
|
+
<Field IDREF="9355d6d84625cc7c1a7a48435ea878328f1646c7af" Name="ParentTypeID"></Field>
|
20
|
+
<Field IDREF="9365917a2d7973856a140a49fe9fb3ce04a06cd76b" Name="LastModTimeStamp">0001-01-01T00:00:00</Field>
|
21
|
+
<Field IDREF="9368f13df2afdec4a821254f4784d3f0075aeb57a5" Name="AssignedToID"></Field>
|
22
|
+
<Field IDREF="9368f13d3d8af7b0dd83a641829eed336e3d44152b" Name="AssignedTo"></Field>
|
23
|
+
<Field IDREF="9368f1403d951e9022a67c41f5b58816ad460e2572" Name="AssignedToTeamID"></Field>
|
24
|
+
<Field IDREF="9368f13fe36d569f9744694d9aa469d95d5346e444" Name="AssignedToTeam"></Field>
|
25
|
+
<Field IDREF="9368f144c4290cc902bcf348fba96c062b9b85e8ef" Name="Notes"></Field>
|
26
|
+
<Field IDREF="9368f12af5d798fca7d0a94cb393f7711daf0e6f8b" Name="AcknowledgedByID"></Field>
|
27
|
+
<Field IDREF="9368f12a7e5499855deb1443b89e2d4cdb738db0a3" Name="AcknowledgedBy"></Field>
|
28
|
+
<Field IDREF="9368f12da37cc7c9918710424a956469357c518b30" Name="AcknowledgedDateTime">0001-01-01T00:00:00</Field>
|
29
|
+
<Field IDREF="9368f12b5706fddd62c6cf4a189e65c3a27a0cb5ce" Name="AcknowledgedComment"></Field>
|
30
|
+
<Field IDREF="9355d5f72b5314be2c2def46de8465351073d83c28" Name="ResolvedByID"></Field>
|
31
|
+
<Field IDREF="9355d5f19809ff83d2d6884d1b962a262b6e06e5b5" Name="ResolvedBy"></Field>
|
32
|
+
<Field IDREF="9355d5f1f22b99eb1f359246928742bc550d4830e2" Name="ResolvedDateTime">0001-01-01T00:00:00</Field>
|
33
|
+
<Field IDREF="9355d5f958b17900f038c84d69adfa3ed25677621c" Name="ResolutionCode"></Field>
|
34
|
+
<Field IDREF="9355d5fabd7763ad02894d43eca25b5432e555e1c6" Name="CompletionDetails"></Field>
|
35
|
+
<Field IDREF="9362bc13dc436b4bb7b7244be39f794d31e199d00b" Name="TaskDurationInHours">0.00</Field>
|
36
|
+
<Field IDREF="9368f0fb7b744108a666984c21afc932562eb7dc16" Name="Status">New</Field>
|
37
|
+
<Field IDREF="936942d76eb9d60d435105487199c3c3de63501ad9" Name="Availabiltiy"></Field>
|
38
|
+
<Field IDREF="936942d955962731bfa57b4cf59ad88b9d20817b3c" Name="Email"></Field>
|
39
|
+
<Field IDREF="936942da8a42bd91ba52e14e279f78c84827588844" Name="Phone"></Field>
|
40
|
+
<Field IDREF="936942dc64612d8d336ff3421b9bebbc584138d0ff" Name="CellPhone"></Field>
|
41
|
+
<Field IDREF="9369a1ea7a0da7dfc6f2db4ef78b23765919310b9f" Name="LimitAssigneeByTeam"></Field>
|
42
|
+
<Field IDREF="9387d7edcd90b26af435a5407abac99d264bb2dfcb" Name="ParentTypeName"></Field>
|
43
|
+
<Field IDREF="9387d7efd191c18d9f954747a08ed7765b883e0925" Name="ParentPublicID">12345</Field>
|
44
|
+
<Field IDREF="9387d8ddde75fcad78321947049bd018b4068ede05" Name="TaskOrder">0.00</Field>
|
45
|
+
<Field IDREF="9388ab37b7a2939f20c8f04a0aa276dde3f04a1db9" Name="ParentActivity"></Field>
|
46
|
+
<Field IDREF="9388ab3ed686a256e0490e43fda89d7438ec385440" Name="ActivityOrder">0</Field>
|
47
|
+
<Field IDREF="9388ab43a4e43bbf36c5ad4e58a8578d5c147f2b9b" Name="ParentActivityOrder">0</Field>
|
48
|
+
<Field IDREF="938b647fb54f0efcb90b894beda424baef2e8e6029" Name="DependsOnName"></Field>
|
49
|
+
<Field IDREF="938b648f158b4a123120214f35b329971b9e055279" Name="DependsOnID"></Field>
|
50
|
+
<Field IDREF="938b6490c1c9d876ee004b45b6b2d83b5d3b9d97fc" Name="TaskActive">TRUE</Field>
|
51
|
+
<Field IDREF="938b649246cfdb5b6d51f148c5acb7364abcc661ca" Name="DependsOnStatus"></Field>
|
52
|
+
<Field IDREF="938b6570e5acebac7bc2a5478fb267d9248c0d319f" Name="Name"></Field>
|
53
|
+
<Field IDREF="93948f6bd8feb461e8ce344d17b742085840eda366" Name="EndDateTime">2012-02-02T16:33:50</Field>
|
54
|
+
<Field IDREF="93948f6eb1016504463a5e4dad81a5c2ee8b6248b3" Name="Location"></Field>
|
55
|
+
<Field IDREF="93ae5c81c6efec4ecb7ea441ba9442dcce8104a549" Name="OwnedByNonCherwellUser">FALSE</Field>
|
56
|
+
<Field IDREF="93b118d2fec858f3c90ac54af78cd19e43f575fbb4" Name="TaskID">2777</Field>
|
57
|
+
<Field IDREF="93b26d767fb1b41d09bd0c4fb280e06b1bbb1e7e19" Name="OwnedByEmail"></Field>
|
58
|
+
<Field IDREF="93b270762452d77ed16ad6464cabddaea3e48387a7" Name="TeamNotified">FALSE</Field>
|
59
|
+
<Field IDREF="93b367cfbd23f3c5bfdd38422a9984154fa2a7c691" Name="ActiveBy"></Field>
|
60
|
+
<Field IDREF="93b367d09000c9c244d1dd44e18a788d21ecf567e6" Name="ActiveByID"></Field>
|
61
|
+
<Field IDREF="93b367d125e3912fba2535402188616e5cdee9c6d9" Name="ActiveDateTime">0001-01-01T00:00:00</Field>
|
62
|
+
<Field IDREF="93b3780a3b7ea64e6349434ebda457fdd67a06755d" Name="CreatedByCustomer">FALSE</Field>
|
63
|
+
</FieldList>
|
64
|
+
</BusinessObject>
|
@@ -0,0 +1,124 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
require 'cherby/incident'
|
3
|
+
require 'cherby/task'
|
4
|
+
require 'cherby/journal_note'
|
5
|
+
|
6
|
+
module Cherby
|
7
|
+
describe Incident do
|
8
|
+
before(:each) do
|
9
|
+
@incident_xml = File.read(File.join(DATA_DIR, 'incident.xml'))
|
10
|
+
@incident = Incident.new(@incident_xml)
|
11
|
+
end
|
12
|
+
|
13
|
+
context "Instance methods" do
|
14
|
+
describe "#id" do
|
15
|
+
it "returns the IncidentID" do
|
16
|
+
@incident.id.should == '51949'
|
17
|
+
@incident.id.should == @incident['IncidentID']
|
18
|
+
end
|
19
|
+
end #id
|
20
|
+
|
21
|
+
describe "#exists?" do
|
22
|
+
it "true when IncidentID is set" do
|
23
|
+
@incident.exists?.should be_true
|
24
|
+
end
|
25
|
+
|
26
|
+
it "false when IncidentID is nil" do
|
27
|
+
@incident['IncidentID'] = nil
|
28
|
+
@incident.exists?.should be_false
|
29
|
+
end
|
30
|
+
end #exists?
|
31
|
+
|
32
|
+
describe "#complete!" do
|
33
|
+
it "sets appropriate fields to indicate incident completion" do
|
34
|
+
@incident.complete!('Testing completion')
|
35
|
+
|
36
|
+
@incident['CloseDescription'].should == 'Testing completion'
|
37
|
+
@incident['PhaseResolveStatus'].should == 'Complete'
|
38
|
+
@incident['ClosureCode'].should == 'Completed'
|
39
|
+
@incident['CMDBUpdate'].should == 'No'
|
40
|
+
@incident['SubCategory'].should == 'JIRA'
|
41
|
+
@incident['SubcategoryNonHR'].should == 'JIRA'
|
42
|
+
end
|
43
|
+
end #complete!
|
44
|
+
|
45
|
+
describe "#reopen!" do
|
46
|
+
it "TODO"
|
47
|
+
end #reopen!
|
48
|
+
|
49
|
+
describe "#tasks" do
|
50
|
+
it "returns an array of Task instances" do
|
51
|
+
@incident.tasks.count.should == 5
|
52
|
+
@incident.tasks.each do |task|
|
53
|
+
task.should be_a(Task)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end #tasks
|
57
|
+
|
58
|
+
describe "#journal_notes" do
|
59
|
+
it "returns an array of JournalNote instances" do
|
60
|
+
@incident.journal_notes.count.should == 4
|
61
|
+
@incident.journal_notes.each do |journal_note|
|
62
|
+
journal_note.should be_a(JournalNote)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end #journal_notes
|
66
|
+
|
67
|
+
describe "#add_task" do
|
68
|
+
it "adds to RelationshipList children" do
|
69
|
+
before = @incident.dom.css("RelationshipList").first.children
|
70
|
+
@incident.add_task("The description", "The notes")
|
71
|
+
# Ensure that a new Relationship was appended
|
72
|
+
after = @incident.dom.css("RelationshipList").first.children
|
73
|
+
# FIXME: Test this better
|
74
|
+
# Extra "\n" children may be added for some unknown reason; just check that
|
75
|
+
# there are more children now than there were before
|
76
|
+
before.count.should be < after.count
|
77
|
+
end
|
78
|
+
end #add_task
|
79
|
+
|
80
|
+
describe "#add_journal_note" do
|
81
|
+
it "adds a JournalNote" do
|
82
|
+
journal_note = JournalNote.create({
|
83
|
+
:details => 'New note on incident',
|
84
|
+
})
|
85
|
+
@incident.add_journal_note(journal_note)
|
86
|
+
last_journal_note = @incident.journal_notes.last
|
87
|
+
last_journal_note['Details'].should == 'New note on incident'
|
88
|
+
end
|
89
|
+
end #add_journal_note
|
90
|
+
|
91
|
+
describe "#differs_from?" do
|
92
|
+
it "false when comparing with self" do
|
93
|
+
@incident.differs_from?(@incident).should be_false
|
94
|
+
end
|
95
|
+
it "false when comparing with an identical Incident" do
|
96
|
+
incident2 = Cherby::Incident.new(@incident_xml)
|
97
|
+
incident2.differs_from?(@incident).should be_false
|
98
|
+
end
|
99
|
+
it "true if certain fields are different" do
|
100
|
+
incident2 = Cherby::Incident.new(@incident_xml)
|
101
|
+
@incident['Status'] = 'New'
|
102
|
+
incident2['Status'] = 'Assigned'
|
103
|
+
incident2.differs_from?(@incident).should be_true
|
104
|
+
end
|
105
|
+
end #differs_from?
|
106
|
+
end # Instance methods
|
107
|
+
|
108
|
+
context "Inherited instance methods" do
|
109
|
+
it "#to_xml" do
|
110
|
+
@incident.to_xml.should == @incident_xml
|
111
|
+
end
|
112
|
+
|
113
|
+
it "#field_values" do
|
114
|
+
fields = @incident.field_values
|
115
|
+
fields['IncidentID'].should == '51949'
|
116
|
+
fields['JIRAID'].should == 'TST-72'
|
117
|
+
fields['Environment'].should == 'PRD'
|
118
|
+
fields['Description'].should == "Test new cherwell ID field"
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
end # describe Incident
|
123
|
+
end # module Cherby
|
124
|
+
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# spec_helper.rb
|
2
|
+
require 'simplecov'
|
3
|
+
SimpleCov.start if ENV['COVERAGE']
|
4
|
+
|
5
|
+
require 'rspec'
|
6
|
+
require 'mustache'
|
7
|
+
|
8
|
+
ROOT_DIR = File.absolute_path(File.join(File.dirname(__FILE__), '..'))
|
9
|
+
LIB_DIR = File.join(ROOT_DIR, 'lib')
|
10
|
+
SPEC_DIR = File.join(ROOT_DIR, 'spec')
|
11
|
+
DATA_DIR = File.join(SPEC_DIR, 'data')
|
12
|
+
XML_DIR = File.join(SPEC_DIR, 'xml')
|
13
|
+
CONFIG_FILE = File.join(ROOT_DIR, 'config', 'test-config.yml')
|
14
|
+
CHERWELL_WSDL = File.join(DATA_DIR, 'cherwell.wsdl')
|
15
|
+
$LOAD_PATH.unshift(LIB_DIR)
|
16
|
+
|
17
|
+
class XMLTemplate < Mustache
|
18
|
+
self.template_path = XML_DIR
|
19
|
+
end
|
20
|
+
|
21
|
+
RSpec.configure do |config|
|
22
|
+
def xml_envelope(body)
|
23
|
+
return XMLTemplate.render_file('soap_envelope', :body => body)
|
24
|
+
end
|
25
|
+
|
26
|
+
def xml_response(method, body)
|
27
|
+
wrapped_body = XMLTemplate.render_file(
|
28
|
+
'method_response_result', :method => method, :body => body)
|
29
|
+
return xml_envelope(wrapped_body)
|
30
|
+
end
|
31
|
+
|
32
|
+
def savon_response(method, body)
|
33
|
+
return {
|
34
|
+
:code => 200,
|
35
|
+
:headers => {},
|
36
|
+
:body => xml_response(method, body)
|
37
|
+
}
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
data/spec/task_spec.rb
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
require 'cherby/task'
|
3
|
+
require 'cherby/journal_note'
|
4
|
+
|
5
|
+
module Cherby
|
6
|
+
describe Task do
|
7
|
+
context "Instance methods" do
|
8
|
+
before(:each) do
|
9
|
+
@task_xml = File.read(File.join(DATA_DIR, 'task.xml'))
|
10
|
+
end
|
11
|
+
|
12
|
+
describe "#id" do
|
13
|
+
it "returns the value from the TaskID field" do
|
14
|
+
task = Task.new(@task_xml)
|
15
|
+
task['TaskID'] = '9876'
|
16
|
+
task.id.should == '9876'
|
17
|
+
end
|
18
|
+
end #id
|
19
|
+
|
20
|
+
describe "#exists?" do
|
21
|
+
it "true if task ID is non-nil" do
|
22
|
+
task = Task.new(@task_xml)
|
23
|
+
task['TaskID'] = '9876'
|
24
|
+
task.exists?.should be_true
|
25
|
+
end
|
26
|
+
|
27
|
+
it "false if task ID is nil" do
|
28
|
+
task = Task.new(@task_xml)
|
29
|
+
task['TaskID'] = nil
|
30
|
+
task.exists?.should be_false
|
31
|
+
end
|
32
|
+
|
33
|
+
it "false if task ID is empty string" do
|
34
|
+
task = Task.new(@task_xml)
|
35
|
+
task['TaskID'] = ''
|
36
|
+
task.exists?.should be_false
|
37
|
+
end
|
38
|
+
end #exists?
|
39
|
+
|
40
|
+
describe "#differs_from?" do
|
41
|
+
it "false when compared with itself" do
|
42
|
+
task = Task.new(@task_xml)
|
43
|
+
task.differs_from?(task).should be_false
|
44
|
+
end
|
45
|
+
|
46
|
+
it "false when compared with a task with identical fields" do
|
47
|
+
task1 = Task.new(@task_xml)
|
48
|
+
task2 = Task.new(@task_xml)
|
49
|
+
task2.differs_from?(task1).should be_false
|
50
|
+
end
|
51
|
+
|
52
|
+
it "true if certain fields are different" do
|
53
|
+
task1 = Task.new(@task_xml)
|
54
|
+
task2 = Task.new(@task_xml)
|
55
|
+
task1['Status'] = 'New'
|
56
|
+
task2['Status'] = 'Assigned'
|
57
|
+
task1.differs_from?(task2).should be_true
|
58
|
+
task2.differs_from?(task1).should be_true
|
59
|
+
end
|
60
|
+
end #differs_from?
|
61
|
+
|
62
|
+
describe "#add_journal_note" do
|
63
|
+
it "adds a note to the Task" do
|
64
|
+
task = Task.new(@task_xml)
|
65
|
+
journal_note = JournalNote.create({
|
66
|
+
:details => 'New note on task',
|
67
|
+
:last_mod_date_time => DateTime.now,
|
68
|
+
})
|
69
|
+
task.add_journal_note(journal_note)
|
70
|
+
task['CompletionDetails'].should =~ /New note on task/
|
71
|
+
end
|
72
|
+
end #add_journal_note
|
73
|
+
|
74
|
+
end # Instance methods
|
75
|
+
|
76
|
+
end # describe Task
|
77
|
+
end # module Cherby
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
3
|
+
<soap:Body>
|
4
|
+
{{{body}}}
|
5
|
+
</soap:Body>
|
6
|
+
</soap:Envelope>
|
data/tasks/pry.rake
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'rake'
|
2
|
+
|
3
|
+
desc "Open pry console"
|
4
|
+
task :pry, :config_yml do |t, args|
|
5
|
+
if !args.config_yml
|
6
|
+
puts "Usage: rake pry[config.yml]"
|
7
|
+
puts "Where config.yml looks something like:"
|
8
|
+
puts " url: 'cherwell.ds9.net'"
|
9
|
+
puts " username: 'sisko'"
|
10
|
+
puts " password: 'baseball'"
|
11
|
+
exit
|
12
|
+
end
|
13
|
+
|
14
|
+
require 'pry'
|
15
|
+
require 'savon'
|
16
|
+
require 'cherby'
|
17
|
+
|
18
|
+
config = YAML.load(File.open(args.config_yml))
|
19
|
+
|
20
|
+
cherwell = Cherby::Cherwell.new(
|
21
|
+
config['url'],
|
22
|
+
config['username'],
|
23
|
+
config['password']
|
24
|
+
)
|
25
|
+
|
26
|
+
binding.pry
|
27
|
+
end
|
28
|
+
|
data/tasks/spec.rake
ADDED
metadata
ADDED
@@ -0,0 +1,261 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cherby
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Eric Pierce
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2014-03-21 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: httpclient
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: savon
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 2.3.0
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 2.3.0
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: yajl-ruby
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: nokogiri
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: mustache
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :runtime
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: rake
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: simplecov
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: pry
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: rspec
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ! '>='
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0'
|
150
|
+
type: :development
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: yard
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ! '>='
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0'
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
- !ruby/object:Gem::Dependency
|
175
|
+
name: redcarpet
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
178
|
+
requirements:
|
179
|
+
- - ! '>='
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0'
|
182
|
+
type: :development
|
183
|
+
prerelease: false
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
186
|
+
requirements:
|
187
|
+
- - ! '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0'
|
190
|
+
description: ! ' Cherby is a Ruby wrapper for the Cherwell Web Service.
|
191
|
+
|
192
|
+
'
|
193
|
+
email: wapcaplet88@gmail.com
|
194
|
+
executables: []
|
195
|
+
extensions: []
|
196
|
+
extra_rdoc_files: []
|
197
|
+
files:
|
198
|
+
- .gitignore
|
199
|
+
- .rspec
|
200
|
+
- .travis.yml
|
201
|
+
- .yardopts
|
202
|
+
- Gemfile
|
203
|
+
- README.md
|
204
|
+
- Rakefile
|
205
|
+
- cherby.gemspec
|
206
|
+
- lib/cherby.rb
|
207
|
+
- lib/cherby/business_object.rb
|
208
|
+
- lib/cherby/cherwell.rb
|
209
|
+
- lib/cherby/client.rb
|
210
|
+
- lib/cherby/exceptions.rb
|
211
|
+
- lib/cherby/incident.rb
|
212
|
+
- lib/cherby/journal_note.rb
|
213
|
+
- lib/cherby/task.rb
|
214
|
+
- lib/cherby/templates/incident.mustache
|
215
|
+
- lib/cherby/templates/journal_note.mustache
|
216
|
+
- lib/cherby/templates/journal_note_relationship.mustache
|
217
|
+
- lib/cherby/templates/task.mustache
|
218
|
+
- lib/cherby/templates/task_relationship.mustache
|
219
|
+
- lib/cherby/templates/test/simple.mustache
|
220
|
+
- spec/business_object_spec.rb
|
221
|
+
- spec/cherwell_spec.rb
|
222
|
+
- spec/client_spec.rb
|
223
|
+
- spec/data/cherwell.wsdl
|
224
|
+
- spec/data/incident.xml
|
225
|
+
- spec/data/login_false.xml
|
226
|
+
- spec/data/login_true.xml
|
227
|
+
- spec/data/task.xml
|
228
|
+
- spec/incident_spec.rb
|
229
|
+
- spec/journal_note_spec.rb
|
230
|
+
- spec/spec_helper.rb
|
231
|
+
- spec/task_spec.rb
|
232
|
+
- spec/xml/method_response_result.mustache
|
233
|
+
- spec/xml/soap_envelope.mustache
|
234
|
+
- tasks/pry.rake
|
235
|
+
- tasks/spec.rake
|
236
|
+
homepage: http://github.com/a-e/cherby
|
237
|
+
licenses: []
|
238
|
+
post_install_message:
|
239
|
+
rdoc_options: []
|
240
|
+
require_paths:
|
241
|
+
- lib
|
242
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
243
|
+
none: false
|
244
|
+
requirements:
|
245
|
+
- - ! '>='
|
246
|
+
- !ruby/object:Gem::Version
|
247
|
+
version: '0'
|
248
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
249
|
+
none: false
|
250
|
+
requirements:
|
251
|
+
- - ! '>='
|
252
|
+
- !ruby/object:Gem::Version
|
253
|
+
version: '0'
|
254
|
+
requirements: []
|
255
|
+
rubyforge_project:
|
256
|
+
rubygems_version: 1.8.24
|
257
|
+
signing_key:
|
258
|
+
specification_version: 3
|
259
|
+
summary: Cherwell-Ruby bridge
|
260
|
+
test_files: []
|
261
|
+
has_rdoc:
|