unit_conversion 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7d1b1cb84ec137f330433ede0d8809940300ee2c
4
- data.tar.gz: ec3f65bb4560bff65baecb2f2544d63b2bdb050f
3
+ metadata.gz: df2318e6d4744e957a1086b5bfa206aa48216fae
4
+ data.tar.gz: ce16014bbd6b71621601fa8726965b536feac34d
5
5
  SHA512:
6
- metadata.gz: ea517e96d9e4a2ebeac0dcc90450cb9511172a4c9ff2b7c83e45dd9e51c50f72db75cb3f415f9cd8418f8ed5037e2d633efaeeb5669b3ef913723cb215f25843
7
- data.tar.gz: 04287ec871d81369fb7700de63dbdd52d6bfb555026720cfc550d630de2711b0050390132793a25b71eb48e76b33078653621d8d45245c33c215106111ff9c8d
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
- temperate = UnitConversion.new(0, 'celcius')
27
+ celcius = UnitConversion.new(0, 'celcius')
28
28
  temperature.to_kelvin
29
29
 
30
30
  => 273.15
31
31
 
32
- Always refer to unit conversion methods without an 's' and in it's
33
- singular form:
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
- ** Next Version: **
75
+ **Next Version:**
65
76
  - more metric conversions for all measurements (ex: centi prefixes)
66
77
 
67
- ** Future measurements for conversion: **
68
- - speed conversions
78
+ **Future measurements for conversion:**
69
79
  - volume
70
80
  - area
71
81
  - time
@@ -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
@@ -1,3 +1,3 @@
1
1
  class UnitConversion
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  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.1
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-09 00:00:00.000000000 Z
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