dotiw 0.7.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.bundle/config +1 -0
- data/Gemfile.lock +1 -1
- data/README.markdown +14 -0
- data/lib/dotiw.rb +2 -0
- data/lib/dotiw/version.rb +1 -1
- data/spec/lib/dotiw_spec.rb +5 -1
- metadata +4 -4
data/.bundle/config
CHANGED
data/Gemfile.lock
CHANGED
data/README.markdown
CHANGED
@@ -115,6 +115,20 @@ Using something other than ', and':
|
|
115
115
|
>> distance_of_time_in_words(Time.now, Time.now + 1.hour + 1.minute + 1.second, true, { :last_word_connector => ', finally ' })
|
116
116
|
=> "1 hour, 1 minute, finally 1 second"
|
117
117
|
|
118
|
+
#### :highest\_measure\_only
|
119
|
+
|
120
|
+
For times when Rails `distance_of_time_in_words` is not precise enough and `DOTIW` is too precise. For instance, if you only want to know the highest time part (measure) that elapsed between two dates.
|
121
|
+
|
122
|
+
>> distance_of_time_in_words(Time.now, Time.now + 1.hour + 1.minute + 1.second, true, { :highest_measure_only => true })
|
123
|
+
=> "1 hour"
|
124
|
+
|
125
|
+
Notice how minutes and seconds were removed from the output. Another example:
|
126
|
+
|
127
|
+
>> distance_of_time_in_words(Time.now, Time.now + 1.minute + 1.second, true, { :highest_measure_only => true })
|
128
|
+
=> "1 minute"
|
129
|
+
|
130
|
+
Minutes are the highest measure, so seconds were discarded from the output.
|
131
|
+
|
118
132
|
## distance\_of\_time
|
119
133
|
|
120
134
|
If you have simply a number of seconds you can get the "stringified" version of this by using `distance_of_time`:
|
data/lib/dotiw.rb
CHANGED
@@ -60,6 +60,8 @@ module ActionView
|
|
60
60
|
|
61
61
|
output = []
|
62
62
|
|
63
|
+
time_measurements = Hash[*time_measurements.first] if options.delete(:highest_measure_only)
|
64
|
+
|
63
65
|
time_measurements.each do |measure, key|
|
64
66
|
name = options[:singularize] == :always || hash[key].between?(-1, 1) ? key.singularize : key
|
65
67
|
output += ["#{hash[key]} #{name}"]
|
data/lib/dotiw/version.rb
CHANGED
data/spec/lib/dotiw_spec.rb
CHANGED
@@ -199,10 +199,14 @@ describe "A better distance_of_time_in_words" do
|
|
199
199
|
Time.now + 1.year + 2.months + 3.days + 4.hours + 5.minutes + 6.seconds,
|
200
200
|
{ "except" => "minutes" },
|
201
201
|
"1 year, 2 months, 3 days, 4 hours, and 6 seconds"],
|
202
|
+
[Time.now,
|
203
|
+
Time.now + 1.hour + 2.minutes + 3.seconds,
|
204
|
+
{ :highest_measure_only => true },
|
205
|
+
"1 hour"],
|
202
206
|
[Time.now,
|
203
207
|
Time.now + 2.year + 3.months + 4.days + 5.hours + 6.minutes + 7.seconds,
|
204
208
|
{ :singularize => :always },
|
205
|
-
"2 year, 3 month, 4 day,
|
209
|
+
"2 year, 3 month, 4 day, 4 hour, 6 minute, and 7 second"]
|
206
210
|
].each do |start, finish, options, output|
|
207
211
|
it "should be #{output}" do
|
208
212
|
distance_of_time_in_words(start, finish, true, options).should eql(output)
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dotiw
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
|
+
- 1
|
7
8
|
- 0
|
8
|
-
- 7
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 1.0.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ryan Bigg
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-12-23 00:00:00 +
|
18
|
+
date: 2010-12-23 00:00:00 +11:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|