taskmapper-zendesk 0.5.0 → 0.5.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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.0
1
+ 0.5.1
@@ -7,33 +7,30 @@ module TaskMapper::Provider
7
7
  #
8
8
  class Comment < TaskMapper::Provider::Base::Comment
9
9
  # declare needed overloaded methods here
10
-
10
+
11
11
  USER_API = ZendeskAPI::User
12
12
 
13
13
  def initialize(*object)
14
- return super(object.first) if object.first.is_a? Hash
15
- if object.first
16
- object = object.first
17
- ticket_id = object.shift
18
- project_id = object.shift
19
- comment_id = object.shift
20
- object = object.shift
21
- @system_data = {:client => object}
22
- unless object.is_a? Hash
23
- hash = {:author => object.author_id,
24
- :body => object.value,
25
- :id => comment_id,
26
- :created_at => object.created_at,
27
- :updated_at => object.created_at,
28
- :ticket_id => ticket_id,
29
- :project_id => project_id}
30
- else
31
- hash = object
32
- end
33
- super hash
14
+ @system_data = {}
15
+ @cache = {}
16
+ first = object.shift
17
+ case first
18
+ when Hash
19
+ super first.to_hash
20
+ else
21
+ @system_data[:client] = first
22
+ super first.attributes
34
23
  end
35
24
  end
36
25
 
26
+ def author
27
+ USER_API.find(comment.author_id).email
28
+ end
29
+
30
+ def id
31
+ self.comment_id
32
+ end
33
+
37
34
  def created_at
38
35
  Time.parse(self[:created_at])
39
36
  end
@@ -42,33 +39,25 @@ module TaskMapper::Provider
42
39
  Time.parse(self[:updated_at])
43
40
  end
44
41
 
45
- def self.find(project_id, ticket_id, *options)
46
- ticket_comments = self.find_all(project_id, ticket_id)
47
- if options[0].first.is_a? Array
48
- ticket_comments.select do |comment|
49
- comment if options[0].first.any? { |comment_id| comment_id == comment.id }
42
+ class << self
43
+ def search(project_id, ticket_id, options = {}, limit = 1000)
44
+ comment_id = 0
45
+ ZendeskAPI::Ticket.find(ticket_id).comments.collect do |comment|
46
+ comment_id += 1
47
+ self.new comment.attributes.merge!(:project_id => project_id,
48
+ :ticket_id => ticket_id,
49
+ :comment_id => comment_id)
50
50
  end
51
- elsif options[0].first.is_a? Hash
52
- self.find_by_attributes(project_id, ticket_id, options[0].first)
53
- else
54
- ticket_comments
55
51
  end
56
- end
57
52
 
58
- def self.find_all(project_id, ticket_id)
59
- comment_id = 0
60
- ZendeskAPI::Ticket.find(ticket_id).comments.collect do |comment|
61
- comment_id += 1
62
- comment.author_id = USER_API.find(comment.author_id).email
63
- Comment.new [ticket_id, project_id, comment_id, comment]
53
+ def find_by_id(project_id, ticket_id, id)
54
+ search(project_id, ticket_id).find { |ticket| ticket.id == id }
64
55
  end
65
- end
66
56
 
67
- def self.find_by_attributes(project_id, ticket_id, attributes = {})
68
- search_by_attribute(self.find_all(project_id, ticket_id), attributes)
57
+ def find_by_attributes(project_id, ticket_id, attributes = {})
58
+ search_by_attribute(self.search(project_id, ticket_id), attributes)
59
+ end
69
60
  end
70
-
71
61
  end
72
-
73
62
  end
74
63
  end
@@ -34,10 +34,6 @@ module TaskMapper::Provider
34
34
  end
35
35
  end
36
36
 
37
- def tickets(*options)
38
- Ticket.find(self.name, options)
39
- end
40
-
41
37
  def ticket(*options)
42
38
  if options.first.is_a? Fixnum
43
39
  ticket_id = options.first
@@ -1,7 +1,5 @@
1
-
2
1
  module TaskMapper::Provider
3
2
  module Zendesk
4
-
5
3
  class Ticket < TaskMapper::Provider::Base::Ticket
6
4
  # declare needed overloaded methods here
7
5
 
@@ -9,31 +7,27 @@ module TaskMapper::Provider
9
7
  API = ZendeskAPI::Ticket
10
8
  USER_API = ZendeskAPI::User
11
9
 
