nytimes-style 0.3.0 → 0.4.0

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.
@@ -16,9 +16,15 @@ Annotated source code: http://ascheink.github.com/nytimes-style
16
16
  >> nytimes_date Date.today
17
17
  # => "May 12, 2011"
18
18
 
19
+ >> nytimes_date Date.today, :hide_current_year => true, :day_of_week => true
20
+ # => "Wednesday, June 15"
21
+
19
22
  >> nytimes_state_abbrev 'AZ'
20
23
  # => "Ariz."
21
24
 
25
+ >> nytimes_state_name '55'
26
+ # => "Wisconsin"
27
+
22
28
  == AUTHOR
23
29
 
24
30
  Andrei Scheinkman, andrei@nytimes.com
data/index.html CHANGED
@@ -105,19 +105,25 @@ two-letter abbreviations; some are hard to tell apart on quick reading.)&rdquo;<
105
105
 
106
106
  </td>
107
107
  <td class=code>
108
- <div class='highlight'><pre> <span class="k">def</span> <span class="nf">nytimes_state_abbrev</span><span class="p">(</span><span class="n">postal_code_or_state_name</span><span class="p">)</span>
109
- <span class="n">state</span> <span class="o">=</span> <span class="n">states</span><span class="o">[</span><span class="n">postal_code_or_state_name</span><span class="o">]</span>
110
- <span class="k">raise</span> <span class="no">ArgumentError</span><span class="o">.</span><span class="n">new</span> <span class="s2">&quot;Unknown postal code or state name: </span><span class="si">#{</span><span class="n">postal_code_or_state_name</span><span class="si">}</span><span class="s2">&quot;</span> <span class="k">unless</span> <span class="n">state</span>
108
+ <div class='highlight'><pre> <span class="k">def</span> <span class="nf">nytimes_state_abbrev</span><span class="p">(</span><span class="n">state_name_or_code</span><span class="p">)</span>
109
+ <span class="n">state</span> <span class="o">=</span> <span class="n">states</span><span class="o">[</span><span class="n">state_name_or_code</span><span class="o">]</span>
110
+ <span class="k">raise</span> <span class="no">ArgumentError</span><span class="o">.</span><span class="n">new</span> <span class="s2">&quot;Unknown postal code, state name or FIPS code: </span><span class="si">#{</span><span class="n">state_name_or_code</span><span class="si">}</span><span class="s2">&quot;</span> <span class="k">unless</span> <span class="n">state</span>
111
111
  <span class="n">state</span><span class="o">[</span><span class="s1">&#39;nytimes_abbrev&#39;</span><span class="o">]</span>
112
112
  <span class="k">end</span>
113
113
 
114
+ <span class="k">def</span> <span class="nf">nytimes_state_name</span><span class="p">(</span><span class="n">state_abbrev_or_code</span><span class="p">)</span>
115
+ <span class="n">state</span> <span class="o">=</span> <span class="n">states</span><span class="o">[</span><span class="n">state_abbrev_or_code</span><span class="o">]</span>
116
+ <span class="k">raise</span> <span class="no">ArgumentError</span><span class="o">.</span><span class="n">new</span> <span class="s2">&quot;Unknown postal code, abbreviation or FIPS code: </span><span class="si">#{</span><span class="n">state_abbrev_or_code</span><span class="si">}</span><span class="s2">&quot;</span> <span class="k">unless</span> <span class="n">state</span>
117
+ <span class="n">state</span><span class="o">[</span><span class="s1">&#39;name&#39;</span><span class="o">]</span>
118
+ <span class="k">end</span>
119
+
114
120
  <span class="kp">private</span>
115
121
 
116
122
  <span class="no">STATE_DATA_FILE</span> <span class="o">=</span> <span class="no">File</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="no">File</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="bp">__FILE__</span><span class="p">),</span> <span class="s1">&#39;nytimes-style/states.yml&#39;</span><span class="p">)</span>
117
123
 
118
124
  <span class="k">def</span> <span class="nf">states</span>
119
125
  <span class="vi">@states</span> <span class="o">||=</span> <span class="no">YAML</span><span class="o">::</span><span class="nb">load</span><span class="p">(</span><span class="no">File</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="no">STATE_DATA_FILE</span><span class="p">))</span><span class="o">.</span><span class="n">inject</span><span class="p">({})</span> <span class="k">do</span> <span class="o">|</span><span class="n">h</span><span class="p">,</span> <span class="n">state</span><span class="o">|</span>
