frequency 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/frequency.gemspec +3 -3
  3. data/lib/frequency.rb +15 -8
  4. metadata +18 -9
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.1.3
data/frequency.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{frequency}
8
- s.version = "0.1.2"
8
+ s.version = "0.1.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["David James"]
12
- s.date = %q{2009-12-08}
12
+ s.date = %q{2010-03-11}
13
13
  s.description = %q{Interpret strings that represent frequencies (once a day, hourly, biennially, etc.)}
14
14
  s.email = %q{djames@sunlightfoundation.com}
15
15
  s.extra_rdoc_files = [
@@ -31,7 +31,7 @@ Gem::Specification.new do |s|
31
31
  s.homepage = %q{http://github.com/djsun/frequency}
32
32
  s.rdoc_options = ["--charset=UTF-8"]
33
33
  s.require_paths = ["lib"]
34
- s.rubygems_version = %q{1.3.5}
34
+ s.rubygems_version = %q{1.3.6}
35
35
  s.summary = %q{Interpret and compare frequencies (such as hourly)}
36
36
  s.test_files = [
37
37
  "spec/frequency_spec.rb",
data/lib/frequency.rb CHANGED
@@ -25,6 +25,9 @@ class Frequency
25
25
  "monthly" => 120,
26
26
  "quarterly" => 40,
27
27
  "biannually" => 20,
28
+ "semiannual" => 20,
29
+ "semi-annual" => 20,
30
+ "semiannually" => 20,
28
31
  "annual" => 10,
29
32
  "annually" => 10,
30
33
  "yearly" => 10,
@@ -84,15 +87,19 @@ class Frequency
84
87
  protected
85
88
 
86
89
  def compare_safely(method, other)
87
- if self.per_decade.nil?
88
- raise Undefined, %(Numerical value for "#{self.plain_text}" is undefined, ) +
89
- %( therefore a comparison with "#{other.plain_text}" is impossible)
90
- elsif other.per_decade.nil?
91
- raise Undefined, %(Numerical value for "#{other.plain_text}" is undefined, ) +
92
- %( therefore a comparison with "#{self.plain_text}" is impossible)
93
- else
94
- self.per_decade.send(method, other.per_decade)
90
+ errors = find_errors([self, other])
91
+ raise Undefined, errors.join(",") if !errors.empty?
92
+ self.per_decade.send(method, other.per_decade)
93
+ end
94
+
95
+ def find_errors(objects)
96
+ errors = []
97
+ objects.each do |object|
98
+ if object.per_decade.nil?()
99
+ errors << %(Numerical value for "#{object.plain_text}" is undefined)
100
+ end
95
101
  end
102
+ errors
96
103
  end
97
104
 
98
105
  end
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: frequency
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 3
9
+ version: 0.1.3
5
10
  platform: ruby
6
11
  authors:
7
12
  - David James
@@ -9,19 +14,21 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-12-08 00:00:00 -05:00
17
+ date: 2010-03-11 00:00:00 -05:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: rspec
17
- type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - ">="
22
26
  - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
23
29
  version: "0"
24
- version:
30
+ type: :development
31
+ version_requirements: *id001
25
32
  description: Interpret strings that represent frequencies (once a day, hourly, biennially, etc.)
26
33
  email: djames@sunlightfoundation.com
27
34
  executables: []
@@ -55,18 +62,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
55
62
  requirements:
56
63
  - - ">="
57
64
  - !ruby/object:Gem::Version
65
+ segments:
66
+ - 0
58
67
  version: "0"
59
- version:
60
68
  required_rubygems_version: !ruby/object:Gem::Requirement
61
69
  requirements:
62
70
  - - ">="
63
71
  - !ruby/object:Gem::Version
72
+ segments:
73
+ - 0
64
74
  version: "0"
65
- version:
66
75
  requirements: []
67
76
 
68
77
  rubyforge_project:
69
- rubygems_version: 1.3.5
78
+ rubygems_version: 1.3.6
70
79
  signing_key:
71
80
  specification_version: 3
72
81
  summary: Interpret and compare frequencies (such as hourly)