12
- def initialize(*object)
13
- return super(object.first) if object.first.is_a? Hash
14
- if object.first
15
- args = object.first
16
- object = args.shift
17
- project_id = args.shift
18
- @system_data = {:client => object}
19
- unless object.is_a? Hash
20
- hash = {:id => object.nice_id,
21
- :status => object.status_id,
22
- :title => object.subject,
23
- :created_at => object.created_at,
24
- :updated_at => object.updated_at,
25
- :description => object.description,
26
- :assignee => object.assignee_id,
27
- :requestor => object.requester_id,
28
- :priority => object.priority_id,
29
- :project_id => project_id}
30
- else
31
- hash = object
32
- end
33
- super hash
10
+ def initialize(*object)
11
+ @system_data = {}
12
+ @cache = {}
13
+ first = object.shift
14
+ case first
15
+ when Hash
16
+ super first.to_hash
17
+ else
18
+ @system_data[:client] = first
19
+ super first.attributes
34
20
  end
35
21
  end
36
22
 
23
+ def id
24
+ self.nice_id
25
+ end
26
+
27
+ def title
28
+ self.subject
29
+ end
30
+
37
31
  def created_at
38
32
  Time.parse(self[:created_at])
39
33
  end
@@ -42,56 +36,36 @@ module TaskMapper::Provider
42
36
  Time.parse(self[:updated_at])
43
37
  end
44
38
 
45
- def self.find(project_id, *options)
46
- tickets = self.find_all(project_id)
47
- if options[0].first.is_a? Array
48
- Ticket.find_all(self.name).select { |ticket| ticket if options[0].first.any? { |ticket_id| ticket_id == ticket.id }}
49
- elsif options[0].first.is_a? Hash
50
- Ticket.find_by_attributes(self.name, options[0].first)
51
- else
52
- tickets
39
+ class << self
40
+ def search(project_id)
41
+ SEARCH_API.find(:all, :params => {:query => "status:open"}).collect do |ticket|
42
+ ticket.requester_id = requestor(ticket)
43
+ ticket.assignee_id = assignee(ticket)
44
+ self.new ticket.attributes.merge! :project_id => project_id
45
+ end
53
46
  end
54
- end
55
47
 
56
- def self.find_all(*options)
57
- project_id = options.first
58
- SEARCH_API.find(:all, :params => {:query => "status:open"}).collect do |ticket|
59
- ticket.requester_id = requestor(ticket)
60
- ticket.assignee_id = assignee(ticket)
61
- self.new([ticket, project_id])
48
+ def find_by_id(project_id, ticket_id)
49
+ self.new zendesk_ticket(ticket_id).attributes.merge! :project_id => project_id
62
50
  end
63
- end
64
51
 
65
- def self.find_by_id(project_id, ticket_id)
66
- self.new [API.find(ticket_id), project_id]
67
- end
68
-
69
- def self.find_by_attributes(project_id, attributes = {})
70
- search_by_attribute(self.find_all(project_id), attributes)
71
- end
72
-
73
- def comments(*options)
74
- Comment.find(project_id, id, options)
75
- end
52
+ def find_by_attributes(project_id, attributes = {})
53
+ search_by_attribute(self.search(project_id), attributes)
54
+ end
76
55
 
77
- def comment(*options)
78
- if options.first.is_a? Fixnum
79
- Comment.find(project_id, id, [options.first]).first
80
- elsif options.first.is_a? Hash
81
- Comment.find_by_attributes(project_id, id, options.first).first
56
+ private
57
+ def requestor(ticket)
58
+ USER_API.find(ticket.requester_id).email
82
59
  end
83
- end
84
60
 
85
- private
86
- def self.requestor(ticket)
87
- USER_API.find(ticket.requester_id).email
88
- end
61
+ def assignee(ticket)
62
+ USER_API.find(ticket.assignee_id).email
63
+ end
89
64
 
90
- def self.assignee(ticket)
91
- USER_API.find(ticket.assignee_id).email
65
+ def zendesk_ticket(ticket_id)
66
+ API.find ticket_id
67
+ end
92
68
  end
93
-
94
69
  end
95
-
96
70
  end
97
71
  end
@@ -4,12 +4,12 @@ module TaskMapper::Provider
4
4
  module Zendesk
5
5
  include TaskMapper::Provider::Base
6
6
  #PROJECT_API = ZendeskAPI::Organization