120
- <span class="n">h</span><span class="o">.</span><span class="n">merge</span><span class="p">({</span> <span class="n">state</span><span class="o">[</span><span class="s1">&#39;postal_code&#39;</span><span class="o">]</span> <span class="o">=&gt;</span> <span class="n">state</span><span class="p">,</span> <span class="n">state</span><span class="o">[</span><span class="s1">&#39;name&#39;</span><span class="o">]</span> <span class="o">=&gt;</span> <span class="n">state</span> <span class="p">})</span>
126
+ <span class="n">h</span><span class="o">.</span><span class="n">merge</span><span class="p">({</span> <span class="n">state</span><span class="o">[</span><span class="s1">&#39;postal_code&#39;</span><span class="o">]</span> <span class="o">=&gt;</span> <span class="n">state</span><span class="p">,</span> <span class="n">state</span><span class="o">[</span><span class="s1">&#39;name&#39;</span><span class="o">]</span> <span class="o">=&gt;</span> <span class="n">state</span><span class="p">,</span> <span class="n">state</span><span class="o">[</span><span class="s1">&#39;fips_code&#39;</span><span class="o">]</span> <span class="o">=&gt;</span> <span class="n">state</span> <span class="p">})</span>
121
127
  <span class="k">end</span>
122
128
  <span class="k">end</span>
123
129
 
@@ -45,19 +45,25 @@ module Nytimes
45
45
  # > spaces between initials like N.H. Do not abbreviate Alaska, Hawaii, Idaho,
46
46
  # > Iowa, Ohio and Utah. (Do not ordinarily use the Postal Service’s
47
47
  # > two-letter abbreviations; some are hard to tell apart on quick reading.)"
48
- def nytimes_state_abbrev(postal_code_or_state_name)
49
- state = states[postal_code_or_state_name]
50
- raise ArgumentError.new "Unknown postal code or state name: #{postal_code_or_state_name}" unless state
48
+ def nytimes_state_abbrev(state_name_or_code)
49
+ state = states[state_name_or_code]
50
+ raise ArgumentError.new "Unknown postal code, state name or FIPS code: #{state_name_or_code}" unless state
51
51
  state['nytimes_abbrev']
52
52
  end
53
53
 
54
+ def nytimes_state_name(state_abbrev_or_code)
55
+ state = states[state_abbrev_or_code]
56
+ raise ArgumentError.new "Unknown postal code, abbreviation or FIPS code: #{state_abbrev_or_code}" unless state
57
+ state['name']
58
+ end
59
+
54
60
  private
55
61
 
56
62
  STATE_DATA_FILE = File.join(File.dirname(__FILE__), 'nytimes-style/states.yml')
57
63
 
58
64
  def states
59
65
  @states ||= YAML::load(File.open(STATE_DATA_FILE)).inject({}) do |h, state|
60
- h.merge({ state['postal_code'] => state, state['name'] => state })
66
+ h.merge({ state['postal_code'] => state, state['name'] => state, state['fips_code'] => state })
61
67
  end
62
68
  end
63
69
 
@@ -1,153 +1,200 @@
1
- - nytimes_abbrev: Ala.
2
- postal_code: AL
1
+ - fips_code: 1
3
2
  name: Alabama
4
- - nytimes_abbrev: Alaska
5
- postal_code: AK
3
+ nytimes_abbrev: Ala.
4
+ postal_code: AL
5
+ - fips_code: 2
6
6
  name: Alaska
7
- - nytimes_abbrev: Ariz.
8
- postal_code: AZ
7
+ nytimes_abbrev: Alaska
8
+ postal_code: AK
9
+ - fips_code: 4
9
10
  name: Arizona
10
- - nytimes_abbrev: Ark.
11
- postal_code: AR
11
+ nytimes_abbrev: Ariz.
12
+ postal_code: AZ
13
+ - fips_code: 5
12
14
  name: Arkansas
13
- - nytimes_abbrev: Calif.
14
- postal_code: CA
15
+ nytimes_abbrev: Ark.
16
+ postal_code: AR
17
+ - fips_code: 6
15
18
  name: California
16
- - nytimes_abbrev: Colo.
17
- postal_code: CO
19
+ nytimes_abbrev: Calif.
20
+ postal_code: CA
21
+ - fips_code: 8
18
22
  name: Colorado
19
- - nytimes_abbrev: Conn.
20
- postal_code: CT
23
+ nytimes_abbrev: Colo.
24
+ postal_code: CO
25
+ - fips_code: 9
21
26
  name: Connecticut
22
- - nytimes_abbrev: Del.
23
- postal_code: DE
27
+ nytimes_abbrev: Conn.
28
+ postal_code: CT
29
+ - fips_code: 10
24
30
  name: Delaware
25
- - nytimes_abbrev: D.C.
26
- postal_code: DC
27
- name: District of Columbia
28
- - nytimes_abbrev: Fla.
29
- postal_code: FL
31
+ nytimes_abbrev: Del.
32
+ postal_code: DE
33
+ - fips_code: 12
30
34
  name: Florida
31
- - nytimes_abbrev: Ga.
32
- postal_code: GA
35
+ nytimes_abbrev: Fla.
36
+ postal_code: FL
37
+ - fips_code: 13
33
38
  name: Georgia
34
- - nytimes_abbrev: Hawaii
35
- postal_code: HI
39
+ nytimes_abbrev: Ga.
40
+ postal_code: GA
41
+ - fips_code: 15
36
42
  name: Hawaii
37
- - nytimes_abbrev: Idaho
38
- postal_code: ID
43
+ nytimes_abbrev: Hawaii
44
+ postal_code: HI
45
+ - fips_code: 16
39
46
  name: Idaho
40
- - nytimes_abbrev: Ill.
41
- postal_code: IL
47
+ nytimes_abbrev: Idaho
48
+ postal_code: ID
49
+ - fips_code: 17
42
50
  name: Illinois
43
- - nytimes_abbrev: Ind.
44
- postal_code: IN
51
+ nytimes_abbrev: Ill.
52
+ postal_code: IL
53
+ - fips_code: 18
45
54
  name: Indiana
46
- - nytimes_abbrev: Iowa
47
- postal_code: IA
55
+ nytimes_abbrev: Ind.
56
+ postal_code: IN
57
+ - fips_code: 19
48
58
  name: Iowa
49
- - nytimes_abbrev: Kan.
50
- postal_code: KS
59
+ nytimes_abbrev: Iowa
60
+ postal_code: IA
61
+ - fips_code: 20
51
62
  name: Kansas
52
- - nytimes_abbrev: Ky.
53
- postal_code: KY
63
+ nytimes_abbrev: Kan.
64
+ postal_code: KS
65
+ - fips_code: 21
54
66
  name: Kentucky
55
- - nytimes_abbrev: La.
56
- postal_code: LA
67
+ nytimes_abbrev: Ky.
68
+ postal_code: KY
69
+ - fips_code: 22
57
70
  name: Louisiana
58
- - nytimes_abbrev: Me.
59
- postal_code: ME
71
+ nytimes_abbrev: La.
72
+ postal_code: LA
73
+ - fips_code: 23
60
74
  name: Maine
61
- - nytimes_abbrev: Md.
62
- postal_code: MD
75
+ nytimes_abbrev: Me.
76
+ postal_code: ME
77
+ - fips_code: 24
63
78
  name: Maryland
64
- - nytimes_abbrev: Mass.
65
- postal_code: MA
79
+ nytimes_abbrev: Md.
80
+ postal_code: MD
81
+ - fips_code: 25
66
82
  name: Massachusetts
67
- - nytimes_abbrev: Mich.
68
- postal_code: MI
83
+ nytimes_abbrev: Mass.
84
+ postal_code: MA
85
+ - fips_code: 26
69
86
  name: Michigan
70
- - nytimes_abbrev: Minn.
71
- postal_code: MN
87
+ nytimes_abbrev: Mich.
88
+ postal_code: MI
89
+ - fips_code: 27
72
90
  name: Minnesota
73
- - nytimes_abbrev: Miss.
74
- postal_code: MS
91
+ nytimes_abbrev: Minn.
92
+ postal_code: MN
93
+ - fips_code: 28
75
94
  name: Mississippi
76
- - nytimes_abbrev: Mo.
77
- postal_code: MO
95
+ nytimes_abbrev: Miss.
96
+ postal_code: MS
97
+ - fips_code: 29
78
98
  name: Missouri
79
- - nytimes_abbrev: Mont.
80
- postal_code: MT
99
+ nytimes_abbrev: Mo.
100
+ postal_code: MO
101
+ - fips_code: 30
81
102
  name: Montana
82
- - nytimes_abbrev: Neb.
83
- postal_code: NE
103
+ nytimes_abbrev: Mont.
104
+ postal_code: MT
105
+ - fips_code: 31
84
106
  name: Nebraska
85
- - nytimes_abbrev: Nev.
86
- postal_code: NV
107
+ nytimes_abbrev: Neb.
108
+ postal_code: NE
109
+ - fips_code: 32
87
110
  name: Nevada
88
- - nytimes_abbrev: N.H.
89
- postal_code: NH
111
+ nytimes_abbrev: Nev.
112
+ postal_code: NV
113
+ - fips_code: 33
90
114
  name: New Hampshire
91
- - nytimes_abbrev: N.J.
92
- postal_code: NJ
115
+ nytimes_abbrev: N.H.
116
+ postal_code: NH
117
+ - fips_code: 34
93
118
  name: New Jersey
94
- - nytimes_abbrev: N.M.
95
- postal_code: NM
119
+ nytimes_abbrev: N.J.
120
+ postal_code: NJ
121
+ - fips_code: 35
96
122
  name: New Mexico
97
- - nytimes_abbrev: N.Y.
98
- postal_code: NY
123
+ nytimes_abbrev: N.M.
124
+ postal_code: NM
125
+ - fips_code: 36
99
126
  name: New York
100
- - nytimes_abbrev: N.C.
101
- postal_code: NC
127
+ nytimes_abbrev: N.Y.
128
+ postal_code: NY
129
+ - fips_code: 37
102
130
  name: North Carolina
103
- - nytimes_abbrev: N.D.
104
- postal_code: ND
131
+ nytimes_abbrev: N.C.
132
+ postal_code: NC
133
+ - fips_code: 38
105
134
  name: North Dakota
106
- - nytimes_abbrev: Ohio
107
- postal_code: OH
135
+ nytimes_abbrev: N.D.
136
+ postal_code: ND
137
+ - fips_code: 39
108
138
  name: Ohio
109
- - nytimes_abbrev: Okla.
110
- postal_code: OK
139
+ nytimes_abbrev: Ohio
140
+ postal_code: OH
141
+ - fips_code: 40
111
142
  name: Oklahoma
112
- - nytimes_abbrev: Ore.
113
- postal_code: OR
143
+ nytimes_abbrev: Okla.
144
+ postal_code: OK
145
+ - fips_code: 41
114
146
  name: Oregon
115
- - nytimes_abbrev: Pa.
116
- postal_code: PA
147
+ nytimes_abbrev: Ore.
148
+ postal_code: OR
149
+ - fips_code: 42
117
150
  name: Pennsylvania
118
- - nytimes_abbrev: R.I.
119
- postal_code: RI
151
+ nytimes_abbrev: Pa.
152
+ postal_code: PA
153
+ - fips_code: 44
120
154
  name: Rhode Island
121
- - nytimes_abbrev: S.C.
122
- postal_code: SC
155
+ nytimes_abbrev: R.I.
156
+ postal_code: RI
157
+ - fips_code: 45
123
158
  name: South Carolina
124
- - nytimes_abbrev: S.D.
125
- postal_code: SD
159
+ nytimes_abbrev: S.C.
160
+ postal_code: SC
161
+ - fips_code: 46
126
162
  name: South Dakota
127
- - nytimes_abbrev: Tenn.
128
- postal_code: TN
163
+ nytimes_abbrev: S.D.
164
+ postal_code: SD
165
+ - fips_code: 47
129
166
  name: Tennessee
130
- - nytimes_abbrev: Tex.
131
- postal_code: TX
167
+ nytimes_abbrev: Tenn.
168
+ postal_code: TN
169
+ - fips_code: 48
132
170
  name: Texas
133
- - nytimes_abbrev: Utah
134
- postal_code: UT
171
+ nytimes_abbrev: Tex.
172
+ postal_code: TX
173
+ - fips_code: 49
135
174
  name: Utah
136
- - nytimes_abbrev: Vt.
137
- postal_code: VT
175
+ nytimes_abbrev: Utah
176
+ postal_code: UT
177
+ - fips_code: 50
138
178
  name: Vermont
139
- - nytimes_abbrev: Va.
140
- postal_code: VA
179
+ nytimes_abbrev: Vt.
180
+ postal_code: VT
181
+ - fips_code: 51
141
182
  name: Virginia
142
- - nytimes_abbrev: Wash.
143
- postal_code: WA
183
+ nytimes_abbrev: Va.
184
+ postal_code: VA
185
+ - fips_code: 53
144
186
  name: Washington
145
- - nytimes_abbrev: W.Va.
146
- postal_code: WV
187
+ nytimes_abbrev: Wash.
188
+ postal_code: WA
189
+ - fips_code: 54
147
190
  name: West Virginia
148
- - nytimes_abbrev: Wis.
149
- postal_code: WI
191
+ nytimes_abbrev: W.Va.
192
+ postal_code: WV
193
+ - fips_code: 55
150
194
  name: Wisconsin
151
- - nytimes_abbrev: Wyo.
152
- postal_code: WY
195
+ nytimes_abbrev: Wis.
196
+ postal_code: WI
197
+ - fips_code: 56
153
198
  name: Wyoming
199
+ nytimes_abbrev: Wyo.
200
+ postal_code: WY
@@ -1,5 +1,5 @@
1
1
  module Nytimes
2
2
  module Style
3
- VERSION = "0.3.0"
3
+ VERSION = "0.4.0"
4
4
  end
5
5
  end
@@ -21,10 +21,18 @@ class NytimesStyleTest < Test::Unit::TestCase
21
21
 
22
22
  def test_state_abbrevs
23
23
  assert_equal 'Ariz.', nytimes_state_abbrev('AZ')
24
- assert_equal 'N.H.', nytimes_state_abbrev('New Hampshire'),
24
+ assert_equal 'N.H.', nytimes_state_abbrev('New Hampshire')
25
+ assert_equal 'Wis.', nytimes_state_abbrev(55)
25
26
  assert_raise(ArgumentError) { nytimes_state_abbrev('Canada') }
26
27
  end
27
28
 
29
+ def test_state_names
30
+ assert_equal 'Arizona', nytimes_state_name('AZ')
31
+ assert_equal 'New Hampshire', nytimes_state_name('New Hampshire')
32
+ assert_equal 'Wisconsin', nytimes_state_name(55)
33
+ assert_raise(ArgumentError) { nytimes_state_name(242) }
34
+ end
35
+
28
36
  def test_numbers
29
37
  assert_equal 'five', nytimes_number(5)
30
38
  assert_equal '12', nytimes_number(12)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nytimes-style
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
5
- prerelease: false
4
+ hash: 15
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
- - 3
8
+ - 4
9
9
  - 0
10
- version: 0.3.0
10
+ version: 0.4.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Andrei Scheinkman
@@ -15,8 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-06-09 00:00:00 -04:00
19
- default_executable:
18
+ date: 2011-06-15 00:00:00 Z
20
19
  dependencies: []
21
20
 
22
21
  description: Format numbers and dates according to The New York Times Manual of Style
@@ -38,7 +37,6 @@ files:
38
37
  - lib/nytimes-style/version.rb
39
38
  - nytimes-style.gemspec
40
39
  - test/test_nytimes_style.rb
41
- has_rdoc: true
42
40
  homepage: http://github.com/ascheink/nytimes-style
43
41
  licenses: []
44
42
 
@@ -68,7 +66,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
68
66
  requirements: []
69
67
 
70
68
  rubyforge_project:
71
- rubygems_version: 1.3.7
69
+ rubygems_version: 1.8.5
72
70
  signing_key:
73
71
  specification_version: 3
74
72
  summary: New York Times style