unit_conversion 1.0.1 → 1.0.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 +4 -4
- data/README.md +16 -6
- data/lib/unit_conversion.rb +2 -0
- data/lib/unit_conversion/distance_conversion.rb +0 -84
- data/lib/unit_conversion/speed_conversion.rb +69 -0
- data/lib/unit_conversion/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df2318e6d4744e957a1086b5bfa206aa48216fae
|
4
|
+
data.tar.gz: ce16014bbd6b71621601fa8726965b536feac34d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 916e0114888b77e0b058e41e67859ec388b94782f60e40cbfd4736decc406dbade3c07bf0fb8e6e6218e401f16948de9f7cf6a373ed7f0c1ad16ec5548014208
|
7
|
+
data.tar.gz: c3bb9b3ae36f4f469cec6f09b6aa2ff93acbf483b434420edd1c33a45841b4cb5c86cd34baf901e7076dd3cd67eb91749409c7fb281d95db5e83c9ede23d1990
|
data/README.md
CHANGED
@@ -24,13 +24,14 @@ Or install it yourself as:
|
|
24
24
|
## Usage
|
25
25
|
If you want to convert from Celcius to Kelvin:
|
26
26
|
|
27
|
-
|
27
|
+
celcius = UnitConversion.new(0, 'celcius')
|
28
28
|
temperature.to_kelvin
|
29
29
|
|
30
30
|
=> 273.15
|
31
31
|
|
32
|
-
|
33
|
-
|
32
|
+
Refer to the list below and simply prefix a unit with "to_" to call the
|
33
|
+
instance method. Also, always refer to unit conversion methods without an
|
34
|
+
's' and in it's singular form:
|
34
35
|
|
35
36
|
Wrong way: to_meters
|
36
37
|
Rgiht way: to_meter
|
@@ -38,6 +39,9 @@ singular form:
|
|
38
39
|
Wrong way: to_feet
|
39
40
|
Right way: to_foot
|
40
41
|
|
42
|
+
Wrong way: to_mph
|
43
|
+
Right way: to_miles_per_hour
|
44
|
+
|
41
45
|
## Units available for conversion
|
42
46
|
|
43
47
|
Temperature:
|
@@ -59,13 +63,19 @@ Weight:
|
|
59
63
|
- Short Ton (US ton)
|
60
64
|
- Long Ton (British ton)
|
61
65
|
|
66
|
+
Speed:
|
67
|
+
- Mile per hour
|
68
|
+
- Kilometer per hour
|
69
|
+
- Foot per second
|
70
|
+
- Meter per second
|
71
|
+
- Knot
|
72
|
+
|
62
73
|
## Development
|
63
74
|
|
64
|
-
**
|
75
|
+
**Next Version:**
|
65
76
|
- more metric conversions for all measurements (ex: centi prefixes)
|
66
77
|
|
67
|
-
**
|
68
|
-
- speed conversions
|
78
|
+
**Future measurements for conversion:**
|
69
79
|
- volume
|
70
80
|
- area
|
71
81
|
- time
|
data/lib/unit_conversion.rb
CHANGED
@@ -2,12 +2,14 @@ require_relative "unit_conversion/version"
|
|
2
2
|
require_relative "unit_conversion/distance_conversion"
|
3
3
|
require_relative "unit_conversion/temperature_conversion"
|
4
4
|
require_relative "unit_conversion/weight_conversion"
|
5
|
+
require_relative "unit_conversion/speed_conversion"
|
5
6
|
|
6
7
|
class UnitConversion
|
7
8
|
attr_accessor :measurement
|
8
9
|
include DistanceConversion
|
9
10
|
include TemperatureConversion
|
10
11
|
include WeightConversion
|
12
|
+
include SpeedConversion
|
11
13
|
|
12
14
|
def initialize(measurement, unit)
|
13
15
|
@measurement = measurement
|
@@ -41,88 +41,4 @@ module DistanceConversion
|
|
41
41
|
self.to_yard
|
42
42
|
end
|
43
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
|
-
|
128
44
|
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
module SpeedConversion
|
2
|
+
# Proxy = Meter per Second
|
3
|
+
|
4
|
+
def to_meter_per_second
|
5
|
+
case @unit
|
6
|
+
when 'mile_per_second'
|
7
|
+
@measurement *= 0.3048 * 5280
|
8
|
+
when 'mile_per_hour'
|
9
|
+
@measurement *= 0.44704
|
10
|
+
when 'kilometer_per_hour'
|
11
|
+
@measurement *= 0.277778
|
12
|
+
when 'knot'
|
13
|
+
@measurement *= 0.514444
|
14
|
+
when 'kilometer_per_second'
|
15
|
+
@measurement *= 1000.0
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_kilometer_per_second
|
20
|
+
if @unit == 'meter_per_second'
|
21
|
+
@measurement /= 1000
|
22
|
+
else
|
23
|
+
self.to_meter_per_second
|
24
|
+
@unit = 'meter_per_second'
|
25
|
+
self.to_kilometer_per_second
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def to_kilometer_per_hour
|
30
|
+
if @unit == 'meter_per_second'
|
31
|
+
@measurement *= 3.6
|
32
|
+
else
|
33
|
+
self.to_meter_per_second
|
34
|
+
@unit = 'meter_per_second'
|
35
|
+
self.to_kilometer_per_hour
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def to_knot
|
40
|
+
if @unit == 'meter_per_second'
|
41
|
+
@measurement *= 1.94384449
|
42
|
+
else
|
43
|
+
self.to_meter_per_second
|
44
|
+
@unit = 'meter_per_second'
|
45
|
+
self.to_knot
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def to_mile_per_second
|
50
|
+
if @unit == 'meter_per_second'
|
51
|
+
@measurement *= 2.23693629 / 60 / 60
|
52
|
+
else
|
53
|
+
self.to_meter_per_second
|
54
|
+
@unit = 'meter_per_second'
|
55
|
+
self.to_mile_per_second
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def to_mile_per_hour
|
60
|
+
if @unit == 'meter_per_second'
|
61
|
+
@measurement *= 2.23693629
|
62
|
+
else
|
63
|
+
self.to_meter_per_second
|
64
|
+
@unit = 'meter_per_second'
|
65
|
+
self.to_mile_per_hour
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
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: 1.0.
|
4
|
+
version: 1.0.2
|
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-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -71,6 +71,7 @@ files:
|
|
71
71
|
- bin/setup
|
72
72
|
- lib/unit_conversion.rb
|
73
73
|
- lib/unit_conversion/distance_conversion.rb
|
74
|
+
- lib/unit_conversion/speed_conversion.rb
|
74
75
|
- lib/unit_conversion/temperature_conversion.rb
|
75
76
|
- lib/unit_conversion/version.rb
|
76
77
|
- lib/unit_conversion/weight_conversion.rb
|