lighthouse-ical 0.0.2 → 0.0.3

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/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 'lighthouse-api', '~> 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
@@ -0,0 +1,44 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ activemodel (3.0.6)
5
+ activesupport (= 3.0.6)
6
+ builder (~> 2.1.2)
7
+ i18n (~> 0.5.0)
8
+ activeresource (3.0.6)
9
+ activemodel (= 3.0.6)
10
+ activesupport (= 3.0.6)
11
+ activesupport (3.0.6)
12
+ builder (2.1.2)
13
+ diff-lcs (1.1.2)
14
+ git (1.2.5)
15
+ i18n (0.5.0)
16
+ icalendar (1.1.6)
17
+ jeweler (1.5.2)
18
+ bundler (~> 1.0.0)
19
+ git (>= 1.2.5)
20
+ rake
21
+ lighthouse-api (2.0)
22
+ activeresource (>= 3.0.0)
23
+ activesupport (>= 3.0.0)
24
+ rake (0.8.7)
25
+ rcov (0.9.9)
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
+ lighthouse-api (~> 2.0)
43
+ rcov
44
+ rspec (~> 2.5.0)
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009 Niels Meersschaert
1
+ Copyright (c) 2010-2011 Niels Meersschaert
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -24,6 +24,8 @@ If no token or authentication info is given, you'll only be granted public acces
24
24
 
25
25
  LighthouseIcal.create_ics_file_for_project_id(filepath,project_id) #Generates an ics file at the specified filepath for the Lighthouse project with project_id
26
26
 
