frequency 0.1.2 → 0.1.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.
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)