7
-
7
+
8
8
  # This is for cases when you want to instantiate using TaskMapper::Provider::Yoursystem.new(auth)
9
9
  def self.new(auth = {})
10
10
  TaskMapper.new(:zendesk, auth)
11
11
  end
12
-
12
+
13
13
  # The authorize and initializer for this provider
14
14
  def authorize(auth = {})
15
15
  @authentication ||= TaskMapper::Authenticator.new(auth)
@@ -33,8 +33,11 @@ module TaskMapper::Provider
33
33
  end
34
34
 
35
35
  def valid?
36
- ZendeskAPI::Search.find(:first, :params => {:query => "status:open"})
36
+ begin
37
+ !ZendeskAPI::Search.find(:first, :params => {:query => "status:open"}).nil?
38
+ rescue
39
+ false
40
+ end
37
41
  end
38
-
39
42
  end
40
43
  end
@@ -12,7 +12,7 @@ module ZendeskAPI
12
12
  @password = password
13
13
  self::Base.user = username
14
14
  self::Base.password = password
15
- self::Base.site = "http://#{account}.zendesk.com"
15
+ self::Base.site = "https://#{account}.zendesk.com/api/v1/"
16
16
  end
17
17
 
18
18
  def resources
@@ -1,55 +1,51 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
3
  describe TaskMapper::Provider::Zendesk::Comment do
4
-
5
- before(:all) do
6
- @project_id = 'hybridgroup-project'
7
- @ticket_id = 1
8
- headers = {'Authorization' => 'Basic cmFmYWVsQGh5YnJpZGdyb3VwLmNvbToxMjM0NTY=','Accept' => 'application/json'}
9
- ActiveResource::HttpMock.respond_to do |mock|
10
- mock.get '/tickets/1.json', headers, fixture_for('ticket','json'), 200
11
- mock.get '/users/26218414.json', headers, fixture_for('users/55030073', 'json'), 200
12
- mock.get '/users/26220353.json', headers, fixture_for('users/55030073', 'json'), 200
4
+ let(:project_id) { 'hybridgroup-project' }
5
+ let(:headers) { {'Authorization' => 'Basic cmFmYWVsQGh5YnJpZGdyb3VwLmNvbToxMjM0NTY=','Accept' => 'application/json'} }
6
+ let(:tm) { TaskMapper.new(:zendesk, :account => 'hybridgroup', :username => 'rafael@hybridgroup.com', :password => '123456') }
7
+ let(:project) { tm.project(project_id) }
8
+ let(:comment_class) { TaskMapper::Provider::Zendesk::Comment }
9
+
10
+ describe "Retrieving comments" do
11
+ before(:each) do
12
+ ActiveResource::HttpMock.respond_to do |mock|
13
+ mock.get '/api/v1/tickets/2.json', headers, fixture_for('ticket'), 200
14
+ mock.get '/api/v1/tickets/1.json', headers, fixture_for('ticket'), 200
15
+ end
13
16
  end
14
- end
15
-
16
- before(:each) do
17
- @taskmapper = TaskMapper.new(:zendesk, :account => 'hybridgroup', :username => 'rafael@hybridgroup.com', :password => '123456')
18
- project = @taskmapper.project(@project_id)
19
- @ticket = project.ticket(@ticket_id)
20
- @klass = TaskMapper::Provider::Zendesk::Comment
21
- end
17
+ let(:ticket) { project.ticket 2 }
22
18
 
23
- it "should be able to load all comments" do
24
- comments = @ticket.comments
25
- comments.should be_an_instance_of(Array)
26
- comments.first.should be_an_instance_of(@klass)
27
- end
28
-
29
- it "should be able to load all comments based on an array of id's" do
30
- comments = @ticket.comments([1])
31
- comments.should be_an_instance_of(Array)
32
- comments.first.should be_an_instance_of(@klass)
33
- comments.first.id.should == 1
34
- end
19
+ context "when calling #comments to a ticket instance" do
20
+ subject { ticket.comments }
21
+ it { should be_an_instance_of Array }
22
+ it { subject.first.should be_an_instance_of comment_class }
23
+ end
35
24
 
36
- it "should be able to load all comments based on attributes" do
37
- comments = @ticket.comments(:ticket_id => @ticket.id)
38
- comments.should be_an_instance_of(Array)
39
- comments.first.should be_an_instance_of(@klass)
40
- comments.first.id.should == 1
41
- end
25
+ context "when calling #comments with an array of id" do
26
+ subject { ticket.comments [1] }
27
+ it { should be_an_instance_of Array }
28
+ it { subject.first.should be_an_instance_of comment_class }
29
+ end
42
30
 
