taskmapper-basecamp 0.6.0 → 0.6.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/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm 1.9.2@taskmapper-basecamp --create
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.0
1
+ 0.6.1
@@ -10,59 +10,38 @@ module TaskMapper::Provider
10
10
  class Project < TaskMapper::Provider::Base::Project
11
11
  API = BasecampAPI::Project
12
12
 
13
- def initialize(*object)
14
- if object.first
15
- object = object.first
16
- unless object.is_a? Hash
17
- hash = {:id => object.id,
18
- :created_at => created_on,
19
- :updated_at => updated_on,
20
- :description => object.announcement,
21
- :name => object.name}
22
-
23
- else
24
- hash = object
25
- end
26
- super hash
13
+ def initialize(*backend_info)
14
+ @system_data ||= {}
15
+ data = backend_info.first
16
+ case data
17
+ when Hash
18
+ super data.to_hash
19
+ else
20
+ @system_data[:client] = data
21
+ super data.attributes
27
22
  end
28
23
  end
29
-
24
+
30
25
  def description
31
26
  announcement
32
27
  end
33
-
34
- def description=(desc)
35
- announcement = desc
36
- end
37
-
28
+
38
29
  def created_at
39
- begin
40
- created_on.to_time
41
- rescue
42
- created_on
43
- end
44
- end
45
-
46
- def created_at=(created)
47
- created_on = created
30
+ created_on.to_time
31
+ rescue
32
+ created_on
48
33
  end
49
-
34
+
50
35
  def updated_at
51
- begin
52
- last_changed_on.to_time
53
- rescue
54
- last_changed_on
55
- end
56
- end
57
-
58
- def updated_at=(updated)
59
- last_changed_on = updated
36
+ last_changed_on.to_time
37
+ rescue
38
+ last_changed_on
60
39
  end
61
-
40
+
62
41
  def ticket!(attributes_hash)
63
42
  provider_parent(self.class)::Ticket.create attributes_hash.merge :project_id => id
64
43
  end
65
-
44
+
66
45
  def self.find_by_id(id)
67
46
  self.new API.find(id)
68
47
  end
@@ -75,7 +54,7 @@ module TaskMapper::Provider
75
54
  projects = API.find(:all).collect { |project| self.new project }
76
55
  search_by_attribute(projects, options, limit)
77
56
  end
78
-
57
+
79
58
  # copy from this.copy(that) copies that into this
80
59
  def copy(project)
81
60
  project.tickets.each do |ticket|
@@ -1,71 +1,73 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
1
 
2
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
3
3
  describe TaskMapper::Provider::Basecamp::Project do
4
4
 
5
- before(:all) do
6
- @headers = {'Authorization' => 'Basic MDAwMDAwOkJhc2VjYW1w'}
7
- @wheaders = @headers.merge('Content-Type' => 'application/xml')
8
- end
9
-
5
+ let(:headers) { {'Authorization' => 'Basic MDAwMDAwOkJhc2VjYW1w'} }
6
+ let(:wheaders) { headers.merge('Content-Type' => 'application/xml') }
10
7
  let(:tm) { TaskMapper.new(:basecamp, :token => '000000', :domain => 'ticketmaster.basecamphq.com') }
11
8
  let(:project_class) { TaskMapper::Provider::Basecamp::Project }
12
9
  let(:project_id) { 5220065 }
13
10
 
14
- describe "Retrieving projects" do
11
+ context "When I retrieve projects" do
15
12
  before(:each) do
16
13
  ActiveResource::HttpMock.respond_to do |mock|
17
- mock.get '/projects.xml', @headers, fixture_for('projects'), 200
18
- mock.get '/projects/5220065.xml', @headers, fixture_for('projects/5220065'), 200
14
+ mock.get '/projects.xml', headers, fixture_for('projects'), 200
15
+ mock.get '/projects/5220065.xml', headers, fixture_for('projects/5220065'), 200
16
+ mock.get '/projects.xml', headers, fixture_for('projects'), 200
19
17
  end
20
18
  end
19
+ describe :projects do
20
+ let(:projects) { tm.projects }
21
+ subject { projects }
21
22
 
22
- context "when calling #projects" do
23
- subject { tm.projects }
24
- it { subject.should be_an_instance_of(Array) }
25
- it { subject.first.should be_an_instance_of(project_class) }
26
- end
23
+ it { should be_an_instance_of(Array) }
24
+ describe :first do
25
+ subject { projects.first }
26
+ it { should be_an_instance_of(project_class) }
27
+ end
27
28
 
28
- context "when calling #projects using an array of id's" do
29
- subject { tm.projects([project_id]) }
30
- it { subject.should be_an_instance_of(Array) }
31
- it { subject.first.should be_an_instance_of(project_class) }
32
- it { subject.first.id.should be_eql(project_id) }
33
29
  end
34
30
 
35
- context "when calling #projects with a hash of project attributes" do
36
- subject { tm.projects(:id => project_id) }
37
- it { subject.should be_an_instance_of(Array) }
38
- it { subject.first.should be_an_instance_of(project_class) }
39
- it { subject.first.id.should be_eql(project_id) }
40
- end
41
- end
31
+ describe "#projects with array of id's" do
32
+ let(:projects) { tm.projects [project_id] }
33
+ subject { projects }
42
34
 
43
- describe "Retrieve a single project" do
44
- before(:each) do
45
- ActiveResource::HttpMock.respond_to do |mock|
46
- mock.get '/projects.xml', @headers, fixture_for('projects'), 200
47
- mock.get '/projects/5220065.xml', @headers, fixture_for('projects/5220065'), 200
35
+ it { should be_an_instance_of Array }
36
+ describe :first do
37
+ subject { projects.first }
38
+ it { should be_an_instance_of project_class }
39
+ its(:id) { should be_eql project_id }
48
40
  end
49
41
  end
50
42
 
51
- context "when calling #project with an id" do
52
- subject { tm.project(project_id) }
53
- it { should be_an_instance_of(project_class) }
54
- it { subject.id.should be_eql(project_id) }
43
+ describe "#projects with a hash of project attributes" do
44
+ let(:projects) { tm.projects :id => project_id }
45
+ subject { projects }
46
+
47
+ it { should be_an_instance_of(Array) }
48
+ describe :first do
49
+ subject { projects.first }
50
+ it { should be_an_instance_of(project_class) }
51
+ its(:id) { should be_eql(project_id) }
52
+ end
55
53
  end
56
54
 
57
- context "when calling #project with project attributes" do
58
- subject { tm.project(:id => project_id) }
59
- it { should be_an_instance_of(project_class) }
60
- it { subject.id.should be_eql(project_id) }
55
+ describe :project do
56
+ subject { tm.project project_id }
57
+ it { should be_an_instance_of project_class }
58
+ its(:id) { should be_eql project_id }
59
+ its(:name) { should == 'Ticketmaster-basecamp' }
60
+ its(:description) { should == 'Announcement.' }
61
+ its(:created_at) { should be_an_instance_of Time }
62
+ its(:updated_at) { should be_an_instance_of Time }
61
63
  end
62
64
  end
63
65
 
64
66
  describe "Creation and update" do
65
67
  before(:each) do
66
68
  ActiveResource::HttpMock.respond_to do |mock|
67
- mock.post '/projects.xml', @wheadesr, '', 200
68
- mock.get '/projects/5220065.xml', @headers, fixture_for('projects/5220065'), 200
69
+ mock.post '/projects.xml', wheaders, '', 200
70
+ mock.get '/projects/5220065.xml', headers, fixture_for('projects/5220065'), 200
69
71
  end
70
72
  end
71
73
 
data/spec/spec_helper.rb CHANGED
@@ -8,6 +8,7 @@ require 'rspec'
8
8
 
9
9
  RSpec.configure do |config|
10
10
  config.color_enabled = true
11
+ config.formatter = 'documentation'
11
12
  end
12
13
 
13
14
  def fixture_for(name)
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "taskmapper-basecamp"
8
- s.version = "0.6.0"
8
+ s.version = "0.6.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["HybridGroup"]
12
- s.date = "2012-05-10"
12
+ s.date = "2012-08-16"
13
13
  s.description = "This gem provides an interface to basecamp through the taskmapper gem"
14
14
  s.email = "hong.quach@abigfisch.com"
15
15
  s.extra_rdoc_files = [
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
+ ".rvmrc",
21
22
  ".travis.yml",
22
23
  "Gemfile",
23
24
  "Gemfile.lock",
@@ -67,7 +68,7 @@ Gem::Specification.new do |s|
67
68
  ]
68
69
  s.homepage = "http://github.com/kiafaldorius/taskmapper-basecamp"
69
70
  s.require_paths = ["lib"]
70
- s.rubygems_version = "1.8.17"
71
+ s.rubygems_version = "1.8.24"
71
72
  s.summary = "The basecamp provider for taskmapper"
72
73
 
73
74
  if s.respond_to? :specification_version then
metadata CHANGED
@@ -1,123 +1,122 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: taskmapper-basecamp
3
- version: !ruby/object:Gem::Version
4
- hash: 7
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.6.1
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 6
9
- - 0
10
- version: 0.6.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - HybridGroup
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-05-10 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-08-16 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: taskmapper
22
- prerelease: false
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '0.8'
23
22
  type: :runtime
24
- requirement: &id001 !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
- requirements:
26
+ requirements:
27
27
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 27
30
- segments:
31
- - 0
32
- - 8
33
- version: "0.8"
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
28
+ - !ruby/object:Gem::Version
29
+ version: '0.8'
30
+ - !ruby/object:Gem::Dependency
36
31
  name: xml-simple
37
- prerelease: false
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '1.1'
38
38
  type: :runtime
39
- requirement: &id002 !ruby/object:Gem::Requirement
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
40
41
  none: false
41
- requirements:
42
+ requirements:
42
43
  - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 13
45
- segments:
46
- - 1
47
- - 1
48
- version: "1.1"
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
44
+ - !ruby/object:Gem::Version
45
+ version: '1.1'
46
+ - !ruby/object:Gem::Dependency
51
47
  name: rspec
52
- prerelease: false
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '2.3'
53
54
  type: :development
54
- requirement: &id003 !ruby/object:Gem::Requirement
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
55
57
  none: false
56
- requirements:
58
+ requirements:
57
59
  - - ~>
58
- - !ruby/object:Gem::Version
59
- hash: 5
60
- segments:
61
- - 2
62
- - 3
63
- version: "2.3"
64
- version_requirements: *id003
65
- - !ruby/object:Gem::Dependency
60
+ - !ruby/object:Gem::Version
61
+ version: '2.3'
62
+ - !ruby/object:Gem::Dependency
66
63
  name: jeweler
67
- prerelease: false
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: '1.6'
68
70
  type: :development
69
- requirement: &id004 !ruby/object:Gem::Requirement
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
70
73
  none: false
71
- requirements:
74
+ requirements:
72
75
  - - ~>
73
- - !ruby/object:Gem::Version
74
- hash: 3
75
- segments:
76
- - 1
77
- - 6
78
- version: "1.6"
79
- version_requirements: *id004
80
- - !ruby/object:Gem::Dependency
76
+ - !ruby/object:Gem::Version
77
+ version: '1.6'
78
+ - !ruby/object:Gem::Dependency
81
79
  name: simplecov
82
- prerelease: false
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: '0.5'
83
86
  type: :development
84
- requirement: &id005 !ruby/object:Gem::Requirement
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
85
89
  none: false
86
- requirements:
90
+ requirements:
87
91
  - - ~>
88
- - !ruby/object:Gem::Version
89
- hash: 1
90
- segments:
91
- - 0
92
- - 5
93
- version: "0.5"
94
- version_requirements: *id005
95
- - !ruby/object:Gem::Dependency
92
+ - !ruby/object:Gem::Version
93
+ version: '0.5'
94
+ - !ruby/object:Gem::Dependency
96
95
  name: rcov
97
- prerelease: false
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: '1.0'
98
102
  type: :development
99
- requirement: &id006 !ruby/object:Gem::Requirement
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
100
105
  none: false
101
- requirements:
106
+ requirements:
102
107
  - - ~>
103
- - !ruby/object:Gem::Version
104
- hash: 15
105
- segments:
106
- - 1
107
- - 0
108
- version: "1.0"
109
- version_requirements: *id006
108
+ - !ruby/object:Gem::Version
109
+ version: '1.0'
110
110
  description: This gem provides an interface to basecamp through the taskmapper gem
111
111
  email: hong.quach@abigfisch.com
112
112
  executables: []
113
-
114
113
  extensions: []
115
-
116
- extra_rdoc_files:
114
+ extra_rdoc_files:
117
115
  - LICENSE
118
116
  - README.md
119
- files:
117
+ files:
120
118
  - .document
119
+ - .rvmrc
121
120
  - .travis.yml
122
121
  - Gemfile
123
122
  - Gemfile.lock
@@ -166,36 +165,29 @@ files:
166
165
  - taskmapper-basecamp.gemspec
167
166
  homepage: http://github.com/kiafaldorius/taskmapper-basecamp
168
167
  licenses: []
169
-
170
168
  post_install_message:
171
169
  rdoc_options: []
172
-
173
- require_paths:
170
+ require_paths:
174
171
  - lib
175
- required_ruby_version: !ruby/object:Gem::Requirement
172
+ required_ruby_version: !ruby/object:Gem::Requirement
176
173
  none: false
177
- requirements:
178
- - - ">="
179
- - !ruby/object:Gem::Version
180
- hash: 3
181
- segments:
174
+ requirements:
175
+ - - ! '>='
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ segments:
182
179
  - 0
183
- version: "0"
184
- required_rubygems_version: !ruby/object:Gem::Requirement
180
+ hash: -845405475
181
+ required_rubygems_version: !ruby/object:Gem::Requirement
185
182
  none: false
186
- requirements:
187
- - - ">="
188
- - !ruby/object:Gem::Version
189
- hash: 3
190
- segments:
191
- - 0
192
- version: "0"
183
+ requirements:
184
+ - - ! '>='
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
193
187
  requirements: []
194
-
195
188
  rubyforge_project:
196
- rubygems_version: 1.8.17
189
+ rubygems_version: 1.8.24
197
190
  signing_key:
198
191
  specification_version: 3
199
192
  summary: The basecamp provider for taskmapper
200
193
  test_files: []
201
-