measurement 0.2.3 → 0.2.3.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/CHANGELOG +2 -0
- data/Manifest +1 -0
- data/lib/measurement/unit_group.rb +24 -0
- data/measurement.gemspec +3 -3
- metadata +3 -1
data/CHANGELOG
CHANGED
data/Manifest
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
module Measurement
|
2
|
+
# This class is a group of units. To specify that a unit
|
3
|
+
# is in a group pass the group option to Measurement::Base#unit
|
4
|
+
class UnitGroup
|
5
|
+
def initialize(units)
|
6
|
+
@units = units.sort.reverse
|
7
|
+
end
|
8
|
+
|
9
|
+
def format(amount, precision = 0)
|
10
|
+
units = @units.dup
|
11
|
+
strs = []
|
12
|
+
|
13
|
+
while unit = units.shift
|
14
|
+
n_in = unit.to(amount)
|
15
|
+
n_in = n_in.floor unless units.empty?
|
16
|
+
n_out = unit.from(n_in)
|
17
|
+
amount -= n_out
|
18
|
+
strs << unit.format(n_out, precision) unless n_out == 0
|
19
|
+
end
|
20
|
+
|
21
|
+
strs.join(' ')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/measurement.gemspec
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{measurement}
|
5
|
-
s.version = "0.2.3"
|
5
|
+
s.version = "0.2.3.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Jeremy Wells"]
|
9
9
|
s.date = %q{2010-03-01}
|
10
10
|
s.description = %q{A library for holding, converting and formatting measurements}
|
11
11
|
s.email = %q{jemmyw@gmail.com}
|
12
|
-
s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README.rdoc", "lib/measurement.rb", "lib/measurement/length.rb", "lib/measurement/unit.rb", "lib/measurement/weight.rb"]
|
13
|
-
s.files = ["CHANGELOG", "LICENSE", "Manifest", "README.rdoc", "Rakefile", "lib/measurement.rb", "lib/measurement/length.rb", "lib/measurement/unit.rb", "lib/measurement/weight.rb", "spec/lib/length_spec.rb", "spec/lib/measurement_spec.rb", "spec/lib/unit_spec.rb", "spec/lib/weight_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "measurement.gemspec"]
|
12
|
+
s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README.rdoc", "lib/measurement.rb", "lib/measurement/length.rb", "lib/measurement/unit.rb", "lib/measurement/unit_group.rb", "lib/measurement/weight.rb"]
|
13
|
+
s.files = ["CHANGELOG", "LICENSE", "Manifest", "README.rdoc", "Rakefile", "lib/measurement.rb", "lib/measurement/length.rb", "lib/measurement/unit.rb", "lib/measurement/unit_group.rb", "lib/measurement/weight.rb", "spec/lib/length_spec.rb", "spec/lib/measurement_spec.rb", "spec/lib/unit_spec.rb", "spec/lib/weight_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "measurement.gemspec"]
|
14
14
|
s.homepage = %q{}
|
15
15
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Measurement", "--main", "README.rdoc"]
|
16
16
|
s.require_paths = ["lib"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: measurement
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.3
|
4
|
+
version: 0.2.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Wells
|
@@ -26,6 +26,7 @@ extra_rdoc_files:
|
|
26
26
|
- lib/measurement.rb
|
27
27
|
- lib/measurement/length.rb
|
28
28
|
- lib/measurement/unit.rb
|
29
|
+
- lib/measurement/unit_group.rb
|
29
30
|
- lib/measurement/weight.rb
|
30
31
|
files:
|
31
32
|
- CHANGELOG
|
@@ -36,6 +37,7 @@ files:
|
|
36
37
|
- lib/measurement.rb
|
37
38
|
- lib/measurement/length.rb
|
38
39
|
- lib/measurement/unit.rb
|
40
|
+
- lib/measurement/unit_group.rb
|
39
41
|
- lib/measurement/weight.rb
|
40
42
|
- spec/lib/length_spec.rb
|
41
43
|
- spec/lib/measurement_spec.rb
|