43
- it "should be able to load a comment based on id" do
44
- comment = @ticket.comment(1)
45
- comment.should be_an_instance_of(@klass)
46
- comment.id.should == 1
47
- end
31
+ context "when calling #comments with a hash of attributes" do
32
+ subject { ticket.comments :ticket_id => ticket.id }
33
+ it { should be_an_instance_of Array }
34
+ it { subject.first.should be_an_instance_of comment_class }
35
+ end
48
36
 
49
- it "should be able to load a ticket based on attributes" do
50
- comment = @ticket.comment(:ticket_id => 1)
51
- comment.should be_an_instance_of(@klass)
52
- comment.id.should == 1
37
+ describe "Retrieve a single comment" do
38
+ context "when calling #comment with an id to a ticket instance" do
39
+ subject { ticket.comment 1 }
40
+ it { should be_an_instance_of comment_class }
41
+ it { subject.id.should == 1 }
42
+ end
43
+
44
+ context "when calling #comment with a hash attributes to a ticket instance" do
45
+ subject { ticket.comment :ticket_id => 1 }
46
+ it { should be_an_instance_of comment_class }
47
+ it { subject.id.should == 1 }
48
+ end
49
+ end
53
50
  end
54
-
55
51
  end
@@ -0,0 +1 @@
1
+ {"ticket":{"assigned_at":"2007-06-03T22:15:44Z","assignee_id":"4","assignee_updated_at":null,"created_at":"2007-06-03T20:15:44Z","subject":"Testing","description":"My printer is not working","external_id":null,"group_id":"2","id":"2","linked_id":null,"priority_id":"3","submitter_id":"3","status_id":"1","status_updated_at":"2007-06-03T22:15:44Z","requester_id":"3","requester_updated_at":"2007-06-03T22:15:44Z","ticket_type_id":"2","updated_at":"2007-06-03T20:15:45Z","via_id":"0","current_tags":"printer hp","score":"28","comments":[{"author_id":"3","created_at":"2007-06-03T20:15:45Z","is_public":"true","value":"This is a comment","via_id":"0","via_reference_id":null},{"author_id":"5","created_at":"2007-06-04T10:07:02Z","is_public":"true","value":"Make sure it is plugged in","via_id":"0","via_reference_id":null}],"ticket_field_entries":[{"ticket_field_id":"139","value":"Please contact me by phone during work hours"},{"ticket_field_id":"141","value":"true"}]}}
@@ -0,0 +1 @@
1
+ {"ticket":{"assigned_at":"2007-06-03T22:15:44Z","assignee_id":"4","assignee_updated_at":null,"created_at":"2007-06-03T20:15:44Z","subject":"Testing","description":"My printer is not working","external_id":null,"group_id":"2","id":"2","linked_id":null,"priority_id":"3","submitter_id":"3","status_id":"1","status_updated_at":"2007-06-03T22:15:44Z","requester_id":"3","requester_updated_at":"2007-06-03T22:15:44Z","ticket_type_id":"2","updated_at":"2007-06-03T20:15:45Z","via_id":"0","current_tags":"printer hp","score":"28","comments":[{"author_id":"3","created_at":"2007-06-03T20:15:45Z","is_public":"true","value":"This is a comment","via_id":"0","via_reference_id":null},{"author_id":"5","created_at":"2007-06-04T10:07:02Z","is_public":"true","value":"Make sure it is plugged in","via_id":"0","via_reference_id":null}],"ticket_field_entries":[{"ticket_field_id":"139","value":"Please contact me by phone during work hours"},{"ticket_field_id":"141","value":"true"}]}}
@@ -11,6 +11,6 @@ RSpec.configure do |config|
11
11
 
12
12
  end
13
13
 
14
- def fixture_for(name, format = 'xml')
14
+ def fixture_for(name, format = 'json')
15
15
  File.read(File.dirname(__FILE__) + '/fixtures/' + name + ".#{format}")
16
16
  end
@@ -1,22 +1,30 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
3
  describe "TaskMapper::Provider::Zendesk" do
