cherby 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: