electric 0.0.5 → 0.0.6
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 +26 -15
- data/lib/electric/ohm.rb +18 -6
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e5e899ace0fa71416ddd00da6fdbc80381b669e
|
4
|
+
data.tar.gz: e9c95ce9bfe4c5e1015280d85896fb6ed93cd1be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 381903b6d0d603e639cc9ec2feedbd17b79b7f7f62d1895f3b2860a3a09e19ab9aa7cd8a0bf0890ce1b023d033c5785754ebc97eee2b8d15431eab037681dbe0
|
7
|
+
data.tar.gz: 1008154b07de3d0c1b551224fc12837a38c655b8954aef67c8868099d4679a1db928939476a39c187fdfaef636135bfe7f215d4e31c8c7f4961e45c9f3456dd4
|
data/README.md
CHANGED
@@ -1,16 +1,25 @@
|
|
1
1
|
## Ruby Library for electronics
|
2
2
|
|
3
|
+
### Setup
|
4
|
+
|
5
|
+
gem install electric
|
6
|
+
|
7
|
+
irb
|
8
|
+
|
9
|
+
require 'electric'
|
10
|
+
|
3
11
|
### Resistor Color Code Calculator
|
4
12
|
|
5
13
|
Accepts 4 arguments (first 3 bands determine resistor value, 4th band is for tolerance %), though none are required to return a value of 0 ohms. You must preserve order of bands as arguments.
|
6
14
|
|
7
|
-
resistor = Electric::Resistor.new("red", "black", "brown")
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
15
|
+
resistor = Electric::Resistor.new("red", "black", "brown")
|
16
|
+
|
17
|
+
resistor.value
|
18
|
+
=> 200
|
19
|
+
resistor.tolerance
|
20
|
+
=> "5%"
|
21
|
+
resistor.human_readable
|
22
|
+
=> "200 ohms, +/- 5%"
|
14
23
|
|
15
24
|
### Ohm's Law Calculator
|
16
25
|
|
@@ -18,14 +27,16 @@ Accepts 4 named arguments: "volts", "ohms", "amps", and "watts" in any order. Yo
|
|
18
27
|
|
19
28
|
There are 4 methods that can be called to run calculations: "resistance", "power", "voltage", and "current"
|
20
29
|
|
21
|
-
Electric::Ohm.new(:volts => 5, :ohms => 330)
|
22
|
-
|
23
|
-
|
24
|
-
=>
|
25
|
-
|
26
|
-
=> 0
|
27
|
-
|
28
|
-
=> 0.
|
30
|
+
ohm = Electric::Ohm.new(:volts => 5, :ohms => 330)
|
31
|
+
|
32
|
+
ohm.voltage
|
33
|
+
=> 5.0
|
34
|
+
ohm.resistance
|
35
|
+
=> 330.0
|
36
|
+
ohm.current
|
37
|
+
=> 0.015151515151515152
|
38
|
+
ohm.power
|
39
|
+
=> 0.07575757575757576
|
29
40
|
|
30
41
|
|
31
42
|
More documentation on the way...
|
data/lib/electric/ohm.rb
CHANGED
@@ -4,10 +4,15 @@ module Electric
|
|
4
4
|
attr_accessor :ohms, :volts, :amps, :watts
|
5
5
|
|
6
6
|
def initialize(options={})
|
7
|
-
|
8
|
-
@
|
9
|
-
|
10
|
-
@
|
7
|
+
ohms = options["ohms"] || options[:ohms] || options["resistance"] || options[:resistance]
|
8
|
+
@ohms = ohms.to_f if ohms.present?
|
9
|
+
volts = options["volts"] || options[:volts] || options["voltage"] || options[:voltage]
|
10
|
+
@volts = volts.to_f if volts.present?
|
11
|
+
amps = options["amps"] || options[:amps] || options["current"] || options[:current] || options["amperage"] || options[:amperage]
|
12
|
+
@amps = amps.to_f if amps.present?
|
13
|
+
watts = options["watts"] || options[:watts] || options["power"] || options[:power]
|
14
|
+
@watts = watts.to_f if watts.present?
|
15
|
+
calculate
|
11
16
|
end
|
12
17
|
|
13
18
|
def resistance
|
@@ -26,6 +31,13 @@ module Electric
|
|
26
31
|
watts ? watts : get_power
|
27
32
|
end
|
28
33
|
|
34
|
+
def calculate
|
35
|
+
@ohms = get_resistance unless @ohms
|
36
|
+
@volts = get_voltage unless @volts
|
37
|
+
@amps = get_current unless @amps
|
38
|
+
@watts = get_power unless @watts
|
39
|
+
end
|
40
|
+
|
29
41
|
private
|
30
42
|
|
31
43
|
def get_resistance
|
@@ -52,7 +64,7 @@ module Electric
|
|
52
64
|
watts / amps
|
53
65
|
elsif ohms && watts
|
54
66
|
# sq_root(P * R)
|
55
|
-
sqrt(watts * ohms)
|
67
|
+
Math.sqrt(watts * ohms)
|
56
68
|
else
|
57
69
|
volts if volts
|
58
70
|
end
|
@@ -67,7 +79,7 @@ module Electric
|
|
67
79
|
volts / ohms
|
68
80
|
elsif watts && ohms
|
69
81
|
# sq_root(P) / R
|
70
|
-
sqrt(watts) / ohms
|
82
|
+
Math.sqrt(watts) / ohms
|
71
83
|
else
|
72
84
|
amps if amps
|
73
85
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: electric
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- JD Warren
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-17 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Ruby library for calculating things like ohms law, resistor values, etc..
|
14
14
|
email:
|
@@ -17,14 +17,14 @@ executables: []
|
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
|
+
- MIT-LICENSE
|
21
|
+
- README.md
|
22
|
+
- Rakefile
|
23
|
+
- lib/electric.rb
|
20
24
|
- lib/electric/base.rb
|
21
25
|
- lib/electric/ohm.rb
|
22
26
|
- lib/electric/resistor.rb
|
23
|
-
- lib/electric.rb
|
24
27
|
- lib/tasks/edmunds_ruby_tasks.rake
|
25
|
-
- MIT-LICENSE
|
26
|
-
- Rakefile
|
27
|
-
- README.md
|
28
28
|
homepage: https://github.com/johndavid400/electric
|
29
29
|
licenses: []
|
30
30
|
metadata: {}
|
@@ -44,7 +44,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
44
44
|
version: '0'
|
45
45
|
requirements: []
|
46
46
|
rubyforge_project:
|
47
|
-
rubygems_version: 2.0
|
47
|
+
rubygems_version: 2.3.0
|
48
48
|
signing_key:
|
49
49
|
specification_version: 4
|
50
50
|
summary: Electronics formulas
|