election_day 0.1.0 → 0.1.1
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.
- checksums.yaml +4 -4
- data/.travis.yml +3 -0
- data/CHANGELOG.md +7 -0
- data/README.md +3 -0
- data/election_day.gemspec +2 -1
- data/lib/election_day.rb +23 -6
- data/lib/election_day/version.rb +1 -1
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aedfe7d53827fe093a8ca037083c62c9291c38b6
|
4
|
+
data.tar.gz: 543856fbafce3365912cd4a2eb9a4f8b66c702ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1fb8b5be860eea049d66e76be1a7561c76915abde32a831c86900250cee411eb27b74db9e2937d8ac99e8960e81f8d5845091eaa4c3ebd2c95387052c1c4b0a6
|
7
|
+
data.tar.gz: 664047f11d41020cec55745bdaf1af85e870a5212a80b7e2bbdceeda5cab136fbfe2ec5eb16d64fdb7cb4857a99660b8221c324287a9dc95ac2330758f1c5416
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
ADDED
data/README.md
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
# Election Day
|
2
2
|
|
3
|
+
[](https://badge.fury.io/rb/election_day)
|
3
4
|
[](https://travis-ci.org/jcypret/election_day)
|
5
|
+
[](https://codeclimate.com/github/jcypret/election_day)
|
6
|
+
[](https://codeclimate.com/github/jcypret/election_day/coverage)
|
4
7
|
|
5
8
|
## Installation
|
6
9
|
|
data/election_day.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["Justin Cypret"]
|
10
10
|
spec.email = ["jcypret@gmail.com"]
|
11
11
|
|
12
|
-
spec.summary = %q{A library
|
12
|
+
spec.summary = %q{A library to calculate when U.S. Election Day occurs.}
|
13
13
|
spec.homepage = "https://github.com/jcypret/election_day"
|
14
14
|
|
15
15
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
@@ -21,4 +21,5 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_development_dependency "rake", "~> 10.0"
|
22
22
|
spec.add_development_dependency "rspec", "~> 3.0"
|
23
23
|
spec.add_development_dependency "timecop", "~> 0.8.1"
|
24
|
+
spec.add_development_dependency "codeclimate-test-reporter"
|
24
25
|
end
|
data/lib/election_day.rb
CHANGED
@@ -1,35 +1,52 @@
|
|
1
1
|
require "election_day/version"
|
2
2
|
|
3
|
+
# A library to calculate when U.S. Election Day occurs.
|
4
|
+
#
|
3
5
|
# "The Tuesday next after the first Monday in the month of November"
|
4
6
|
# -- The 28th Congress (http://memory.loc.gov/ll/llsl/005/0700/07590721.tif)
|
5
7
|
module ElectionDay
|
6
8
|
|
7
|
-
#
|
9
|
+
# Checks whether year is an election year.
|
10
|
+
#
|
11
|
+
# @param year [Integer] the year to check
|
12
|
+
# @return [Boolean] whether year is an election year
|
8
13
|
def self.election_year?(year = Date.today.year)
|
9
14
|
year.even?
|
10
15
|
end
|
11
16
|
|
12
|
-
#
|
17
|
+
# Checks whether year is a midterm election year.
|
18
|
+
#
|
19
|
+
# @param year [Integer] the year to check
|
20
|
+
# @return [Boolean] whether year is a midterm election year
|
13
21
|
def self.midterm_election_year?(year = Date.today.year)
|
14
22
|
(year + 2) % 4 == 0
|
15
23
|
end
|
16
24
|
|
17
|
-
#
|
25
|
+
# Checks whether year is a presidential election year.
|
26
|
+
#
|
27
|
+
# @param year [Integer] the year to check
|
28
|
+
# @return [Boolean] whether year is a presidential election year
|
18
29
|
def self.presidential_election_year?(year = Date.today.year)
|
19
30
|
year % 4 == 0
|
20
31
|
end
|
21
32
|
|
22
|
-
# Returns the
|
33
|
+
# Returns the date of the next election.
|
34
|
+
#
|
35
|
+
# @return [Date] the date of the next election
|
23
36
|
def self.next_election
|
24
37
|
get_next_election(&:election_year?)
|
25
38
|
end
|
26
39
|
|
27
|
-
# Returns the
|
40
|
+
# Returns the date of the next midterm election.
|
41
|
+
#
|
42
|
+
# @return [Date] the date of the next midterm election
|
28
43
|
def self.next_midterm_election
|
29
44
|
get_next_election(&:midterm_election_year?)
|
30
45
|
end
|
31
46
|
|
32
|
-
# Returns the
|
47
|
+
# Returns the date of the next presidential election.
|
48
|
+
#
|
49
|
+
# @return [Date] the date of the next presidential election
|
33
50
|
def self.next_presidential_election
|
34
51
|
get_next_election(&:presidential_election_year?)
|
35
52
|
end
|
data/lib/election_day/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: election_day
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Cypret
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 0.8.1
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: codeclimate-test-reporter
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
description:
|
70
84
|
email:
|
71
85
|
- jcypret@gmail.com
|
@@ -76,6 +90,7 @@ files:
|
|
76
90
|
- ".gitignore"
|
77
91
|
- ".rspec"
|
78
92
|
- ".travis.yml"
|
93
|
+
- CHANGELOG.md
|
79
94
|
- CODE_OF_CONDUCT.md
|
80
95
|
- Gemfile
|
81
96
|
- README.md
|
@@ -107,5 +122,5 @@ rubyforge_project:
|
|
107
122
|
rubygems_version: 2.5.1
|
108
123
|
signing_key:
|
109
124
|
specification_version: 4
|
110
|
-
summary: A library
|
125
|
+
summary: A library to calculate when U.S. Election Day occurs.
|
111
126
|
test_files: []
|