STEMConstants 0.0.1
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 +7 -0
- data/lib/STEMConstants.rb +83 -0
- metadata +44 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: dbf2923c34d267a941d290550e7045a9f0e50167
|
4
|
+
data.tar.gz: 65d8518b1fabfe4933845c265333f0927f7ef9ae
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 580b3a066abf0abd41081cf7c9dbdb0cbb98c1aa566b40e1cf865c58ac3a362de9831ce490f41b97ebf29e354d22cdaedebe0dbddd798d54d64b34823e3db2eb
|
7
|
+
data.tar.gz: ff5626ff1543d7c6775047c69908492d9da0250f1e50b60ad7fbe9e5e9b172f7a7a069390f938480dada2ced15b2e8e261db258a281026f27c366e912bb66747
|
@@ -0,0 +1,83 @@
|
|
1
|
+
module STEMConstants
|
2
|
+
@distance_mode = 'meter'
|
3
|
+
def self.set_distance_mode(mode)
|
4
|
+
@distance_mode = mode if Distance[mode.to_sym]
|
5
|
+
end
|
6
|
+
|
7
|
+
@time_mode = 'second'
|
8
|
+
def self.set_time_mode(mode)
|
9
|
+
@time_mode = mode if Time[mode.to_sym]
|
10
|
+
end
|
11
|
+
|
12
|
+
@mass_mode = 'gram'
|
13
|
+
def self.set_mass_mode(mode)
|
14
|
+
@mass_mode = mode if Mass[mode.to_sym]
|
15
|
+
end
|
16
|
+
|
17
|
+
Number = {
|
18
|
+
#most numbers can be found at this wiki page for explanation: https://en.wikipedia.org/wiki/Mathematical_constant#Simple_representatives_of_sets_of_numbers
|
19
|
+
:pi => 3.141592653589793,
|
20
|
+
:tau => 3.141592653589793 / 2,
|
21
|
+
:golden_ratio => 1.618033988749894,
|
22
|
+
:euler => 0.577215664901532,
|
23
|
+
:sqrt_2 => 1.414213562373095,
|
24
|
+
:sqrt_3 => 1.732050807568877,
|
25
|
+
:euler_mascheroni => 0.577215664901532,
|
26
|
+
:meissel_mertens => 0.261497212847642,
|
27
|
+
:bernstein => 0.280169499023869,
|
28
|
+
:sierpinski => 2.584981759579253
|
29
|
+
}
|
30
|
+
|
31
|
+
Distance = {
|
32
|
+
:default => 1.0,
|
33
|
+
:meter => 1.0,
|
34
|
+
:centimeter => 100.0,
|
35
|
+
:millimeter => 1000.0,
|
36
|
+
:kilometer => 1.0 / 1000.0,
|
37
|
+
:feet => 3.280839895,
|
38
|
+
:inch => 39.37007874,
|
39
|
+
:yard => 1.093613298,
|
40
|
+
:mile => 0.0006213711922
|
41
|
+
}
|
42
|
+
|
43
|
+
Time = {
|
44
|
+
:default => 1.0,
|
45
|
+
:second => 1.0,
|
46
|
+
:jiffy => 100.0,
|
47
|
+
:millisecond => 1000.0,
|
48
|
+
:minute => 1.0 / 60.0,
|
49
|
+
:hour => 1.0 / 60.0 / 60.0,
|
50
|
+
:day => 1.0 / 60.0 / 60.0 / 24.0,
|
51
|
+
:year => 1.0 / 60.0 / 60.0 / 24.0 / 365.0,
|
52
|
+
:leap_year => 1.0 / 60.0 / 60.0 / 24.0 / 366.0,
|
53
|
+
:corrected_year => 1.0 / 60.0 / 60.0 / 24.0 / 365.25 #the mean amount of days in a year is 365.25
|
54
|
+
}
|
55
|
+
|
56
|
+
Mass = {
|
57
|
+
:default => 1.0,
|
58
|
+
:gram => 1.0,
|
59
|
+
:centigram => 100.0,
|
60
|
+
:milligram => 1000.0,
|
61
|
+
:kilogram => 1.0 / 1000.0,
|
62
|
+
:ounce => 0.035274,
|
63
|
+
:pound => 0.00220462,
|
64
|
+
:slug => 1.0 / 1000.0 / 14.6,
|
65
|
+
:ton => 1.0 / 1000.0 / 1000.0
|
66
|
+
}
|
67
|
+
|
68
|
+
def self.number(constant, conversion = 'default')
|
69
|
+
Number[constant.to_sym] / Number[conversion.to_sym]
|
70
|
+
end
|
71
|
+
|
72
|
+
def self.distance(constant, conversion = 'default')
|
73
|
+
Distance[constant.to_sym] / Distance[conversion.to_sym] / Distance[@distance_mode.to_sym]
|
74
|
+
end
|
75
|
+
|
76
|
+
def self.time(constant, conversion = 'default')
|
77
|
+
Time[constant.to_sym] / Time[conversion.to_sym] / Time[@time_mode.to_sym]
|
78
|
+
end
|
79
|
+
|
80
|
+
def self.mass(constant, conversion = 'default')
|
81
|
+
Mass[c.to_sym] / Mass[conversion.to_sym] / Mass[@mass_mode.to_sym]
|
82
|
+
end
|
83
|
+
end
|
metadata
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: STEMConstants
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Tim Dickeson II
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-05-12 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: A library of constants with functionality to convert to different units
|
14
|
+
email: imacubsfan23@gmail.com
|
15
|
+
executables: []
|
16
|
+
extensions: []
|
17
|
+
extra_rdoc_files: []
|
18
|
+
files:
|
19
|
+
- lib/STEMConstants.rb
|
20
|
+
homepage: http://rubygems.org/gems/STEMConstants
|
21
|
+
licenses:
|
22
|
+
- MIT
|
23
|
+
metadata: {}
|
24
|
+
post_install_message:
|
25
|
+
rdoc_options: []
|
26
|
+
require_paths:
|
27
|
+
- lib
|
28
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
34
|
+
requirements:
|
35
|
+
- - ">="
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
requirements: []
|
39
|
+
rubyforge_project:
|
40
|
+
rubygems_version: 2.6.11
|
41
|
+
signing_key:
|
42
|
+
specification_version: 4
|
43
|
+
summary: A library of useful Science and Math constants
|
44
|
+
test_files: []
|