si_senior 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MTQ1ZWQ2OWI1NDE3NjhiN2RlMDFlNThlZmUyY2IwMWY0N2VjM2YyOQ==
4
+ OThhNWEwYjRkYTVlMDY2NzNmZGUwMmFmNDQyOWExZjA3MDZjOWFkOQ==
5
5
  data.tar.gz: !binary |-
6
- MjVmZGY3OTY1Y2JlM2Q0ODgyY2EwMzM4NzMzZmNlZjkwZjc3OTg4Mw==
6
+ MDFhMGEzZmYxZmZhOTkxYjM0ZWFhN2I1MjNiNTU3YWY3YTZkOTM0Ng==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- NmY3YWFmNzQ0MDY1ODM5YTc0ZDU1YzFkZWZlYTMyYjVjYzY5YjgyNzg2MzE3
10
- MzAxNWJkYWNlZDYzZjUwNmY3Mjg2YTIwZjVjNTNmNWVkZTBjOGQzYTE2NTMx
11
- YjRlNjM0Y2ZjZTI5MjY0MmUyYjBmNGFkYmJiY2FmZTU1YTVlY2M=
9
+ NGU5MzExMTJhZTUyYWZlOGZkMWI5MDAxMGM4N2ZiZjhmYjlhYzk2OTI4Njg4
10
+ YTJhNjQyOTExOGJmMTAwMDQ0OTlmZTEwNGY0ZWNlYTgwNzViYjc1YTg2Y2U2
11
+ ZWVlMDJiNzhhN2Y4N2NmMzJjYjA2MjJhNzBjZmIwYTkxYmZjNjk=
12
12
  data.tar.gz: !binary |-
13
- MjUyNDczMDc4MmY5NDliMzk5MzVlOGUwYzBmN2FkOTA3YTk5ZDA5NTljYTBi
14
- ODZmYzMyYjg2ZGNkNDZlN2E5Y2NlMGU5YjExOGRiOTVjMDk2MmViZjViYzg2
15
- YmI1NmUxNDIzOWI4N2I5OTc1NjYyYTM2YjY3MWRhNzYxZDZkNWI=
13
+ ZTg3NDQzNWM1MGQwYzY4NDdiOTIxNWM0YmYwOTgyY2RmYjIwNDkzNmEyZjQ4
14
+ Y2Y5ZGNmMWQ1NWM1NmM5YTBjZDY0MGI1MzI1ODg0Njk2MWE0MTFkMjUyMGUz
15
+ N2RkZjA2YTFiYTIyMGUwZmE5YWQ3YjdkOGE4YWEzZDYxOTkxNjY=
data/README.md CHANGED
@@ -4,6 +4,10 @@ SI señor
4
4
  SI señor is a simple SI prefix converter.<br>
5
5
  Assume that you always have basic SI unit for conversion (seconds for time, meters for length and so on).
6
6
 
