conversions 1.4.5 → 1.4.6
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/VERSION.yml +3 -3
- data/conversions.gemspec +29 -38
- data/lib/conversions.rb +3 -5
- data/lib/conversions/active_record_accessors.rb +2 -2
- data/lib/conversions/unit.rb +6 -6
- data/test/conversions_test.rb +3 -3
- metadata +33 -56
- data/.gitignore +0 -2
data/VERSION.yml
CHANGED
data/conversions.gemspec
CHANGED
@@ -1,59 +1,50 @@
|
|
1
1
|
# Generated by jeweler
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "1.4.
|
7
|
+
s.name = "conversions"
|
8
|
+
s.version = "1.4.6"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Manfred Stienstra", "Seamus Abshere"]
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
12
|
+
s.date = "2012-01-17"
|
13
|
+
s.description = "A Ruby on Rails plugin that adds conversion capabilities to numeric objects"
|
14
|
+
s.email = "seamus@abshere.net"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE",
|
17
|
-
|
18
|
-
|
17
|
+
"README",
|
18
|
+
"TODO"
|
19
19
|
]
|
20
20
|
s.files = [
|
21
|
-
"
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
"lib/conversions/unit.rb",
|
32
|
-
"test/accessor_test.rb",
|
33
|
-
"test/conversions_test.rb",
|
34
|
-
"test/ext_test.rb",
|
35
|
-
"test/test_helper.rb",
|
36
|
-
"test/unit_test.rb"
|
37
|
-
]
|
38
|
-
s.homepage = %q{http://github.com/seamusabshere/conversions}
|
39
|
-
s.rdoc_options = ["--charset=UTF-8", "--line-numbers", "--inline-source"]
|
40
|
-
s.require_paths = ["lib"]
|
41
|
-
s.rubyforge_project = %q{conversions}
|
42
|
-
s.rubygems_version = %q{1.3.6}
|
43
|
-
s.summary = %q{A Ruby on Rails plugin that adds conversion capabilities to numeric objects}
|
44
|
-
s.test_files = [
|
21
|
+
"LICENSE",
|
22
|
+
"README",
|
23
|
+
"Rakefile",
|
24
|
+
"TODO",
|
25
|
+
"VERSION.yml",
|
26
|
+
"conversions.gemspec",
|
27
|
+
"lib/conversions.rb",
|
28
|
+
"lib/conversions/active_record_accessors.rb",
|
29
|
+
"lib/conversions/defaults.rb",
|
30
|
+
"lib/conversions/unit.rb",
|
45
31
|
"test/accessor_test.rb",
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
32
|
+
"test/conversions_test.rb",
|
33
|
+
"test/ext_test.rb",
|
34
|
+
"test/test_helper.rb",
|
35
|
+
"test/unit_test.rb"
|
50
36
|
]
|
37
|
+
s.homepage = "http://github.com/seamusabshere/conversions"
|
38
|
+
s.rdoc_options = ["--line-numbers", "--inline-source"]
|
39
|
+
s.require_paths = ["lib"]
|
40
|
+
s.rubyforge_project = "conversions"
|
41
|
+
s.rubygems_version = "1.8.10"
|
42
|
+
s.summary = "A Ruby on Rails plugin that adds conversion capabilities to numeric objects"
|
51
43
|
|
52
44
|
if s.respond_to? :specification_version then
|
53
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
54
45
|
s.specification_version = 3
|
55
46
|
|
56
|
-
if Gem::Version.new(Gem::
|
47
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
57
48
|
s.add_runtime_dependency(%q<activesupport>, [">= 2.3.4"])
|
58
49
|
else
|
59
50
|
s.add_dependency(%q<activesupport>, [">= 2.3.4"])
|
data/lib/conversions.rb
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
require 'active_support'
|
2
2
|
require 'active_support/version'
|
3
|
-
|
4
|
-
active_support/core_ext
|
5
|
-
|
6
|
-
require active_support_3_requirement
|
7
|
-
end if ActiveSupport::VERSION::MAJOR == 3
|
3
|
+
if ActiveSupport::VERSION::MAJOR >= 3
|
4
|
+
require 'active_support/core_ext'
|
5
|
+
end
|
8
6
|
|
9
7
|
# Conversions makes it easy to convert between units.
|
10
8
|
module Conversions
|
@@ -34,8 +34,8 @@ module Conversions
|
|
34
34
|
# conversion_accessor :length, :internal => :kilometers, :external => :miles
|
35
35
|
# end
|
36
36
|
def conversion_accessor(attribute, options={})
|
37
|
-
if options[:internal].
|
38
|
-
raise ArgumentError, "Please specify both :external and :internal metrics."
|
37
|
+
if options[:internal].blank? or options[:external].blank?
|
38
|
+
raise ArgumentError, "[conversions] Please specify both :external and :internal metrics."
|
39
39
|
end
|
40
40
|
define_method "#{attribute}_in_#{options[:external]}" do
|
41
41
|
value = send(attribute)
|
data/lib/conversions/unit.rb
CHANGED
@@ -35,12 +35,12 @@ module Conversions
|
|
35
35
|
scale.nil? ? value : (value * (10 ** scale)).round / (10 ** scale).to_f
|
36
36
|
end
|
37
37
|
|
38
|
-
def self.exchange_rate(
|
39
|
-
return 1 if
|
40
|
-
from = Conversions.conversions[
|
41
|
-
raise ArgumentError, "
|
42
|
-
to = from[
|
43
|
-
raise ArgumentError, "
|
38
|
+
def self.exchange_rate(from_unit_name, to_unit_name) #:nodoc:
|
39
|
+
return 1 if from_unit_name == to_unit_name
|
40
|
+
from = Conversions.conversions[from_unit_name]
|
41
|
+
raise ArgumentError, "[conversions] No unit named `#{from_unit_name}'" if from.blank?
|
42
|
+
to = from[to_unit_name]
|
43
|
+
raise ArgumentError, "[conversions] No exchange rate defined from `#{from_unit_name}' to `#{to_unit_name}'" if to.blank?
|
44
44
|
to
|
45
45
|
end
|
46
46
|
end
|
data/test/conversions_test.rb
CHANGED
@@ -7,7 +7,7 @@ class ConversionsTest < Test::Unit::TestCase
|
|
7
7
|
|
8
8
|
def test_register
|
9
9
|
Conversions.register(:records, :cds, 0.47)
|
10
|
-
|
10
|
+
assert_equal 2, Conversions.conversions.length
|
11
11
|
|
12
12
|
assert_nothing_raised do
|
13
13
|
1.convert(:records, :cds)
|
@@ -19,8 +19,8 @@ class ConversionsTest < Test::Unit::TestCase
|
|
19
19
|
|
20
20
|
def test_clear
|
21
21
|
Conversions.register(:records, :cds, 0.47)
|
22
|
-
|
22
|
+
assert_equal 2, Conversions.conversions.length
|
23
23
|
Conversions.clear
|
24
|
-
|
24
|
+
assert_equal 0, Conversions.conversions.length
|
25
25
|
end
|
26
26
|
end
|
metadata
CHANGED
@@ -1,49 +1,37 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: conversions
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 1
|
7
|
-
- 4
|
8
|
-
- 5
|
9
|
-
version: 1.4.5
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.4.6
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Manfred Stienstra
|
13
9
|
- Seamus Abshere
|
14
10
|
autorequire:
|
15
11
|
bindir: bin
|
16
12
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
13
|
+
date: 2012-01-17 00:00:00.000000000Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
22
16
|
name: activesupport
|
23
|
-
|
24
|
-
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
segments:
|
29
|
-
- 2
|
30
|
-
- 3
|
31
|
-
- 4
|
17
|
+
requirement: &2153167240 !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
32
22
|
version: 2.3.4
|
33
23
|
type: :runtime
|
34
|
-
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: *2153167240
|
35
26
|
description: A Ruby on Rails plugin that adds conversion capabilities to numeric objects
|
36
27
|
email: seamus@abshere.net
|
37
28
|
executables: []
|
38
|
-
|
39
29
|
extensions: []
|
40
|
-
|
41
|
-
extra_rdoc_files:
|
30
|
+
extra_rdoc_files:
|
42
31
|
- LICENSE
|
43
32
|
- README
|
44
33
|
- TODO
|
45
|
-
files:
|
46
|
-
- .gitignore
|
34
|
+
files:
|
47
35
|
- LICENSE
|
48
36
|
- README
|
49
37
|
- Rakefile
|
@@ -59,41 +47,30 @@ files:
|
|
59
47
|
- test/ext_test.rb
|
60
48
|
- test/test_helper.rb
|
61
49
|
- test/unit_test.rb
|
62
|
-
has_rdoc: true
|
63
50
|
homepage: http://github.com/seamusabshere/conversions
|
64
51
|
licenses: []
|
65
|
-
|
66
52
|
post_install_message:
|
67
|
-
rdoc_options:
|
68
|
-
- --charset=UTF-8
|
53
|
+
rdoc_options:
|
69
54
|
- --line-numbers
|
70
55
|
- --inline-source
|
71
|
-
require_paths:
|
56
|
+
require_paths:
|
72
57
|
- lib
|
73
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
requirements:
|
82
|
-
- -
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
|
85
|
-
- 0
|
86
|
-
version: "0"
|
58
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
60
|
+
requirements:
|
61
|
+
- - ! '>='
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0'
|
64
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
87
70
|
requirements: []
|
88
|
-
|
89
71
|
rubyforge_project: conversions
|
90
|
-
rubygems_version: 1.
|
72
|
+
rubygems_version: 1.8.10
|
91
73
|
signing_key:
|
92
74
|
specification_version: 3
|
93
75
|
summary: A Ruby on Rails plugin that adds conversion capabilities to numeric objects
|
94
|
-
test_files:
|
95
|
-
- test/accessor_test.rb
|
96
|
-
- test/conversions_test.rb
|
97
|
-
- test/ext_test.rb
|
98
|
-
- test/test_helper.rb
|
99
|
-
- test/unit_test.rb
|
76
|
+
test_files: []
|
data/.gitignore
DELETED