nytimes-style 0.4.0 → 0.5.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.
- data/README.rdoc +8 -3
- data/Rakefile +2 -2
- data/index.html +22 -2
- data/lib/nytimes-style.rb +11 -0
- data/lib/nytimes-style/version.rb +1 -1
- data/nytimes-style.gemspec +2 -2
- data/test/test_nytimes_style.rb +7 -0
- metadata +4 -13
data/README.rdoc
CHANGED
@@ -17,7 +17,10 @@ Annotated source code: http://ascheink.github.com/nytimes-style
|
|
17
17
|
# => "May 12, 2011"
|
18
18
|
|
19
19
|
>> nytimes_date Date.today, :hide_current_year => true, :day_of_week => true
|
20
|
-
# => "Wednesday, June 15"
|
20
|
+
# => "Wednesday, June 15"
|
21
|
+
|
22
|
+
>> nytimes_time Time.now, :hide_abbreviation => false
|
23
|
+
# => "2:30 p.m."
|
21
24
|
|
22
25
|
>> nytimes_state_abbrev 'AZ'
|
23
26
|
# => "Ariz."
|
@@ -25,6 +28,8 @@ Annotated source code: http://ascheink.github.com/nytimes-style
|
|
25
28
|
>> nytimes_state_name '55'
|
26
29
|
# => "Wisconsin"
|
27
30
|
|
28
|
-
==
|
31
|
+
== AUTHORS
|
32
|
+
|
33
|
+
Andrei Scheinkman, andreischeinkman@gmail.com
|
29
34
|
|
30
|
-
|
35
|
+
Tyson Evans, tyson.evans@nytimes.com
|
data/Rakefile
CHANGED
@@ -16,12 +16,12 @@ namespace :gem do
|
|
16
16
|
desc 'Build and install the gem'
|
17
17
|
task :install do
|
18
18
|
sh "gem build nytimes-style.gemspec"
|
19
|
-
sh "
|
19
|
+
sh "gem install #{Dir['*.gem'].join(' ')} --local --no-ri --no-rdoc"
|
20
20
|
end
|
21
21
|
|
22
22
|
desc 'Uninstall the jammit gem'
|
23
23
|
task :uninstall do
|
24
|
-
sh "
|
24
|
+
sh "gem uninstall -x nytimes-style"
|
25
25
|
end
|
26
26
|
|
27
27
|
end
|
data/index.html
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
<head>
|
4
4
|
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
5
5
|
<title>nytimes-style.rb</title>
|
6
|
-
<link rel="stylesheet" href="http://github.com/
|
6
|
+
<link rel="stylesheet" href="http://jashkenas.github.com/docco/resources/docco.css">
|
7
7
|
</head>
|
8
8
|
<body>
|
9
9
|
<div id='container'>
|
@@ -89,7 +89,8 @@ April, May, June and July except as a last resort in a chart or table.”</p
|
|
89
89
|
<span class="k">def</span> <span class="nf">nytimes_month</span><span class="p">(</span><span class="n">month</span><span class="p">)</span>
|
90
90
|
<span class="k">raise</span> <span class="no">ArgumentError</span><span class="o">.</span><span class="n">new</span> <span class="s2">"Unknown month: </span><span class="si">#{</span><span class="n">month</span><span class="si">}</span><span class="s2">"</span> <span class="k">unless</span> <span class="p">(</span><span class="mi">1</span><span class="o">.</span><span class="n">.</span><span class="mi">12</span><span class="p">)</span><span class="o">.</span><span class="n">include?</span> <span class="n">month</span>
|
91
91
|
<span class="sx">%w(Jan. Feb. March April May June July Aug. Sept. Oct. Nov. Dec.)</span><span class="o">[</span><span class="n">month</span> <span class="o">-</span> <span class="mi">1</span><span class="o">]</span>
|
92
|
-
<span class="k">end</span
|
92
|
+
<span class="k">end</span>
|
93
|
+
</pre></div>
|
93
94
|
</td>
|
94
95
|
</tr>
|
95
96
|
<tr id='section-5'>
|
@@ -97,6 +98,25 @@ April, May, June and July except as a last resort in a chart or table.”</p
|
|
97
98
|
<div class="pilwrap">
|
98
99
|
<a class="pilcrow" href="#section-5">¶</a>
|
99
100
|
</div>
|
101
|
+
<blockquote><p>“Use numerals in giving clock time: 10:30 a.m.; 10:30.
|
102
|
+
Do not use half-past 10 except in a direct quotation.
|
103
|
+
Also avoid the redundant 10:30 a.m. yesterday morning and Monday afternoon at 2 p.m.”</p></blockquote>
|
104
|
+
</td>
|
105
|
+
<td class=code>
|
106
|
+
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">nytimes_time</span><span class="p">(</span><span class="n">time</span><span class="p">,</span> <span class="n">opts</span><span class="o">=</span><span class="p">{})</span>
|
107
|
+
<span class="k">raise</span> <span class="no">ArgumentError</span><span class="o">.</span><span class="n">new</span> <span class="s2">"Time or DateTime required"</span> <span class="k">unless</span> <span class="n">time</span><span class="o">.</span><span class="n">class</span> <span class="o">==</span> <span class="no">DateTime</span> <span class="o">||</span> <span class="n">time</span><span class="o">.</span><span class="n">class</span> <span class="o">==</span> <span class="no">Time</span>
|
108
|
+
<span class="n">str</span> <span class="o">=</span> <span class="s2">""</span>
|
109
|
+
<span class="n">str</span> <span class="o"><<</span> <span class="n">time</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">"%l:%M"</span><span class="p">)</span><span class="o">.</span><span class="n">strip</span>
|
110
|
+
<span class="n">str</span> <span class="o"><<</span> <span class="n">time</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">" %p"</span><span class="p">)</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="s1">'PM'</span><span class="p">,</span><span class="s1">'p.m.'</span><span class="p">)</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="s1">'AM'</span><span class="p">,</span><span class="s1">'a.m.'</span><span class="p">)</span> <span class="k">unless</span> <span class="n">opts</span><span class="o">[</span><span class="ss">:hide_abbreviation</span><span class="o">]</span>
|
111
|
+
<span class="n">str</span>
|
112
|
+
<span class="k">end</span></pre></div>
|
113
|
+
</td>
|
114
|
+
</tr>
|
115
|
+
<tr id='section-6'>
|
116
|
+
<td class=docs>
|
117
|
+
<div class="pilwrap">
|
118
|
+
<a class="pilcrow" href="#section-6">¶</a>
|
119
|
+
</div>
|
100
120
|
<blockquote><p>“The abbreviation to be used for each state, after the names of cities,
|
101
121
|
towns and counties… Use no
|
102
122
|
spaces between initials like N.H. Do not abbreviate Alaska, Hawaii, Idaho,
|
data/lib/nytimes-style.rb
CHANGED
@@ -39,6 +39,17 @@ module Nytimes
|
|
39
39
|
raise ArgumentError.new "Unknown month: #{month}" unless (1..12).include? month
|
40
40
|
%w(Jan. Feb. March April May June July Aug. Sept. Oct. Nov. Dec.)[month - 1]
|
41
41
|
end
|
42
|
+
|
43
|
+
# > "Use numerals in giving clock time: 10:30 a.m.; 10:30.
|
44
|
+
# > Do not use half-past 10 except in a direct quotation.
|
45
|
+
# > Also avoid the redundant 10:30 a.m. yesterday morning and Monday afternoon at 2 p.m."
|
46
|
+
def nytimes_time(time, opts={})
|
47
|
+
raise ArgumentError.new "Time or DateTime required" unless time.class == DateTime || time.class == Time
|
48
|
+
str = ""
|
49
|
+
str << time.strftime("%l:%M").strip
|
50
|
+
str << time.strftime(" %p").sub('PM','p.m.').sub('AM','a.m.') unless opts[:hide_abbreviation]
|
51
|
+
str
|
52
|
+
end
|
42
53
|
|
43
54
|
# > "The abbreviation to be used for each state, after the names of cities,
|
44
55
|
# > towns and counties… Use no
|
data/nytimes-style.gemspec
CHANGED
@@ -6,8 +6,8 @@ Gem::Specification.new do |s|
|
|
6
6
|
s.name = "nytimes-style"
|
7
7
|
s.version = Nytimes::Style::VERSION
|
8
8
|
s.platform = Gem::Platform::RUBY
|
9
|
-
s.authors = ["Andrei Scheinkman"]
|
10
|
-
s.email = ["andrei@nytimes.com"]
|
9
|
+
s.authors = ["Andrei Scheinkman", "Tyson Evans"]
|
10
|
+
s.email = ["andrei@nytimes.com", "tyson.evans@nytimes.com"]
|
11
11
|
s.homepage = "http://github.com/ascheink/nytimes-style"
|
12
12
|
s.summary = %q{New York Times style}
|
13
13
|
s.description = %q{Format numbers and dates according to The New York Times Manual of Style}
|
data/test/test_nytimes_style.rb
CHANGED
@@ -19,6 +19,13 @@ class NytimesStyleTest < Test::Unit::TestCase
|
|
19
19
|
assert_equal "Feb. 12", nytimes_date(recent_date, :hide_current_year => true)
|
20
20
|
end
|
21
21
|
|
22
|
+
def test_time
|
23
|
+
time = Time.local(2011, 7, 12, 14, 30, 30)
|
24
|
+
assert_equal "2:30 p.m.", nytimes_time(time)
|
25
|
+
assert_equal "2:30", nytimes_time(time, :hide_abbreviation => true)
|
26
|
+
assert_raise(ArgumentError) { nytimes_time(Date.today) }
|
27
|
+
end
|
28
|
+
|
22
29
|
def test_state_abbrevs
|
23
30
|
assert_equal 'Ariz.', nytimes_state_abbrev('AZ')
|
24
31
|
assert_equal 'N.H.', nytimes_state_abbrev('New Hampshire')
|
metadata
CHANGED
@@ -1,26 +1,23 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nytimes-style
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 15
|
5
4
|
prerelease:
|
6
|
-
|
7
|
-
- 0
|
8
|
-
- 4
|
9
|
-
- 0
|
10
|
-
version: 0.4.0
|
5
|
+
version: 0.5.0
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- Andrei Scheinkman
|
9
|
+
- Tyson Evans
|
14
10
|
autorequire:
|
15
11
|
bindir: bin
|
16
12
|
cert_chain: []
|
17
13
|
|
18
|
-
date: 2011-
|
14
|
+
date: 2011-07-13 00:00:00 Z
|
19
15
|
dependencies: []
|
20
16
|
|
21
17
|
description: Format numbers and dates according to The New York Times Manual of Style
|
22
18
|
email:
|
23
19
|
- andrei@nytimes.com
|
20
|
+
- tyson.evans@nytimes.com
|
24
21
|
executables: []
|
25
22
|
|
26
23
|
extensions: []
|
@@ -50,18 +47,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
50
47
|
requirements:
|
51
48
|
- - ">="
|
52
49
|
- !ruby/object:Gem::Version
|
53
|
-
hash: 3
|
54
|
-
segments:
|
55
|
-
- 0
|
56
50
|
version: "0"
|
57
51
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
58
52
|
none: false
|
59
53
|
requirements:
|
60
54
|
- - ">="
|
61
55
|
- !ruby/object:Gem::Version
|
62
|
-
hash: 3
|
63
|
-
segments:
|
64
|
-
- 0
|
65
56
|
version: "0"
|
66
57
|
requirements: []
|
67
58
|
|