4
- before(:each) do
5
- @taskmapper = TaskMapper.new(:zendesk, {:account => 'taskmapper', :username => 'foo', :password => '000000'})
6
- headers = {'Authorization' => 'Basic Zm9vOjAwMDAwMA==','Accept' => 'application/json'}
7
- ActiveResource::HttpMock.respond_to do |mock|
8
- mock.get '/search.json?query=status%3Aopen', headers, fixture_for('tickets', 'json'), 200
9
- end
4
+ let(:tm) { TaskMapper.new(:zendesk, {:account => 'taskmapper', :username => 'foo', :password => '000000'}) }
5
+ let(:headers) { {'Authorization' => 'Basic Zm9vOjAwMDAwMA==','Accept' => 'application/json'} }
10
6
 
7
+ describe "Instance of TaskMapper" do
8
+ context "when initializing a new zendesk provider" do
9
+ subject { tm }
10
+ it { should be_an_instance_of TaskMapper }
11
+ it { should be_a_kind_of TaskMapper::Provider::Zendesk }
12
+ end
11
13
  end
12
14
 
13
- it "should be able to instantiate a new instance" do
14
- @taskmapper.should be_an_instance_of(TaskMapper)
15
- @taskmapper.should be_a_kind_of(TaskMapper::Provider::Zendesk)
15
+ context "when calling #valid? to an instance of zendesk with invalid credentials" do
16
+ subject { tm.valid? }
17
+ it { should be_false }
16
18
  end
17
19
 
18
- it "should be true with valid authentication" do
19
- @taskmapper.valid?.should be_true
20
- end
20
+ context "when calling #valid? to an instance of zendesk provider with correct credentials" do
21
+ before(:each) do
22
+ ActiveResource::HttpMock.respond_to do |mock|
23
+ mock.get '/api/v1/search.json?query=status%3Aopen', headers, fixture_for('tickets'), 200
24
+ end
25
+ end
21
26
 
27
+ subject { tm.valid? }
28
+ it { should be_true }
29
+ end
22
30
  end
@@ -2,58 +2,52 @@ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
3
  describe TaskMapper::Provider::Zendesk::Ticket do
4
4
 
5
- before(:all) do
6
- @project_id = "hybridgroup-project"
7
-
8
- headers = {'Authorization' => 'Basic cmFmYWVsQGh5YnJpZGdyb3VwLmNvbToxMjM0NTY=','Accept' => 'application/json'}
9
- ActiveResource::HttpMock.respond_to do |mock|
10
- mock.get '/search.json?query=status%3Aopen', headers, fixture_for('tickets', 'json'), 200
11
- mock.get '/tickets/1.json', headers, fixture_for('ticket', 'json'), 200
12
- mock.get '/users/26218414.json', headers, fixture_for('users/55030073', 'json'), 200
13
- mock.get '/users/26220353.json', headers, fixture_for('users/55030073', 'json'), 200
5
+ let(:project_id) { "hybridgroup-project" }
6
+ let(:tm) { TaskMapper.new(:zendesk, :account => 'hybridgroup', :username => 'rafael@hybridgroup.com', :password => '123456') }
7
+ let(:ticket_class) { TaskMapper::Provider::Zendesk::Ticket }
8
+ let(:project) { tm.project(project_id) }
9
+ let(:headers) { {'Authorization' => 'Basic cmFmYWVsQGh5YnJpZGdyb3VwLmNvbToxMjM0NTY=','Accept' => 'application/json'} }
10
+
11
+ describe "Retrieving tickets" do
12
+ before(:each) do
13
+ ActiveResource::HttpMock.respond_to do |mock|
14
+ mock.get '/api/v1/search.json?query=status%3Aopen', headers, fixture_for('tickets'), 200
15
+ mock.get '/api/v1/tickets/1.json', headers, fixture_for('tickets/1'), 200
16
+ mock.get '/api/v1/users/26218414.json', headers, fixture_for('users/55030073'), 200
17
+ mock.get '/api/v1/users/26220353.json', headers, fixture_for('users/55030073'), 200
18
+ end
19
+ end
20
+
21
+ context "when calling #tickets" do
22
+ subject { project.tickets }
23
+ it { should be_an_instance_of Array }
24
+ it { subject.first.should be_an_instance_of ticket_class }
14
25
  end
