rails-units 1.6.0 → 1.7.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.
- data/RakeFile +1 -1
- data/VERSION +1 -1
- data/lib/rails_units/time.rb +2 -2
- data/lib/rails_units/unit_definitions.rb +10 -13
- data/rails-units-1.6.0.gem +0 -0
- data/rails-units.gemspec +5 -4
- data/test/test_cache.rb +6 -6
- metadata +35 -12
data/RakeFile
CHANGED
@@ -9,7 +9,7 @@ begin
|
|
9
9
|
gem.name = "rails-units"
|
10
10
|
gem.summary = %Q{A class that performs unit conversions and unit math}
|
11
11
|
gem.description = %Q{Provides classes and methods to perform unit math and conversions}
|
12
|
-
gem.authors = ["Kevin Olbrich, Ph.D."
|
12
|
+
gem.authors = ["Kevin Olbrich, Ph.D."]
|
13
13
|
gem.email = ["spike@scpike.net"]
|
14
14
|
gem.homepage = "https://github.com/scpike/rails-units"
|
15
15
|
gem.files.exclude(".*")
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.7.1
|
data/lib/rails_units/time.rb
CHANGED
@@ -11,12 +11,12 @@ class Time
|
|
11
11
|
|
12
12
|
# Convert a duration to a Time value by considering the duration to be the number of seconds since the
|
13
13
|
# epoch
|
14
|
-
def self.at(arg
|
14
|
+
def self.at(arg)
|
15
15
|
case arg
|
16
16
|
when Unit
|
17
17
|
unit_time_at(arg.to("s").scalar)
|
18
18
|
else
|
19
|
-
unit_time_at(arg
|
19
|
+
unit_time_at(arg)
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
class Unit < Numeric
|
2
|
-
UNIT_DEFINITIONS = {
|
2
|
+
UNIT_DEFINITIONS = {
|
3
3
|
# prefixes
|
4
4
|
'<googol>' => [%w{googol}, 1e100, :prefix],
|
5
5
|
'<kibi>' => [%w{Ki Kibi kibi}, 2**10, :prefix],
|
@@ -44,9 +44,7 @@ UNIT_DEFINITIONS = {
|
|
44
44
|
'<rod>' => [%w{rd rod rods}, 5.029, :length, %w{<meter>}],
|
45
45
|
'<mil>' => [%w{mil mils}, 0.0000254, :length, %w{<meter>}],
|
46
46
|
'<angstrom>' =>[%w{ang angstrom angstroms}, Rational(1,1e10), :length, %w{<meter>}],
|
47
|
-
'<fathom>' => [%w{fathom fathoms}, 1.829, :length, %w{<meter>}],
|
48
|
-
'<pica>' => [%w{pica picas}, 0.004217, :length, %w{<meter>}],
|
49
|
-
'<point>' => [%w{pt point points}, 0.0003514, :length, %w{<meter>}],
|
47
|
+
'<fathom>' => [%w{fathom fathoms}, 1.829, :length, %w{<meter>}],
|
50
48
|
'<redshift>' => [%w{z red-shift}, 1.302773e26, :length, %w{<meter>}],
|
51
49
|
'<AU>' => [%w{AU astronomical-unit}, 149597900000, :length, %w{<meter>}],
|
52
50
|
'<light-second>'=>[%w{ls light-second}, 299792500, :length, %w{<meter>}],
|
@@ -86,7 +84,7 @@ UNIT_DEFINITIONS = {
|
|
86
84
|
'<mph>' => [%w{mph}, 0.44704, :speed, %w{<meter>}, %w{<second>}],
|
87
85
|
'<knot>' => [%w{kt kn kts knot knots}, 0.514444444, :speed, %w{<meter>}, %w{<second>}],
|
88
86
|
'<fps>' => [%w{fps}, 0.3048, :speed, %w{<meter>}, %w{<second>}],
|
89
|
-
|
87
|
+
|
90
88
|
#acceleration
|
91
89
|
'<gee>' => [%w{gee}, 9.80655, :acceleration, %w{<meter>}, %w{<second> <second>}],
|
92
90
|
|
@@ -99,11 +97,11 @@ UNIT_DEFINITIONS = {
|
|
99
97
|
'<temp-C>' => [%w{tempC}, 1, :temperature, %w{<temp-K>}],
|
100
98
|
'<temp-F>' => [%w{tempF}, Rational(1,1.8), :temperature, %w{<temp-K>}],
|
101
99
|
'<temp-R>' => [%w{tempR}, Rational(1,1.8), :temperature, %w{<temp-K>}],
|
102
|
-
|
100
|
+
|
103
101
|
#time
|
104
102
|
'<second>'=> [%w{s sec second seconds}, 1, :time, %w{<second>}],
|
105
|
-
'<minute>'=> [%w{min minute minutes}, 60, :time, %w{<second>}],
|
106
|
-
'<hour>'=> [%w{h hr hrs hour hours}, 3600, :time, %w{<second>}],
|
103
|
+
'<minute>'=> [%w{min minute minutes}, 60, :time, %w{<second>}],
|
104
|
+
'<hour>'=> [%w{h hr hrs hour hours}, 3600, :time, %w{<second>}],
|
107
105
|
'<day>'=> [%w{d day days}, 3600*24, :time, %w{<second>}],
|
108
106
|
'<week>'=> [%w{wk week weeks}, 7*3600*24, :time, %w{<second>}],
|
109
107
|
'<fortnight>'=> [%w{fortnight fortnights}, 1209600, :time, %W{<second>}],
|
@@ -113,7 +111,6 @@ UNIT_DEFINITIONS = {
|
|
113
111
|
|
114
112
|
#pressure
|
115
113
|
'<pascal>' => [%w{Pa pascal Pascal}, 1, :pressure, %w{<kilogram>},%w{<meter> <second> <second>}],
|
116
|
-
'<bar>' => [%w{bar bars}, 100000, :pressure, %w{<kilogram>},%w{<meter> <second> <second>}],
|
117
114
|
'<mmHg>' => [%w{mmHg}, 133.322368,:pressure, %w{<kilogram>},%w{<meter> <second> <second>}],
|
118
115
|
'<inHg>' => [%w{inHg}, 3386.3881472,:pressure, %w{<kilogram>},%w{<meter> <second> <second>}],
|
119
116
|
'<torr>' => [%w{torr}, 133.322368,:pressure, %w{<kilogram>},%w{<meter> <second> <second>}],
|
@@ -122,7 +119,7 @@ UNIT_DEFINITIONS = {
|
|
122
119
|
'<psi>' => [%w{psi}, 6894.76,:pressure, %w{<kilogram>},%w{<meter> <second> <second>}],
|
123
120
|
'<cmh2o>' => [%w{cmH2O}, 98.0638,:pressure, %w{<kilogram>},%w{<meter> <second> <second>}],
|
124
121
|
'<inh2o>' => [%w{inH2O}, 249.082052,:pressure, %w{<kilogram>},%w{<meter> <second> <second>}],
|
125
|
-
|
122
|
+
|
126
123
|
#viscosity
|
127
124
|
'<poise>' => [%w{P poise}, Rational(1,10), :viscosity, %w{<kilogram>},%w{<meter> <second>} ],
|
128
125
|
'<stokes>' => [%w{St stokes}, Rational(1,1e4), :viscosity, %w{<meter> <meter>}, %w{<second>}],
|
@@ -215,7 +212,7 @@ UNIT_DEFINITIONS = {
|
|
215
212
|
'<sievert>' => [%w{Sv sievert sieverts}, 1, :radiation, %w{<meter> <meter>}, %w{<second> <second>}],
|
216
213
|
'<becquerel>' => [%w{Bq bequerel bequerels}, 1, :radiation, %w{<1>},%w{<second>}],
|
217
214
|
'<curie>' => [%w{Ci curie curies}, 3.7e10, :radiation, %w{<1>},%w{<second>}],
|
218
|
-
|
215
|
+
|
219
216
|
# rate
|
220
217
|
'<cpm>' => [%w{cpm}, Rational(1,60), :rate, %w{<count>},%w{<second>}],
|
221
218
|
'<dpm>' => [%w{dpm}, Rational(1,60), :rate, %w{<count>},%w{<second>}],
|
@@ -232,7 +229,7 @@ UNIT_DEFINITIONS = {
|
|
232
229
|
#other
|
233
230
|
'<cell>' => [%w{cells cell}, 1, :counting, %w{<each>}],
|
234
231
|
'<each>' => [%w{each}, 1, :counting, %w{<each>}],
|
235
|
-
'<count>' => [%w{count}, 1, :counting, %w{<each>}],
|
232
|
+
'<count>' => [%w{count}, 1, :counting, %w{<each>}],
|
236
233
|
'<base-pair>' => [%w{bp}, 1, :counting, %w{<each>}],
|
237
234
|
'<nucleotide>' => [%w{nt}, 1, :counting, %w{<each>}],
|
238
235
|
'<molecule>' => [%w{molecule molecules}, 1, :counting, %w{<1>}],
|
@@ -245,4 +242,4 @@ UNIT_DEFINITIONS = {
|
|
245
242
|
|
246
243
|
|
247
244
|
} # doc
|
248
|
-
end
|
245
|
+
end
|
Binary file
|
data/rails-units.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "rails-units"
|
8
|
-
s.version = "1.
|
8
|
+
s.version = "1.7.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["Kevin Olbrich, Ph.D."
|
12
|
-
s.date = "
|
11
|
+
s.authors = ["Kevin Olbrich, Ph.D."]
|
12
|
+
s.date = "2015-02-13"
|
13
13
|
s.description = "Provides classes and methods to perform unit math and conversions"
|
14
14
|
s.email = ["spike@scpike.net"]
|
15
15
|
s.extra_rdoc_files = [
|
@@ -42,6 +42,7 @@ Gem::Specification.new do |s|
|
|
42
42
|
"lib/ruby_units/string.rb",
|
43
43
|
"rails-units-1.3.1.gem",
|
44
44
|
"rails-units-1.4.1.gem",
|
45
|
+
"rails-units-1.6.0.gem",
|
45
46
|
"rails-units.gemspec",
|
46
47
|
"spec/rails-units/array_spec.rb",
|
47
48
|
"spec/rails-units/complex_spec.rb",
|
@@ -58,7 +59,7 @@ Gem::Specification.new do |s|
|
|
58
59
|
]
|
59
60
|
s.homepage = "https://github.com/scpike/rails-units"
|
60
61
|
s.require_paths = ["lib"]
|
61
|
-
s.rubygems_version = "1.8.
|
62
|
+
s.rubygems_version = "1.8.24"
|
62
63
|
s.summary = "A class that performs unit conversions and unit math"
|
63
64
|
|
64
65
|
if s.respond_to? :specification_version then
|
data/test/test_cache.rb
CHANGED
@@ -1,26 +1,26 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'test/unit'
|
3
|
-
require '
|
3
|
+
require 'rails-units'
|
4
4
|
|
5
5
|
class TestCache < Test::Unit::TestCase
|
6
6
|
def setup
|
7
7
|
Unit::Cache.clear
|
8
8
|
end
|
9
|
-
|
9
|
+
|
10
10
|
def test_clear
|
11
11
|
Unit::Cache.set("m", "m".unit)
|
12
12
|
Unit::Cache.clear
|
13
13
|
assert_nil(Unit::Cache.get('m'))
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
def test_set_cache
|
17
17
|
assert_nothing_raised { Unit::Cache.set("m", "m".unit) }
|
18
18
|
assert Unit::Cache.get.keys.include?('m')
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
def test_get_cache
|
22
22
|
Unit::Cache.set("m", "m".unit)
|
23
23
|
assert_equal("m".unit, Unit::Cache.get['m'])
|
24
24
|
end
|
25
|
-
|
26
|
-
end
|
25
|
+
|
26
|
+
end
|
metadata
CHANGED
@@ -1,20 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-units
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Kevin Olbrich, Ph.D.
|
9
|
-
- Stephen Pike
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2015-02-13 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: bundler
|
17
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
18
17
|
none: false
|
19
18
|
requirements:
|
20
19
|
- - ~>
|
@@ -22,10 +21,15 @@ dependencies:
|
|
22
21
|
version: '1.0'
|
23
22
|
type: :development
|
24
23
|
prerelease: false
|
25
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.0'
|
26
30
|
- !ruby/object:Gem::Dependency
|
27
31
|
name: rcov
|
28
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
29
33
|
none: false
|
30
34
|
requirements:
|
31
35
|
- - ! '>='
|
@@ -33,10 +37,15 @@ dependencies:
|
|
33
37
|
version: '0'
|
34
38
|
type: :development
|
35
39
|
prerelease: false
|
36
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
37
46
|
- !ruby/object:Gem::Dependency
|
38
47
|
name: jeweler
|
39
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
40
49
|
none: false
|
41
50
|
requirements:
|
42
51
|
- - ! '>='
|
@@ -44,10 +53,15 @@ dependencies:
|
|
44
53
|
version: '0'
|
45
54
|
type: :development
|
46
55
|
prerelease: false
|
47
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
48
62
|
- !ruby/object:Gem::Dependency
|
49
63
|
name: rspec
|
50
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
51
65
|
none: false
|
52
66
|
requirements:
|
53
67
|
- - ~>
|
@@ -55,7 +69,12 @@ dependencies:
|
|
55
69
|
version: '2.5'
|
56
70
|
type: :development
|
57
71
|
prerelease: false
|
58
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '2.5'
|
59
78
|
description: Provides classes and methods to perform unit math and conversions
|
60
79
|
email:
|
61
80
|
- spike@scpike.net
|
@@ -90,6 +109,7 @@ files:
|
|
90
109
|
- lib/ruby_units/string.rb
|
91
110
|
- rails-units-1.3.1.gem
|
92
111
|
- rails-units-1.4.1.gem
|
112
|
+
- rails-units-1.6.0.gem
|
93
113
|
- rails-units.gemspec
|
94
114
|
- spec/rails-units/array_spec.rb
|
95
115
|
- spec/rails-units/complex_spec.rb
|
@@ -115,6 +135,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
115
135
|
- - ! '>='
|
116
136
|
- !ruby/object:Gem::Version
|
117
137
|
version: '0'
|
138
|
+
segments:
|
139
|
+
- 0
|
140
|
+
hash: -4286416085672881345
|
118
141
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
119
142
|
none: false
|
120
143
|
requirements:
|
@@ -123,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
146
|
version: '0'
|
124
147
|
requirements: []
|
125
148
|
rubyforge_project:
|
126
|
-
rubygems_version: 1.8.
|
149
|
+
rubygems_version: 1.8.24
|
127
150
|
signing_key:
|
128
151
|
specification_version: 3
|
129
152
|
summary: A class that performs unit conversions and unit math
|