27
+ For an example webservice using the library, look at Lighthouse-ical-web[http://lighthouse-ical.craiga.id.au/].
28
+
27
29
  == Note on Patches/Pull Requests
28
30
 
29
31
  * Fork the project.
@@ -36,4 +38,4 @@ If no token or authentication info is given, you'll only be granted public acces
36
38
 
37
39
  == Copyright
38
40
 
39
- Copyright (c) 2010 Niels Meersschaert. See LICENSE for details.
41
+ Copyright (c) 2010-2011 Niels Meersschaert. See LICENSE for details.
data/Rakefile CHANGED
@@ -1,38 +1,37 @@
1
1
  require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
2
10
  require 'rake'
3
11
 
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "lighthouse-ical"
8
- gem.summary = %Q{Lighthouse generates iCal milestones}
9
- gem.description = %Q{Generate iCal feeds from your Lighthouse Scheduled Milestones}
10
- gem.email = "niels@meerwerks.com"
11
- gem.homepage = "http://github.com/nielsm/lighthouse-ical"
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('lighthouse-api', '>=1.1.0')
16
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
17
- end
18
- Jeweler::GemcutterTasks.new
19
- rescue LoadError
20
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
12
+ require 'jeweler'
13
+ Jeweler::Tasks.new do |gem|
14
+ gem.name = "lighthouse-ical"
15
+ gem.summary = %Q{Lighthouse generates iCal milestones}
16
+ gem.description = %Q{Generate iCal feeds from your Lighthouse Scheduled Milestones}
17
+ gem.email = "niels@meerwerks.com"
18
+ gem.homepage = "http://github.com/nielsm/lighthouse-ical"
19
+ gem.authors = ["Niels Meersschaert"]
21
20
  end
21
+ Jeweler::RubygemsDotOrgTasks.new
22
+
22
23
 
23
- require 'spec/rake/spectask'
24
- Spec::Rake::SpecTask.new(:spec) do |spec|
25
- spec.libs << 'lib' << 'spec'
26
- spec.spec_files = FileList['spec/**/*_spec.rb']
24
+ require 'rspec/core'
25
+ require 'rspec/core/rake_task'
26
+ RSpec::Core::RakeTask.new(:spec) do |spec|
27
+ spec.pattern = FileList['spec/**/*_spec.rb']
27
28
  end
28
29
 
29
- Spec::Rake::SpecTask.new(:rcov) do |spec|
30
- spec.libs << 'lib' << 'spec'
30
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
31
31
  spec.pattern = 'spec/**/*_spec.rb'
32
32
  spec.rcov = true
33
33
  end
34
34
 
35
- task :spec => :check_dependencies
36
35
 
37
36
  task :default => :spec
38
37
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
@@ -22,19 +22,29 @@ class LighthouseIcal
22
22
  calendar.publish
23
23
  return calendar.to_ical
24
24
  end
25
-
25
+
26
+ #Generates an ics file at the specified filepath of available milestones for the selected project
26
27
  def self.create_ics_file_for_project_id(filepath,project_id)
27
28
  file = File.new(filepath,"w+")
28
29
  file.write(self.create_calendar_for_project_id(project_id))
29
30
  file.close
30
31
  end
31
-
32
+
32
33
  private
33
-
34
-
34
+
35
+ #FIXME This is a hack to work around Lighthouse API only providing 30 milestones at a time.
36
+ #This is not performant & could result in N API calls where N is the number of pages of milestones
35
37
  def self.milestones_in_project(project_id)
36
38
  project = Lighthouse::Project.find(project_id)
37
- return project.milestones
39
+ all_milestones = []
40
+ i = 1
41
+ milestones = project.milestones(:page => i)
42
+ while (milestones.any?) do
43
+ i += 1
44
+ all_milestones << milestones
45
+ milestones = project.milestones(:page => i)
46
+ end
47
+ return all_milestones
38
48
  end
39
49
 
40
50
  def self.scheduled_milestones_in_project(project_id)
@@ -1,62 +1,70 @@
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{lighthouse-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{Generate iCal feeds from your Lighthouse Scheduled Milestones}
14
14
  s.email = %q{niels@meerwerks.com}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE",
17
- "README.rdoc"
17
+ "README.rdoc"
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
- ".gitignore",
22
- "CHANGELOG.rdoc",
23
- "LICENSE",
24
- "README.rdoc",
25
- "Rakefile",
26
- "VERSION",
27
- "lib/lighthouse-ical.rb",
28
- "lighthouse-ical.gemspec",
29
- "spec/lighthouse-ical_spec.rb",
30
- "spec/spec.opts",
31
- "spec/spec_helper.rb"
21
+ "CHANGELOG.rdoc",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "lib/lighthouse-ical.rb",
29
+ "lighthouse-ical.gemspec",
30
+ "spec/lighthouse-ical_spec.rb",
31
+ "spec/spec.opts",
32
+ "spec/spec_helper.rb"
32
33
  ]
33
34
  s.homepage = %q{http://github.com/nielsm/lighthouse-ical}
34
- s.rdoc_options = ["--charset=UTF-8"]
35
35
  s.require_paths = ["lib"]
36
- s.rubygems_version = %q{1.3.7}
36
+ s.rubygems_version = %q{1.5.0}
37
37
  s.summary = %q{Lighthouse generates iCal milestones}
38
38
  s.test_files = [
39
39
  "spec/lighthouse-ical_spec.rb",
40
- "spec/spec_helper.rb"
40
+ "spec/spec_helper.rb"
41
41
  ]
42
42
 
43
43
  if s.respond_to? :specification_version then
44
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
45
44
  s.specification_version = 3
46
45
 
47
46
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
48
- s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
49
- s.add_runtime_dependency(%q<icalendar>, [">= 1.1.5"])
50
- s.add_runtime_dependency(%q<lighthouse-api>, [">= 1.1.0"])
47
+ s.add_runtime_dependency(%q<icalendar>, ["~> 1.1.6"])
48
+ s.add_runtime_dependency(%q<lighthouse-api>, ["~> 2.0"])
49
+ s.add_development_dependency(%q<rspec>, ["~> 2.5.0"])
50
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.10"])
51
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
52
+ s.add_development_dependency(%q<rcov>, [">= 0"])
51
53
  else
52
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
53
- s.add_dependency(%q<icalendar>, [">= 1.1.5"])
54
- s.add_dependency(%q<lighthouse-api>, [">= 1.1.0"])
54
+ s.add_dependency(%q<icalendar>, ["~> 1.1.6"])
55
+ s.add_dependency(%q<lighthouse-api>, ["~> 2.0"])
56
+ s.add_dependency(%q<rspec>, ["~> 2.5.0"])
57
+ s.add_dependency(%q<bundler>, ["~> 1.0.10"])
58
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
59
+ s.add_dependency(%q<rcov>, [">= 0"])
55
60
  end
56
61
  else
57
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
58
- s.add_dependency(%q<icalendar>, [">= 1.1.5"])
59
- s.add_dependency(%q<lighthouse-api>, [">= 1.1.0"])
62
+ s.add_dependency(%q<icalendar>, ["~> 1.1.6"])
63
+ s.add_dependency(%q<lighthouse-api>, ["~> 2.0"])
64
+ s.add_dependency(%q<rspec>, ["~> 2.5.0"])
65
+ s.add_dependency(%q<bundler>, ["~> 1.0.10"])
66
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
67
+ s.add_dependency(%q<rcov>, [">= 0"])
60
68
  end
61
69
  end
62
70
 
@@ -1,9 +1,8 @@
1
- $LOAD_PATH.unshift(File.dirname(__FILE__))
2
1
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
3
  require 'lighthouse-ical'
4
- require 'spec'
5
- require 'spec/autorun'
4
+ require 'rspec'
6
5
 
7
- Spec::Runner.configure do |config|
6
+ RSpec.configure do |config|
8
7
 
9
8
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lighthouse-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,102 @@ 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: 3
46
46
  segments:
47
- - 1
48
- - 1
49
- - 5
50
- version: 1.1.5
51
- type: :runtime
47
+ - 2
48
+ - 0
49
+ version: "2.0"
50
+ name: lighthouse-api
52
51
  version_requirements: *id002
53
52
  - !ruby/object:Gem::Dependency
54
- name: lighthouse-api
55
53
  prerelease: false
54
+ type: :development
56
55
  requirement: &id003 !ruby/object:Gem::Requirement
57
56
  none: false
58
57
  requirements:
59
- - - ">="
58
+ - - ~>
59
+ - !ruby/object:Gem::Version
60
+ hash: 27
61
+ segments:
62
+ - 2
63
+ - 5
64
+ - 0
65
+ version: 2.5.0
66
+ name: rspec
67
+ version_requirements: *id003
68
+ - !ruby/object:Gem::Dependency
69
+ prerelease: false
70
+ type: :development
71
+ requirement: &id004 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
60
75
  - !ruby/object:Gem::Version
61
- hash: 19
76
+ hash: 3
62
77
  segments:
63
78
  - 1
79
+ - 0
80
+ - 10
81
+ version: 1.0.10
82
+ name: bundler
83
+ version_requirements: *id004
84
+ - !ruby/object:Gem::Dependency
85
+ prerelease: false
86
+ type: :development
87
+ requirement: &id005 !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ~>
91
+ - !ruby/object:Gem::Version
92
+ hash: 7
93
+ segments:
64
94
  - 1
95
+ - 5
96
+ - 2
97
+ version: 1.5.2
98
+ name: jeweler
99
+ version_requirements: *id005
100
+ - !ruby/object:Gem::Dependency
101
+ prerelease: false
102
+ type: :development
103
+ requirement: &id006 !ruby/object:Gem::Requirement
104
+ none: false
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ hash: 3
109
+ segments:
65
110
  - 0
66
- version: 1.1.0
67
- type: :runtime
68
- version_requirements: *id003
111
+ version: "0"
112
+ name: rcov
113
+ version_requirements: *id006
69
114
  description: Generate iCal feeds from your Lighthouse Scheduled Milestones
70
115
  email: niels@meerwerks.com
71
116
  executables: []
@@ -77,8 +122,9 @@ extra_rdoc_files:
77
122
  - README.rdoc
78
123
  files:
79
124
  - .document
80
- - .gitignore
81
125
  - CHANGELOG.rdoc
126
+ - Gemfile
127
+ - Gemfile.lock
82
128
  - LICENSE
83
129
  - README.rdoc
84
130
  - Rakefile
@@ -93,8 +139,8 @@ homepage: http://github.com/nielsm/lighthouse-ical
93
139
  licenses: []
94
140
 
95
141
  post_install_message:
96
- rdoc_options:
97
- - --charset=UTF-8
142
+ rdoc_options: []
143
+
98
144
  require_paths:
99
145
  - lib
100
146
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -118,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
164
  requirements: []
119
165
 
120
166
  rubyforge_project:
121
- rubygems_version: 1.3.7
167
+ rubygems_version: 1.5.0
122
168
  signing_key:
123
169
  specification_version: 3
124
170
  summary: Lighthouse generates iCal milestones
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