15
- end
16
-
17
- before(:each) do
18
- @taskmapper = TaskMapper.new(:zendesk, :account => 'hybridgroup', :username => 'rafael@hybridgroup.com', :password => '123456')
19
- @klass = TaskMapper::Provider::Zendesk::Ticket
20
- @project = @taskmapper.project(@project_id)
21
- end
22
-
23
- it "should be able to load all tickets" do
24
- @project.tickets.should be_an_instance_of(Array)
25
- @project.tickets.first.should be_an_instance_of(@klass)
26
- end
27
-
28
- it "should be able to load all tickets based on an array of id's" do
29
- tickets = @project.tickets([1])
30
- tickets.should be_an_instance_of(Array)
31
- tickets.first.should be_an_instance_of(@klass)
32
- tickets.size.should == 1
33
- tickets.first.title.should == "Testing"
34
- end
35
-
36
- it "should be able to load all tickets based on attributes" do
37
- tickets = @project.tickets(:id => 1)
38
- tickets.should be_an_instance_of(Array)
39
- tickets.first.should be_an_instance_of(@klass)
40
- tickets.first.title.should == "Testing"
41
- end
42
26
 
43
- it "should be able to load a single ticket" do
44
- ticket = @project.ticket(1)
45
- ticket.should be_an_instance_of(@klass)
46
- ticket.title.should == "Testing"
47
- end
27
+ context "when calling #tickets with array of id's" do
28
+ subject { project.tickets [1] }
29
+ it { should be_an_instance_of Array }
30
+ it { subject.first.should be_an_instance_of ticket_class }
31
+ end
48
32
 
49
- it "should be able to find a ticket by attributes" do
50
- ticket = @project.ticket(:id => 1)
51
- ticket.should be_an_instance_of(@klass)
52
- ticket.title.should == "Testing"
53
- end
33
+ context "when calling #tickets with a hash attributes" do
34
+ subject { project.tickets :id => 1 }
35
+ it { should be_an_instance_of Array }
36
+ it { subject.first.should be_an_instance_of ticket_class }
37
+ end
54
38
 
55
- it "should return the ticket class without parameter in the ticket method" do
56
- @project.ticket.should == @klass
39
+ describe "Retrieving a single ticket" do
40
+ context "when calling #ticket to a project instance" do
41
+ subject { project.ticket 1 }
42
+ it { should be_an_instance_of ticket_class }
43
+ it { subject.title.should == "Testing" }
44
+ end
45
+
46
+ context "when calling #ticket with a hash attribute" do
47
+ subject { project.ticket :id => 1 }
48
+ it { should be_an_instance_of ticket_class }
49
+ it { subject.title.should == "Testing" }
50
+ end
51
+ end
57
52
  end
58
-
59
53
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "taskmapper-zendesk"
8
- s.version = "0.5.0"
8
+ s.version = "0.5.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Rafael George"]
12
- s.date = "2012-05-11"
12
+ s.date = "2012-05-22"
13
13
  s.description = "Allows taskmapper to interact with Your System."
14
14
  s.email = "rafael@hybridgroup.com"
15
15
  s.extra_rdoc_files = [
@@ -40,6 +40,8 @@ Gem::Specification.new do |s|
40
40
  "spec/fixtures/ticket.json",
41
41
  "spec/fixtures/tickets.json",
42
42
  "spec/fixtures/tickets.xml",
43
+ "spec/fixtures/tickets/1.json",
44
+ "spec/fixtures/tickets/2.json",
43
45
  "spec/fixtures/tickets/2.xml",
44
46
  "spec/fixtures/tickets/5.xml",
45
47
  "spec/fixtures/tickets/create.xml",
@@ -53,7 +55,7 @@ Gem::Specification.new do |s|
53
55
  ]
54
56
  s.homepage = "http://github.com/hybridgroup/taskmapper-zendesk"
55
57
  s.require_paths = ["lib"]
56
- s.rubygems_version = "1.8.17"
58
+ s.rubygems_version = "1.8.24"
57
59
  s.summary = "taskmapper Provider for Zendesk"
58
60
 
59
61
  if s.respond_to? :specification_version then
metadata CHANGED
@@ -1,93 +1,120 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: taskmapper-zendesk
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.1
4
5
  prerelease:
5
- version: 0.5.0
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Rafael George
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2012-05-11 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2012-05-22 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: taskmapper
17
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
18
17
  none: false
19
- requirements:
18
+ requirements:
20
19
  - - ~>
21
- - !ruby/object:Gem::Version
22
- version: "0.8"
20
+ - !ruby/object:Gem::Version
21
+ version: '0.8'
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '0.8'
30
+ - !ruby/object:Gem::Dependency
27
31
  name: rspec
