read_my_time 0.1.1 → 0.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e1168fe437fae679a611e121c23d5b8e446a788a
4
- data.tar.gz: fe0063006b908e5d17696c31fd8a7303047f79f3
3
+ metadata.gz: e1ed1d29a18bfca22ca29db1b99c761c788ae667
4
+ data.tar.gz: 17b23d918b8d633aab825e362cb44956e86149cc
5
5
  SHA512:
6
- metadata.gz: 987bc0b4bf4fa1e83ce0ce199713c89c0688d0b2b37a6558b4e690f16bf849f036001e81cabd024489a9c86045f10f1284841c888320fb49254191e507e1e56b
7
- data.tar.gz: 8de1c60bf1d0e2467258db9b4a87da897213476da24f6055bde285b102f3bbe59b5a870e01d1be7a8ccd692108b2b958b2bfe81725882a51ff96434d2e878125
6
+ metadata.gz: c8bc1ad0f29e46b533ecdc8f1bab19807f42dd7a5805508855a7096c64c326511eb88167159fea39f6782fb2b012b6c4cf45a8beeb479500972182549672e171
7
+ data.tar.gz: 3dfbb0320843744826b28bd45fb94412c3cac4b97242e3e28c3d6092013f7c395fc993547ad9c794c40230da3c6468dc7335e72f8f56b76bca21248a0ca9f480
@@ -1,40 +1,3 @@
1
1
  class Numeric
2
-
3
- def seconds_in_words(opts = {})
4
- seconds_int = self.to_i
5
-
6
- return '' if seconds_int <= 0
7
-
8
- # options by default
9
- opts[:skip_seconds] = false if opts[:skip_seconds].nil?
10
-
11
- unit_time_dividers.inject([]) do |s, (unit_time, divider)|
12
-
13
- if seconds_int > 0
14
- seconds_int, rest = seconds_int.divmod(divider)
15
-
16
- if rest.nonzero? && !(unit_time == :seconds && opts[:skip_seconds])
17
- word = I18n.t(locale_prefix + unit_time.to_s, count: rest)
18
- s.unshift("#{rest} #{word}")
19
- end
20
- end
21
- s
22
- end.join(' ')
23
-
24
- end
25
-
26
- # Used to localize
27
- def locale_prefix
28
- 'read_my_time.'
29
- end
30
-
31
- def unit_time_dividers
32
- {
33
- seconds: 60,
34
- minutes: 60,
35
- hours: 24,
36
- days: 365
37
- }
38
- end
39
-
2
+ include ReadMyTime::Reader
40
3
  end
@@ -0,0 +1,42 @@
1
+ module ReadMyTime
2
+ module Reader
3
+
4
+ def seconds_in_words(opts = {})
5
+ seconds_int = self.to_i
6
+
7
+ return '' if seconds_int <= 0
8
+
9
+ # options by default
10
+ opts[:skip_seconds] = false if opts[:skip_seconds].nil?
11
+
12
+ unit_time_dividers.inject([]) do |s, (unit_time, divider)|
13
+
14
+ if seconds_int > 0
15
+ seconds_int, rest = seconds_int.divmod(divider)
16
+
17
+ if rest.nonzero? && !(unit_time == :seconds && opts[:skip_seconds])
18
+ word = I18n.t(unit_time.to_s, count: rest, scope: locale_prefix)
19
+ s.unshift("#{rest} #{word}")
20
+ end
21
+ end
22
+ s
23
+ end.join(' ')
24
+
25
+ end
26
+
27
+ # Used to localize
28
+ def locale_prefix
29
+ 'read_my_time'
30
+ end
31
+
32
+ def unit_time_dividers
33
+ {
34
+ seconds: 60,
35
+ minutes: 60,
36
+ hours: 24,
37
+ days: 365
38
+ }
39
+ end
40
+
41
+ end
42
+ end
data/lib/read_my_time.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'read_my_time/reader'
1
2
  require 'read_my_time/numeric'
2
3
  require 'i18n'
3
4
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: read_my_time
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Zaba
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.6.11
27
27
  description: Humanize your times in your locale language. It is plain Ruby, you don't
28
- need Rails or Sinatra, but it works great with them also.
28
+ need Rails or Sinatra, but it works great with them.
29
29
  email: dpzaba@gmail.com
30
30
  executables: []
31
31
  extensions: []
@@ -33,6 +33,7 @@ extra_rdoc_files: []
33
33
  files:
34
34
  - lib/read_my_time.rb
35
35
  - lib/read_my_time/numeric.rb
36
+ - lib/read_my_time/reader.rb
36
37
  homepage: https://github.com/dpzaba/read_my_time
37
38
  licenses:
38
39
  - MIT