lighthouse-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/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