temperature_converter_jonasd 1.0 → 1.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/lib/commandline_reader.rb +14 -0
- data/lib/file_reader.rb +15 -0
- data/lib/mqtt_reader.rb +23 -0
- data/lib/print_html.rb +16 -0
- data/lib/print_json.rb +15 -0
- data/lib/print_text.rb +14 -0
- data/lib/temperature.rb +23 -0
- data/lib/temperature_converter.rb +51 -0
- data/lib/temperature_converter_jonasd.rb +9 -9
- data/lib/url_reader.rb +17 -0
- metadata +10 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 59343ad48b2012d808064d62dcb1e07a9cfe0afa
|
|
4
|
+
data.tar.gz: 89a442c3a4486660157421f7df65ba397dfa1a88
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 861aaecbcad072bb57a7541a23259530a455b374e99ef5a7da806da2c8009e71e08050613358aec2a70a3fa50d10eae96df84f3a8b0e3174c02705bbb116d68a
|
|
7
|
+
data.tar.gz: 8d771250d826fa6ac81c6763a6227f2cfbfb4f4330faa4b21023c88d4f9b186b97e343b5752c37b080299fa6dadf54932c7a5962180b52e3e8514966c6937a19
|
data/lib/file_reader.rb
ADDED
data/lib/mqtt_reader.rb
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
require 'rubygems'
|
|
2
|
+
require 'mqtt'
|
|
3
|
+
require 'json'
|
|
4
|
+
|
|
5
|
+
class MQTTReader
|
|
6
|
+
|
|
7
|
+
attr_reader :temperature
|
|
8
|
+
|
|
9
|
+
def read (ttn_host, port, username, password, sensor_id)
|
|
10
|
+
MQTT::Client.connect(
|
|
11
|
+
:host => ttn_host,
|
|
12
|
+
:port => port,
|
|
13
|
+
:username => username,
|
|
14
|
+
:password => password) do |c|
|
|
15
|
+
c.get(sensor_id) do |topic,message|
|
|
16
|
+
obj = JSON.parse("#{message}")
|
|
17
|
+
$temperature = obj['fields']['temperature']
|
|
18
|
+
#Only listen until temperature is printed once
|
|
19
|
+
break if message[0,1] != nil
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
data/lib/print_html.rb
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
require "temperature"
|
|
2
|
+
|
|
3
|
+
class PrintHtml
|
|
4
|
+
|
|
5
|
+
attr_reader :temperature
|
|
6
|
+
|
|
7
|
+
def print
|
|
8
|
+
htemperature = Temperature.new
|
|
9
|
+
puts "<div>"
|
|
10
|
+
puts "<div>"+htemperature.celsius.to_s + " °C"+"</div>"
|
|
11
|
+
puts "<div>"+htemperature.to_fahrenheit.to_s + " °F"+"</div>"
|
|
12
|
+
puts "<div>"+htemperature.to_kelvin.to_s + " K"+"</div>"
|
|
13
|
+
puts "</div>"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
end
|
data/lib/print_json.rb
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
require "temperature"
|
|
3
|
+
|
|
4
|
+
class PrintJson
|
|
5
|
+
|
|
6
|
+
attr_reader :temperature
|
|
7
|
+
|
|
8
|
+
def print
|
|
9
|
+
jtemperature = Temperature.new
|
|
10
|
+
json_temperature = {:Celsius => jtemperature.celsius.to_s, :Fahrenheit => jtemperature.to_fahrenheit.to_s, :Kelvin => jtemperature.to_kelvin.to_s}
|
|
11
|
+
puts JSON.pretty_generate(json_temperature)
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|
data/lib/print_text.rb
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require "temperature"
|
|
2
|
+
|
|
3
|
+
class PrintText
|
|
4
|
+
|
|
5
|
+
attr_reader :temperature
|
|
6
|
+
|
|
7
|
+
def print
|
|
8
|
+
ttemperature = Temperature.new
|
|
9
|
+
puts "Gegeven: " + ttemperature.celsius.to_s + " °C"
|
|
10
|
+
puts ttemperature.celsius.to_s + " °C = " + ttemperature.to_fahrenheit.to_s + " °F"
|
|
11
|
+
puts ttemperature.celsius.to_s + " °C = " + ttemperature.to_kelvin.to_s + " K"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
end
|
data/lib/temperature.rb
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#Temperature bijhouden en converteren
|
|
2
|
+
|
|
3
|
+
class Temperature
|
|
4
|
+
|
|
5
|
+
KELVIN = 273.15
|
|
6
|
+
FAHRENHEIT_OFFSET = 32
|
|
7
|
+
FAHRENHEIT_SLOPE = Rational(9,5)
|
|
8
|
+
|
|
9
|
+
attr_reader :temperature
|
|
10
|
+
|
|
11
|
+
def celsius
|
|
12
|
+
$temperature.to_f
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def to_fahrenheit
|
|
16
|
+
($temperature.to_f * FAHRENHEIT_SLOPE) + FAHRENHEIT_OFFSET
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def to_kelvin
|
|
20
|
+
$temperature.to_f + KELVIN
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
require "temperature"
|
|
2
|
+
require "print_json"
|
|
3
|
+
require "print_html"
|
|
4
|
+
require "print_text"
|
|
5
|
+
require "url_reader"
|
|
6
|
+
require "file_reader"
|
|
7
|
+
require "commandline_reader"
|
|
8
|
+
require "mqtt_reader"
|
|
9
|
+
|
|
10
|
+
#Behouden als link tussen app die niet veranderd is en nieuwe temperature en andere single purpose classes
|
|
11
|
+
|
|
12
|
+
class TemperatureConverter
|
|
13
|
+
|
|
14
|
+
#Methoden behouden maar laten linken naar nieuwe single purpose classes.
|
|
15
|
+
|
|
16
|
+
def commandline_temperature argument
|
|
17
|
+
cmdreader = CommandlineReader.new argument
|
|
18
|
+
cmdreader.read
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def file_temperature file
|
|
22
|
+
freader = FileReader.new
|
|
23
|
+
freader.read(file)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def url_temperature url
|
|
27
|
+
ureader = URLReader.new
|
|
28
|
+
ureader.read(url)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def mqtt_reader(ttn_host, port, username, password, sensor_id)
|
|
32
|
+
mreader = MQTTReader.new
|
|
33
|
+
mreader.read(ttn_host, port, username, password, sensor_id)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def to_text
|
|
37
|
+
tprint = PrintText.new
|
|
38
|
+
tprint.print
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def to_json
|
|
42
|
+
jprint = PrintJson.new
|
|
43
|
+
jprint.print
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def to_html
|
|
47
|
+
hprint = PrintHtml.new
|
|
48
|
+
hprint.print
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
end
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
require "
|
|
2
|
-
require "
|
|
3
|
-
require "
|
|
4
|
-
require "
|
|
5
|
-
require "
|
|
6
|
-
require "
|
|
7
|
-
require "
|
|
8
|
-
require "
|
|
9
|
-
require "
|
|
1
|
+
require "temperature"
|
|
2
|
+
require "print_json"
|
|
3
|
+
require "print_html"
|
|
4
|
+
require "print_text"
|
|
5
|
+
require "url_reader"
|
|
6
|
+
require "file_reader"
|
|
7
|
+
require "commandline_reader"
|
|
8
|
+
require "mqtt_reader"
|
|
9
|
+
require "temperature_converter"
|
data/lib/url_reader.rb
ADDED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: temperature_converter_jonasd
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: '1.
|
|
4
|
+
version: '1.2'
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jonas Demeulemeester
|
|
@@ -19,7 +19,16 @@ extensions: []
|
|
|
19
19
|
extra_rdoc_files: []
|
|
20
20
|
files:
|
|
21
21
|
- bin/temp-conv
|
|
22
|
+
- lib/commandline_reader.rb
|
|
23
|
+
- lib/file_reader.rb
|
|
24
|
+
- lib/mqtt_reader.rb
|
|
25
|
+
- lib/print_html.rb
|
|
26
|
+
- lib/print_json.rb
|
|
27
|
+
- lib/print_text.rb
|
|
28
|
+
- lib/temperature.rb
|
|
29
|
+
- lib/temperature_converter.rb
|
|
22
30
|
- lib/temperature_converter_jonasd.rb
|
|
31
|
+
- lib/url_reader.rb
|
|
23
32
|
homepage: https://github.com/Spherehunt/temperature_converter
|
|
24
33
|
licenses:
|
|
25
34
|
- MIT
|