unit_conversion 0.0.4 → 1.0.0
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 +4 -4
- data/README.md +14 -9
- data/lib/unit_conversion/distance_conversion.rb +127 -1
- data/lib/unit_conversion/temperature_conversion.rb +44 -0
- data/lib/unit_conversion/version.rb +1 -1
- data/lib/unit_conversion.rb +8 -106
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 68887ea137015923e97e347524f28adf500c680d
|
4
|
+
data.tar.gz: 7695075cc307ab4434b4c2a7f5c3ac23d0974ca3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dab48b97c409bf00ded4ce5fbf9c02132e8abf03669cc32abc07a3d49c6d580f3c28d9ed95c52ad4d1520b7947cea188e87af9ce561e33e49ff16befe1449f58
|
7
|
+
data.tar.gz: fb106eb367d76f3a8c0c1cb93f38d4f9dd60a691b82a1a603341237c66b66ffa93845839a9f0abf52d5d5de4fa27917d0f8b2536875cc624fafcd7a2cae3d86d
|
data/README.md
CHANGED
@@ -23,17 +23,20 @@ Or install it yourself as:
|
|
23
23
|
$ gem install unit_conversion
|
24
24
|
|
25
25
|
## Usage
|
26
|
-
|
26
|
+
If you want to convert from Celcius to Kelvin:
|
27
|
+
temperate = UnitConversion.new(0, 'celcius')
|
28
|
+
temperature.to_kelvin
|
27
29
|
|
28
|
-
|
29
|
-
Right way: inch_to_feet
|
30
|
+
=> 273.15
|
30
31
|
|
31
|
-
|
32
|
+
Always refer to unit conversion methods without an 's' and in it's
|
33
|
+
singular form:
|
32
34
|
|
33
|
-
|
34
|
-
|
35
|
+
Wrong way: to_meters
|
36
|
+
Rgiht way: to_meter
|
35
37
|
|
36
|
-
|
38
|
+
Wrong way: to_feet
|
39
|
+
Right way: to_foot
|
37
40
|
|
38
41
|
## Units available for conversion
|
39
42
|
|
@@ -44,8 +47,10 @@ Temperature:
|
|
44
47
|
- Rankine
|
45
48
|
|
46
49
|
Distance:
|
47
|
-
-
|
48
|
-
-
|
50
|
+
- Meter
|
51
|
+
- Inch
|
52
|
+
- Foot
|
53
|
+
- Yard
|
49
54
|
|
50
55
|
## Development
|
51
56
|
|
@@ -1,2 +1,128 @@
|
|
1
|
-
module
|
1
|
+
module DistanceConversion
|
2
|
+
# Proxy = Meter
|
3
|
+
|
4
|
+
def to_meter
|
5
|
+
case @unit
|
6
|
+
when 'inch'
|
7
|
+
@measurement *= 0.0254
|
8
|
+
when 'foot'
|
9
|
+
@measurement *= 0.3048
|
10
|
+
when 'yard'
|
11
|
+
@measurement *= 0.9144
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_inch
|
16
|
+
if @unit == 'meter'
|
17
|
+
@measurement /= 0.0254
|
18
|
+
else
|
19
|
+
self.to_meter
|
20
|
+
@unit = 'meter'
|
21
|
+
self.to_inch
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def to_foot
|
26
|
+
if @unit == 'meter'
|
27
|
+
@measurement /= 0.3048
|
28
|
+
else
|
29
|
+
self.to_meter
|
30
|
+
@unit = 'meter'
|
31
|
+
self.to_foot
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def to_yard
|
36
|
+
if @unit == 'meter'
|
37
|
+
@measurement /= 0.9144
|
38
|
+
else
|
39
|
+
self.to_meter
|
40
|
+
@unit = 'meter'
|
41
|
+
self.to_yard
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def meter_to_inch(value)
|
46
|
+
value /= 0.0254
|
47
|
+
end
|
48
|
+
|
49
|
+
def foot_to_meter(value)
|
50
|
+
value *= 0.3048
|
51
|
+
end
|
52
|
+
|
53
|
+
def meter_to_foot(value)
|
54
|
+
value /= 0.3048
|
55
|
+
end
|
56
|
+
|
57
|
+
def yard_to_meter(value)
|
58
|
+
value *= 0.9144
|
59
|
+
end
|
60
|
+
|
61
|
+
def meter_to_yard(value)
|
62
|
+
value /= 0.9144
|
63
|
+
end
|
64
|
+
|
65
|
+
|
66
|
+
# Requests
|
67
|
+
def inch_to_foot(value)
|
68
|
+
in_meters = inch_to_meter(value)
|
69
|
+
meter_to_foot(in_meters)
|
70
|
+
end
|
71
|
+
|
72
|
+
def foot_to_inch(value)
|
73
|
+
in_meters = foot_to_meter(value)
|
74
|
+
meter_to_inch(in_meters)
|
75
|
+
end
|
76
|
+
|
77
|
+
def foot_to_yard(value)
|
78
|
+
in_meters = foot_to_meter(value)
|
79
|
+
meter_to_yard(in_meters)
|
80
|
+
end
|
81
|
+
|
82
|
+
def yard_to_foot(value)
|
83
|
+
in_meters = yard_to_meter(value)
|
84
|
+
meter_to_foot(in_meters)
|
85
|
+
end
|
86
|
+
|
87
|
+
def yard_to_inch(value)
|
88
|
+
in_meters = yard_to_meter(value)
|
89
|
+
meter_to_inch(in_meters)
|
90
|
+
end
|
91
|
+
|
92
|
+
def inch_to_yard(value)
|
93
|
+
in_meters = inch_to_meter(value)
|
94
|
+
meter_to_yard(in_meters)
|
95
|
+
end
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
# def mile_to_meter
|
100
|
+
# @measurement * 1609.34
|
101
|
+
# end
|
102
|
+
|
103
|
+
# def meter_to_mile
|
104
|
+
# @measurement / 1609.34
|
105
|
+
# end
|
106
|
+
|
107
|
+
# # all other conversions
|
108
|
+
|
109
|
+
# def yard_to_centimeter
|
110
|
+
# # self.yard_to_meter * 100
|
111
|
+
# end
|
112
|
+
|
113
|
+
|
114
|
+
# def foot_to_inch
|
115
|
+
# # @measurement * 12.0
|
116
|
+
# self.foot_to_meter
|
117
|
+
# self.meter_to_inch
|
118
|
+
# end
|
119
|
+
# def foot_to_mile
|
120
|
+
# @measurement / 5280.0
|
121
|
+
# end
|
122
|
+
|
123
|
+
# def mile_to_foot
|
124
|
+
# @measurement * 5280.0
|
125
|
+
# end
|
126
|
+
|
127
|
+
|
2
128
|
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module TemperatureConversion
|
2
|
+
# Proxy = Kelvin
|
3
|
+
def to_kelvin
|
4
|
+
case @unit
|
5
|
+
when 'celcius'
|
6
|
+
@measurement += 273.15
|
7
|
+
when 'rankine'
|
8
|
+
@measurement /= 1.8
|
9
|
+
when 'fahrenheit'
|
10
|
+
@measurement = (@measurement + 459.67) * 5 / 9
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def to_celcius
|
15
|
+
if @unit == 'kelvin'
|
16
|
+
@measurement -= 273.15
|
17
|
+
else
|
18
|
+
self.to_kelvin
|
19
|
+
@unit = 'kelvin'
|
20
|
+
self.to_celcius
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def to_fahrenheit
|
25
|
+
if @unit == 'kelvin'
|
26
|
+
@measurement = (@measurement * 9 / 5.0) - 459.67
|
27
|
+
else
|
28
|
+
self.to_kelvin
|
29
|
+
@unit = 'kelvin'
|
30
|
+
self.to_fahrenheit
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def to_rankine
|
35
|
+
if @unit == 'kelvin'
|
36
|
+
@measurement *= 1.8
|
37
|
+
else
|
38
|
+
self.to_kelvin
|
39
|
+
@unit = 'kelvin'
|
40
|
+
self.to_rankine
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
data/lib/unit_conversion.rb
CHANGED
@@ -1,112 +1,14 @@
|
|
1
1
|
require_relative "unit_conversion/version"
|
2
|
+
require_relative "unit_conversion/distance_conversion"
|
3
|
+
require_relative "unit_conversion/temperature_conversion"
|
2
4
|
|
3
5
|
class UnitConversion
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
#
|
8
|
-
##########################
|
9
|
-
# TEMPERATURE CONVERSION #
|
10
|
-
##########################
|
11
|
-
|
12
|
-
def celcius_to_kelvin
|
13
|
-
@measurement + 273.15
|
14
|
-
end
|
15
|
-
|
16
|
-
def fahrenheit_to_kelvin
|
17
|
-
(@measurement + 459.67) * 5 / 9
|
18
|
-
end
|
19
|
-
|
20
|
-
def rankine_to_kelvin
|
21
|
-
@measurement / 1.8
|
22
|
-
end
|
23
|
-
|
24
|
-
def kelvin_to_celcius
|
25
|
-
@measurement - 273.15
|
26
|
-
end
|
27
|
-
|
28
|
-
def kelvin_to_fahrenheit
|
29
|
-
(@measurement * 9 / 5.0) - 459.67
|
30
|
-
end
|
31
|
-
|
32
|
-
def kelvin_to_rankine
|
33
|
-
@measurement * 1.8
|
34
|
-
end
|
35
|
-
|
36
|
-
def celcius_to_fahrenheit
|
37
|
-
@measurement * 9/5 + 32.0
|
38
|
-
end
|
39
|
-
|
40
|
-
def fahrenheit_to_celcius
|
41
|
-
(@measurement - 32.0) * 5/9
|
42
|
-
end
|
43
|
-
|
44
|
-
def celcius_to_rankine
|
45
|
-
(@measurement + 273.15) * 9/5
|
46
|
-
end
|
47
|
-
|
48
|
-
def rankine_to_celcius
|
49
|
-
(@measurement - 491.67) * 5/9
|
50
|
-
end
|
51
|
-
|
52
|
-
def rankine_to_fahrenheit
|
53
|
-
@measurement - 459.67
|
54
|
-
end
|
55
|
-
|
56
|
-
def fahrenheit_to_rankine
|
57
|
-
@measurement + 459.67
|
58
|
-
end
|
59
|
-
|
60
|
-
########################
|
61
|
-
# DISTANCE CONVERSIONS #
|
62
|
-
########################
|
63
|
-
|
64
|
-
def feet_to_inch
|
65
|
-
@measurement * 12.0
|
66
|
-
end
|
6
|
+
attr_accessor :measurement
|
7
|
+
include DistanceConversion
|
8
|
+
include TemperatureConversion
|
67
9
|
|
68
|
-
def
|
69
|
-
@measurement
|
70
|
-
|
71
|
-
|
72
|
-
def feet_to_yard
|
73
|
-
@measurement / 3.0
|
74
|
-
end
|
75
|
-
|
76
|
-
def yard_to_feet
|
77
|
-
@measurement * 3.0
|
78
|
-
end
|
79
|
-
|
80
|
-
def feet_to_mile
|
81
|
-
@measurement / 5280.0
|
82
|
-
end
|
83
|
-
|
84
|
-
def mile_to_feet
|
85
|
-
@measurement * 5280.0
|
86
|
-
end
|
87
|
-
|
88
|
-
def meter_to_feet
|
89
|
-
@measurement / 0.3048
|
90
|
-
end
|
91
|
-
|
92
|
-
def feet_to_meter
|
93
|
-
@measurement * 0.3048
|
94
|
-
end
|
95
|
-
|
96
|
-
#
|
97
|
-
def inch_to_meter
|
98
|
-
@measurement * 0.0254
|
99
|
-
end
|
100
|
-
|
101
|
-
def meter_to_inch
|
102
|
-
@measurement / 0.0254
|
103
|
-
end
|
104
|
-
|
105
|
-
def yard_to_meter
|
106
|
-
@measurement * 0.9144
|
107
|
-
end
|
108
|
-
|
109
|
-
def meter_to_yard
|
110
|
-
@measurement / 0.9144
|
10
|
+
def initialize(measurement, unit)
|
11
|
+
@measurement = measurement
|
12
|
+
@unit = unit
|
111
13
|
end
|
112
14
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unit_conversion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Youn
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|