7
+ ##### Important
8
+ All operations are done on BigDecimal (numbers are automatically converted) - you have to use
9
+ [`BigDecimal#to_s(s)`](http://www.ruby-doc.org/stdlib-2.0/libdoc/bigdecimal/rdoc/BigDecimal.html#method-i-to_s) after prefixing or converting to get pretty formatting.
10
+
7
11
  #### Sample usage
8
12
  `1.milli`<br>
9
13
  `1.kilo.to_mega`<br>
@@ -5,165 +5,202 @@ module SiSenior
5
5
  require 'bigdecimal'
6
6
  include SiSenior::Constant
7
7
 
8
- # Prefixes
8
+ # Returns BigDecimal result of prefixing with yotta (multiplies value by 1.0e+24)
9
9
  def yotta
10
10
  big_self * YOTTA
11
11
  end
12
12
 
13
+ # Returns BigDecimal result of prefixing with zetta (multiplies value by 1.0e+21)
13
14
  def zetta
14
15
  big_self * ZETTA
15
16
  end
16
17
 
18
+ # Returns BigDecimal result of prefixing with exa (multiplies value by 1.0e+18)
17
19
  def exa
18
20
  big_self * EXA
19
21
  end
20
22
 
23
+ # Returns BigDecimal result of prefixing with peta (multiplies value by 1.0e+15)
21
24
  def peta
22
25
  big_self * PETA
23
26
  end
24
27
 
28
+ # Returns BigDecimal result of prefixing with tera (multiplies value by 1.0e+12)
25
29
  def tera
26
30
  big_self * TERA
27
31
  end
28
32
 
33
+ # Returns BigDecimal result of prefixing with giga (multiplies value by 1.0e+9)
29
34
  def giga
30
35
  big_self * GIGA
31
36
  end
32
37
 
38
+ # Returns BigDecimal result of prefixing with mega (multiplies value by 1.0e+6)
33
39
  def mega
34
40
  big_self * MEGA
35
41
  end
36
42
 
43
+ # Returns BigDecimal result of prefixing with kilo (multiplies value by 1.0e+3)
37
44
  def kilo
38
45
  big_self * KILO
39
46
  end
40
47
 
48
+ # Returns BigDecimal result of prefixing with hecto (multiplies value by 1.0e+2)
41
49
  def hecto
42
50
  big_self * HECTO
43
51
  end
44
52
 
53
+ # Returns BigDecimal result of prefixing with deca (multiplies value by 1.0e+1)
45
54
  def deca
46
55
  big_self * DECA
47
56
  end
48
57
 
58
+ # Returns BigDecimal result of prefixing with deci (multiples value by 1.0e-1)
49
59
  def deci
50
60
  big_self * DECI
51
61
  end
52
62
 
63
+ # Returns BigDecimal result of prefixing with centi (multiples value by 1.0e-2)
53
64
  def centi
54
65
  big_self * CENTI
55
66
  end
56
67
 
68
+ # Returns BigDecimal result of prefixing with milli (multiples value by 1.0e-3)
57
69
  def milli
58
70
  big_self * MILLI
59
71
  end
60
72
 
73
+ # Returns BigDecimal result of prefixing with micro (multiples value by 1.0e-6)
61
74
  def micro
62
75
  big_self * MICRO
63
76
  end
64
77
 
78
+ # Returns BigDecimal result of prefixing with nano (multiples value by 1.0e-9)
65
79
  def nano
66
80
  big_self * NANO
67
81
  end
68
82
 
83
+ # Returns BigDecimal result of prefixing with pico (multiples value by 1.0e-12)
69
84
  def pico
70
85
  big_self * PICO
71
86
  end
72
87
 
88
+ # Returns BigDecimal result of prefixing with femto (multiples value by 1.0e-15)
73
89
  def femto
74
90
  big_self * FEMTO
75
91
  end
76
92
 
93
+ # Returns BigDecimal result of prefixing with atto (multiples value by 1.0e-18)
77
94
  def atto
78
95
  big_self * ATTO
79
96
  end
80
97
 
98
+ # Returns BigDecimal result of prefixing with zepto (multiples value by 1.0e-21)
81
99
  def zepto
82
100
  big_self * ZEPTO
83
101
  end
84
102
 
103
+ # Returns BigDecimal result of prefixing with yocto (multiples value by 1.0e-24)
85
104
  def yocto
86
105
  big_self * YOCTO
87
106
  end
88
107
 
89
- # Converters
90
-
108
+ # Returns BigDecimal result of conversion to yotta (divides by 1.0e+24)
91
109
  def to_yotta
92
110
  big_self / YOTTA
93
111
  end
94
112
 
113
+ # Returns BigDecimal result of conversion to zetta (divides by 1.0e+21)
95
114
  def to_zetta
96
115
  big_self / ZETTA
97
116
  end
98
117
 
118
+ # Returns BigDecimal result of conversion to exa (divides by 1.0e+18)
99
119
  def to_exa
100
120
  big_self / EXA
101
121
  end
102
122
 
123
+ # Returns BigDecimal result of conversion to peta (divides by 1.0e+15)
103
124
  def to_peta
104
125
  big_self / PETA
105
126
  end
106
127
 
128
+ # Returns BigDecimal result of conversion to tera (divides by 1.0e+12)
107
129
  def to_tera
108
130
  big_self / TERA
109
131
  end
110
132
 
133
+ # Returns BigDecimal result of conversion to giga (divides by 1.0e+9)
111
134
  def to_giga
112
135
  big_self / GIGA
113
136
  end
114
137
 
138
+ # Returns BigDecimal result of conversion to mega (divides by 1.0e+6)
115
139
  def to_mega
116
140
  big_self / MEGA
117
141
  end
118
142
 
143
+ # Returns BigDecimal result of conversion to kilo (divides by 1.0e+3)
119
144
  def to_kilo
120
145
  big_self / KILO
121
146
  end
122
147
 
148
+ # Returns BigDecimal result of conversion to hecto (divides by 1.0e+2)
123
149
  def to_hecto
124
150
  big_self / HECTO
125
151
  end
126
152
 
153
+ # Returns BigDecimal result of conversion to deca (divides by 1.0e+1)
127
154
  def to_deca
128
155
  big_self / DECA
129
156
  end
130
157
 
158
+ # Returns BigDecimal result of conversion to deci (divides by 1.0e-1)
131
159
  def to_deci
132
160
  big_self / DECI
133
161
  end
134
162
 
163
+ # Returns BigDecimal result of conversion to centi (divides by 1.0e-2)
135
164
  def to_centi
136
165
  big_self / CENTI
137
166
  end
138
167
 
168
+ # Returns BigDecimal result of conversion to milli (divides by 1.0e-3)
139
169
  def to_milli
140
170
  big_self / MILLI
141
171
  end
142
172
 
173
+ # Returns BigDecimal result of conversion to micro (divides by 1.0e-6)
143
174
  def to_micro
144
175
  big_self / MICRO
145
176
  end
146
177
 
178
+ # Returns BigDecimal result of conversion to nano (divides by 1.0e-9)
147
179
  def to_nano
148
180
  big_self / NANO
149
181
  end
150
182
 
183
+ # Returns BigDecimal result of conversion to pico (divides by 1.0e-12)
151
184
  def to_pico
152
185
  big_self / PICO
153
186
  end
154
187
 
188
+ # Returns BigDecimal result of conversion to femto (divides by 1.0e-15)
155
189
  def to_femto
156
190
  big_self / FEMTO
157
191
  end
158
192
 
193
+ # Returns BigDecimal result of conversion to atto (divides by 1.0e-18)
159
194
  def to_atto
160
195
  big_self / ATTO
161
196
  end
162
197
 
198
+ # Returns BigDecimal result of conversion to zepto (divides by 1.0e-21)
163
199
  def to_zepto
164
200
  big_self / ZEPTO
165
201
  end
166
202
 
203
+ # Returns BigDecimal result of conversion to yocto (divides by 1.0e-24)
167
204
  def to_yocto
168
205
  big_self / YOCTO
169
206
  end
@@ -1,3 +1,3 @@
1
1
  module SiSenior
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/si_senior.gemspec CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
8
8
  spec.version = SiSenior::VERSION
9
9
  spec.authors = ["Tomasz Wójcik"]
10
10
  spec.email = ["wojcik.tomek@gmail.com"]
11
- spec.description = "SI unit converter. Supports prefixes (1.kilo, 5.mega etc) and conversions (1.to_mega, 5.mili.to_centi etc)"
11
+ spec.description = "SI unit converter. Supports prefixes (1.kilo, 5.mega etc) and conversions (1.to_mega, 5.milli.to_centi etc)"
12
12
  spec.summary = "SI unit converter."
13
13
  spec.homepage = "https://github.com/tomaszwojcik/si_senior"
14
14
  spec.license = "MIT"
@@ -75,7 +75,7 @@ describe SiSenior do
75
75
  end
76
76
 
77
77
  # Investigate BigDecimal requirement here
78
- # Probably this is the float issue with big floats like 1.0e-21 and 1.0e-24
78
+ # Probably this is the float issue with big floats like 1.0e-21 and 1.0e-24
79
79
 
80
80
  it 'returns 1.0e-21 for 1.zepto' do
81
81
  expect(1.zepto).to eq BigDecimal.new('1.0e-21')
@@ -93,7 +93,7 @@ describe SiSenior do
93
93
  expect(1.yocto.to_yotta).to eq 1.0e-48
94
94
  end
95
95
 
96
- it 'converting from and to thesame prefix returns 1' do
96
+ it 'converting from and to the same prefix returns 1' do
97
97
  expect(1.yotta.to_yotta).to eq 1
98
98
  expect(1.yocto.to_yocto).to eq 1
99
99
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: si_senior
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomasz Wójcik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-17 00:00:00.000000000 Z
11
+ date: 2013-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  description: SI unit converter. Supports prefixes (1.kilo, 5.mega etc) and conversions
56
- (1.to_mega, 5.mili.to_centi etc)
56
+ (1.to_mega, 5.milli.to_centi etc)
57
57
  email:
58
58
  - wojcik.tomek@gmail.com
59
59
  executables: []