28
- requirement: &id002 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
29
33
  none: false
30
- requirements:
34
+ requirements:
31
35
  - - ~>
32
- - !ruby/object:Gem::Version
33
- version: "2.8"
36
+ - !ruby/object:Gem::Version
37
+ version: '2.8'
34
38
  type: :development
35
39
  prerelease: false
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '2.8'
46
+ - !ruby/object:Gem::Dependency
38
47
  name: bundler
39
- requirement: &id003 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
40
49
  none: false
41
- requirements:
50
+ requirements:
42
51
  - - ~>
43
- - !ruby/object:Gem::Version
44
- version: "1.1"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.1'
45
54
  type: :development
46
55
  prerelease: false
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.1'
62
+ - !ruby/object:Gem::Dependency
49
63
  name: jeweler
50
- requirement: &id004 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
51
65
  none: false
52
- requirements:
66
+ requirements:
53
67
  - - ~>
54
- - !ruby/object:Gem::Version
55
- version: "1.6"
68
+ - !ruby/object:Gem::Version
69
+ version: '1.6'
56
70
  type: :development
57
71
  prerelease: false
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '1.6'
78
+ - !ruby/object:Gem::Dependency
60
79
  name: simplecov
61
- requirement: &id005 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
62
81
  none: false
63
- requirements:
82
+ requirements:
64
83
  - - ~>
65
- - !ruby/object:Gem::Version
66
- version: "0.5"
84
+ - !ruby/object:Gem::Version
85
+ version: '0.5'
67
86
  type: :development
68
87
  prerelease: false
69
- version_requirements: *id005
70
- - !ruby/object:Gem::Dependency
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: '0.5'
94
+ - !ruby/object:Gem::Dependency
71
95
  name: rcov
72
- requirement: &id006 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
73
97
  none: false
74
- requirements:
98
+ requirements:
75
99
  - - ~>
76
- - !ruby/object:Gem::Version
77
- version: "1.0"
100
+ - !ruby/object:Gem::Version
101
+ version: '1.0'
78
102
  type: :development
79
103
  prerelease: false
80
- version_requirements: *id006
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: '1.0'
81
110
  description: Allows taskmapper to interact with Your System.
82
111
  email: rafael@hybridgroup.com
83
112
  executables: []
84
-
85
113
  extensions: []
86
-
87
- extra_rdoc_files:
114
+ extra_rdoc_files:
88
115
  - LICENSE
89
116
  - README.md
90
- files:
117
+ files:
91
118
  - .DS_Store
92
119
  - .rbenv-gemsets
93
120
  - .rvmrc
@@ -111,6 +138,8 @@ files:
111
138
  - spec/fixtures/ticket.json
112
139
  - spec/fixtures/tickets.json
113
140
  - spec/fixtures/tickets.xml
141
+ - spec/fixtures/tickets/1.json
142
+ - spec/fixtures/tickets/2.json
114
143
  - spec/fixtures/tickets/2.xml
115
144
  - spec/fixtures/tickets/5.xml
116
145
  - spec/fixtures/tickets/create.xml
@@ -123,30 +152,29 @@ files:
123
152
  - taskmapper-zendesk.gemspec
124
153
  homepage: http://github.com/hybridgroup/taskmapper-zendesk
125
154
  licenses: []
126
-
127
155
  post_install_message:
128
156
  rdoc_options: []
129
-
130
- require_paths:
157
+ require_paths:
131
158
  - lib
132
- required_ruby_version: !ruby/object:Gem::Requirement
159
+ required_ruby_version: !ruby/object:Gem::Requirement
133
160
  none: false
134
- requirements:
135
- - - ">="
136
- - !ruby/object:Gem::Version
137
- version: "0"
138
- required_rubygems_version: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ! '>='
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ segments:
166
+ - 0
167
+ hash: -692886253
168
+ required_rubygems_version: !ruby/object:Gem::Requirement
139
169
  none: false
140
- requirements:
141
- - - ">="
142
- - !ruby/object:Gem::Version
143
- version: "0"
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
144
174
  requirements: []
145
-
146
175
  rubyforge_project:
147
- rubygems_version: 1.8.17
176
+ rubygems_version: 1.8.24
148
177
  signing_key:
149
178
  specification_version: 3
150
179
  summary: taskmapper Provider for Zendesk
151
180
  test_files: []
152
-