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.
@@ -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>
@@ -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>
@@ -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
+
@@ -0,0 +1,13 @@
1
+ require_relative 'spec_helper'
2
+ require 'cherby/journal_note'
3
+
4
+ module Cherby
5
+ describe JournalNote do
6
+ context "Class methods" do
7
+ end # Class methods
8
+
9
+ context "Instance methods" do
10
+ end # Instance methods
11
+ end
12
+ end # module Cherby
13
+
@@ -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
+
@@ -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,4 @@
1
+ <{{method}}Response xmlns="http://cherwellsoftware.com">
2
+ <{{method}}Result>{{body}}</{{method}}Result>
3
+ </{{method}}Response>
4
+
@@ -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>
@@ -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
+
@@ -0,0 +1,8 @@
1
+ require 'rake'
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new(:spec) do |t|
5
+ t.pattern = 'spec/**/*_spec.rb'
6
+ t.rspec_opts = [ '-c', '-f', 'doc' ]
7
+ end
8
+
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: