tracker-ical 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.rdoc CHANGED
@@ -1,3 +1,7 @@
1
+ = 0.0.3
2
+ Supports SSL accounts
3
+ Upgraded to bundler for development
4
+ Fixed bug with point totals
1
5
  = 0.0.2
2
6
  Releases are now included in the iCal feed
3
7
  Iterations display the total number of points in each
data/Gemfile ADDED
@@ -0,0 +1,15 @@
1
+ source "http://rubygems.org"
2
+ # Add dependencies required to use your gem here.
3
+ # Example:
4
+ # gem "activesupport", ">= 2.3.5"
5
+ gem 'icalendar', '>= 1.1.6'
6
+ gem 'pivotal-tracker', '>=0.2.0'
7
+
8
+ # Add dependencies to develop your gem here.
9
+ # Include everything needed to run rake, tests, features, etc.
10
+ group :development do
11
+ gem "rspec", "~> 2.5.0"
12
+ gem "bundler", "~> 1.0.10"
13
+ gem "jeweler", "~> 1.5.2"
14
+ gem "rcov", ">= 0"
15
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,44 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ builder (3.0.0)
5
+ diff-lcs (1.1.2)
6
+ git (1.2.5)
7
+ happymapper (0.3.2)
8
+ libxml-ruby (~> 1.1.3)
9
+ icalendar (1.1.6)
10
+ jeweler (1.5.2)
11
+ bundler (~> 1.0.0)
12
+ git (>= 1.2.5)
13
+ rake
14
+ libxml-ruby (1.1.4)
15
+ mime-types (1.16)
16
+ nokogiri (1.4.3.1)
17
+ pivotal-tracker (0.3.1)
18
+ builder
19
+ happymapper (>= 0.3.2)
20
+ nokogiri (~> 1.4.3.1)
21
+ rest-client (~> 1.6.0)
22
+ rake (0.8.7)
23
+ rcov (0.9.9)
24
+ rest-client (1.6.1)
25
+ mime-types (>= 1.16)
26
+ rspec (2.5.0)
27
+ rspec-core (~> 2.5.0)
28
+ rspec-expectations (~> 2.5.0)
29
+ rspec-mocks (~> 2.5.0)
30
+ rspec-core (2.5.1)
31
+ rspec-expectations (2.5.0)
32
+ diff-lcs (~> 1.1.2)
33
+ rspec-mocks (2.5.0)
34
+
35
+ PLATFORMS
36
+ ruby
37
+
38
+ DEPENDENCIES
39
+ bundler (~> 1.0.10)
40
+ icalendar (>= 1.1.6)
41
+ jeweler (~> 1.5.2)
42
+ pivotal-tracker (>= 0.2.0)
43
+ rcov
44
+ rspec (~> 2.5.0)
data/README.rdoc CHANGED
@@ -1,15 +1,26 @@
1
1
  = tracker-ical
2
2
 
3
- Pivotal iterations and releases output as iCal feed
3
+ PivotalTracker iterations and releases output as an iCalendar feed.
4
+
5
+ == Requirements
6
+
7
+ * PivotalTracker account with API access. Signup at Pivotal[https://www.pivotaltracker.com/signup/new].
8
+ * API token for the account
9
+
10
+ == Configuration
11
+ TrackerIcal.token('myusername@email.com', 'secretpassword') # Automatically fetch API Token from PivotalTracker
12
+ TrackerIcal.token = 'jkfduisj97823974j2kl24899234' # Manually set API Token for PivotalTracker
13
+ TrackerIcal.use_ssl = true # Set to true if account requires SSL. Default is false
4
14
 
5
15
  == Usage
6
- TrackerIcal.token('myusername@email.com', 'secretpassword') # Automatically fetch API Token
7
- TrackerIcal.token = 'jkfduisj97823974j2kl24899234' # Manually set API Token
16
+ TrackerIcal.create_calendar_for_project_id(project_id) #Pass the project_id of the PivotalTracker project to generate iCal string for
8
17
 
9
- TrackerIcal.create_calendar_for_project_id(project_id) #Pass the projectID of the Pivotal Project to generate iCal string for
18
+ TrackerIcal.create_ics_file_for_project_id(filepath,project_id) #Generates an ics file at the specified filepath for the PivotalTracker project with project_id
10
19
 
11
- TrackerIcal.create_ics_file_for_project_id(filepath,project_id) #Generates an ics file at the specified filepath for the Pivotal project with project_id
20
+ == Changelog
12
21
 
22
+ See CHANGELOG for details
23
+
13
24
  == Note on Patches/Pull Requests
14
25
 
15
26
  * Fork the project.
data/Rakefile CHANGED
@@ -10,9 +10,7 @@ begin
10
10
  gem.email = "niels@meerwerks.com"
11
11
  gem.homepage = "http://github.com/nielsm/tracker-ical"
12
12
  gem.authors = ["Niels Meersschaert"]
13
- gem.add_development_dependency "rspec", ">= 1.2.9"
14
- gem.add_dependency('icalendar', '>= 1.1.5')
15
- gem.add_dependency('pivotal-tracker', '>=0.2.0')
13
+ gem.extra_rdoc_files = ["README.rdoc", "VERSION", "CHANGELOG.rdoc"]
16
14
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
17
15
  end
18
16
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
@@ -1,5 +1,5 @@
1
- module PivotalTracker
2
- class Story
1
+ module PivotalTracker #:nodoc:[all]
2
+ class Story #:nodoc:[all]
3
3
 
4
4
  element :deadline, DateTime
5
5
  end
data/lib/tracker-ical.rb CHANGED
@@ -4,14 +4,23 @@ require File.join(File.dirname(__FILE__), 'pivotal-tracker', 'story')
4
4
 
5
5
  class TrackerIcal
6
6
 
7
+ #Set the PivotalTracker token to be used for interating with the Pivotal API
7
8
  def self.token=(token)
8
9
  PivotalTracker::Client.token=token
9
10
  end
11
+
12
+ #Set if PivotalTracker API should be accessed via SSL for all requests
13
+ def self.use_ssl=(ssl=true)
14
+ PivotalTracker::Client.use_ssl = ssl
15
+ end
10
16
 
17
+ #Retrieves the PivotalTracker token for a given username and password, enabling further interaction with the Pivotal API
11
18
  def self.token(username,password)
12
19
  PivotalTracker::Client.token(username,password)
13
20
  end
14
- #Returns an ics formatted string of all the milestones in the project
21
+
22
+ #Returns an ics formatted string of all the iterations and releases in the project
23
+ #If a release does not have a deadline, it will not be included in the output
15
24
  def self.create_calendar_for_project_id(project_id)
16
25
  project = PivotalTracker::Project.find(project_id)
17
26
  releases = project.stories.all(:story_type => 'release')
@@ -30,6 +39,7 @@ class TrackerIcal
30
39
  return calendar.to_ical
31
40
  end
32
41
 
42
+ #Creates an ics file at the specified filepath containing the iterations and releases with deadlines for the project_id
33
43
  def self.create_ics_file_for_project_id(filepath,project_id)
34
44
  file = File.new(filepath,"w+")
35
45
  file.write(self.create_calendar_for_project_id(project_id))
@@ -50,8 +60,12 @@ class TrackerIcal
50
60
  end
51
61
 
52
62
  def self.iteration_points(iteration)
63
+ points = {}
53
64
  point_array = iteration.stories.collect(&:estimate).compact
54
- eval point_array.join('+')
65
+ accepted_point_array = iteration.stories.select{|story|story.current_state == 'accepted'}.collect(&:estimate).compact
66
+ points[:total] = eval point_array.join('+')
67
+ points[:accepted] = eval accepted_point_array.join('+')
68
+ return points
55
69
  end
56
70
 
57
71
  def self.iteration_event(project,calendar,iter)
@@ -66,7 +80,7 @@ class TrackerIcal
66
80
  calendar.event do
67
81
  dtstart Date.new(iter.start.year,iter.start.month,iter.start.day)
68
82
  dtend Date.new(iter.finish.year,iter.finish.month,iter.finish.day)
69
- summary "#{project.name}: Iteration #{iter.number} (#{points} points)"
83
+ summary "#{project.name}: Iteration #{iter.number} (#{points[:accepted].to_i}/#{points[:total].to_i} points)"
70
84
  description stories.join("\n")
71
85
  end
72
86
  end
data/tracker-ical.gemspec CHANGED
@@ -1,63 +1,72 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{tracker-ical}
8
- s.version = "0.0.2"
8
+ s.version = "0.0.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Niels Meersschaert"]
12
- s.date = %q{2010-07-10}
12
+ s.date = %q{2011-04-13}
13
13
  s.description = %q{Get your iterations and releases in iCalendar format}
14
14
  s.email = %q{niels@meerwerks.com}
15
15
  s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
16
+ "CHANGELOG.rdoc",
17
+ "README.rdoc",
18
+ "VERSION"
18
19
  ]
19
20
  s.files = [
20
21
  ".document",
21
- ".gitignore",
22
- "CHANGELOG.rdoc",
23
- "LICENSE",
24
- "README.rdoc",
25
- "Rakefile",
26
- "VERSION",
27
- "lib/pivotal-tracker/story.rb",
28
- "lib/tracker-ical.rb",
29
- "spec/spec.opts",
30
- "spec/spec_helper.rb",
31
- "spec/tracker-ical_spec.rb",
32
- "tracker-ical.gemspec"
22
+ "CHANGELOG.rdoc",
23
+ "Gemfile",
24
+ "Gemfile.lock",
25
+ "LICENSE",
26
+ "README.rdoc",
27
+ "Rakefile",
28
+ "VERSION",
29
+ "lib/pivotal-tracker/story.rb",
30
+ "lib/tracker-ical.rb",
31
+ "spec/spec.opts",
32
+ "spec/spec_helper.rb",
33
+ "spec/tracker-ical_spec.rb",
34
+ "tracker-ical.gemspec"
33
35
  ]
34
36
  s.homepage = %q{http://github.com/nielsm/tracker-ical}
35
- s.rdoc_options = ["--charset=UTF-8"]
36
37
  s.require_paths = ["lib"]
37
- s.rubygems_version = %q{1.3.7}
38
+ s.rubygems_version = %q{1.5.0}
38
39
  s.summary = %q{Pivotal Tracker meets iCal}
39
40
  s.test_files = [
40
41
  "spec/spec_helper.rb",
41
- "spec/tracker-ical_spec.rb"
42
+ "spec/tracker-ical_spec.rb"
42
43
  ]
43
44
 
44
45
  if s.respond_to? :specification_version then
45
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
46
46
  s.specification_version = 3
47
47
 
48
48
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
49
- s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
50
- s.add_runtime_dependency(%q<icalendar>, [">= 1.1.5"])
49
+ s.add_runtime_dependency(%q<icalendar>, [">= 1.1.6"])
51
50
  s.add_runtime_dependency(%q<pivotal-tracker>, [">= 0.2.0"])
51
+ s.add_development_dependency(%q<rspec>, ["~> 2.5.0"])
52
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.10"])
53
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
54
+ s.add_development_dependency(%q<rcov>, [">= 0"])
52
55
  else
53
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
54
- s.add_dependency(%q<icalendar>, [">= 1.1.5"])
56
+ s.add_dependency(%q<icalendar>, [">= 1.1.6"])
55
57
  s.add_dependency(%q<pivotal-tracker>, [">= 0.2.0"])
58
+ s.add_dependency(%q<rspec>, ["~> 2.5.0"])
59
+ s.add_dependency(%q<bundler>, ["~> 1.0.10"])
60
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
61
+ s.add_dependency(%q<rcov>, [">= 0"])
56
62
  end
57
63
  else
58
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
59
- s.add_dependency(%q<icalendar>, [">= 1.1.5"])
64
+ s.add_dependency(%q<icalendar>, [">= 1.1.6"])
60
65
  s.add_dependency(%q<pivotal-tracker>, [">= 0.2.0"])
66
+ s.add_dependency(%q<rspec>, ["~> 2.5.0"])
67
+ s.add_dependency(%q<bundler>, ["~> 1.0.10"])
68
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
69
+ s.add_dependency(%q<rcov>, [">= 0"])
61
70
  end
62
71
  end
63
72
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tracker-ical
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
5
- prerelease: false
4
+ hash: 25
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Niels Meersschaert
@@ -15,57 +15,103 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-10 00:00:00 -04:00
18
+ date: 2011-04-13 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: rspec
23
22
  prerelease: false
23
+ type: :runtime
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- hash: 13
29
+ hash: 31
30
30
  segments:
31
31
  - 1
32
- - 2
33
- - 9
34
- version: 1.2.9
35
- type: :development
32
+ - 1
33
+ - 6
34
+ version: 1.1.6
35
+ name: icalendar
36
36
  version_requirements: *id001
37
37
  - !ruby/object:Gem::Dependency
38
- name: icalendar
39
38
  prerelease: false
39
+ type: :runtime
40
40
  requirement: &id002 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- hash: 25
45
+ hash: 23
46
46
  segments:
47
- - 1
48
- - 1
49
- - 5
50
- version: 1.1.5
51
- type: :runtime
47
+ - 0
48
+ - 2
49
+ - 0
50
+ version: 0.2.0
51
+ name: pivotal-tracker
52
52
  version_requirements: *id002
53
53
  - !ruby/object:Gem::Dependency
54
- name: pivotal-tracker
55
54
  prerelease: false
55
+ type: :development
56
56
  requirement: &id003 !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements:
59
- - - ">="
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
- hash: 23
61
+ hash: 27
62
62
  segments:
63
- - 0
64
63
  - 2
64
+ - 5
65
65
  - 0
66
- version: 0.2.0
67
- type: :runtime
66
+ version: 2.5.0
67
+ name: rspec
68
68
  version_requirements: *id003
69
+ - !ruby/object:Gem::Dependency
70
+ prerelease: false
71
+ type: :development
72
+ requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ hash: 3
78
+ segments:
79
+ - 1
80
+ - 0
81
+ - 10
82
+ version: 1.0.10
83
+ name: bundler
84
+ version_requirements: *id004
85
+ - !ruby/object:Gem::Dependency
86
+ prerelease: false
87
+ type: :development
88
+ requirement: &id005 !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ hash: 7
94
+ segments:
95
+ - 1
96
+ - 5
97
+ - 2
98
+ version: 1.5.2
99
+ name: jeweler
100
+ version_requirements: *id005
101
+ - !ruby/object:Gem::Dependency
102
+ prerelease: false
103
+ type: :development
104
+ requirement: &id006 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ hash: 3
110
+ segments:
111
+ - 0
112
+ version: "0"
113
+ name: rcov
114
+ version_requirements: *id006
69
115
  description: Get your iterations and releases in iCalendar format
70
116
  email: niels@meerwerks.com
71
117
  executables: []
@@ -73,12 +119,14 @@ executables: []
73
119
  extensions: []
74
120
 
75
121
  extra_rdoc_files:
76
- - LICENSE
122
+ - CHANGELOG.rdoc
77
123
  - README.rdoc
124
+ - VERSION
78
125
  files:
79
126
  - .document
80
- - .gitignore
81
127
  - CHANGELOG.rdoc
128
+ - Gemfile
129
+ - Gemfile.lock
82
130
  - LICENSE
83
131
  - README.rdoc
84
132
  - Rakefile
@@ -94,8 +142,8 @@ homepage: http://github.com/nielsm/tracker-ical
94
142
  licenses: []
95
143
 
96
144
  post_install_message:
97
- rdoc_options:
98
- - --charset=UTF-8
145
+ rdoc_options: []
146
+
99
147
  require_paths:
100
148
  - lib
101
149
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -119,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
119
167
  requirements: []
120
168
 
121
169
  rubyforge_project:
122
- rubygems_version: 1.3.7
170
+ rubygems_version: 1.5.0
123
171
  signing_key:
124
172
  specification_version: 3
125
173
  summary: Pivotal Tracker meets iCal
data/.gitignore DELETED
@@ -1,21 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
-
21
- ## PROJECT::SPECIFIC