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: 
         
     |