temperature_converter_DaLe 1.0.2 → 2.0.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b6080e06624f4633ff4dab056605cebd39b12ebf
4
- data.tar.gz: dcaa8adda243ae58e356cb3f16344682deae5cac
3
+ metadata.gz: 08faa9a722c2ee2b66120617328e6751222d2a87
4
+ data.tar.gz: a396af0e8fc78a6416c87ef2514559be916b0d0e
5
5
  SHA512:
6
- metadata.gz: fc367932ab180eb95260107ac6ae51d7b26b7523544dd4bf7b23e6d55c20080adab3536aeb396b1e87390a2ce6ddc7d1ef39ae38e5229dc92170c31fc403b195
7
- data.tar.gz: ff074907b8787204d18b97cce13e8cd735df928d1120c5c4bfdc31139a49ba6ceb6152b80faf043c012d7aec35ce26a1166aa013830ade10794a5cad2af5050d
6
+ metadata.gz: 282b329c64fcc017edfd5496ed3201d5bde5d66d494eeb9910140d1909dc671a9511a31817087ca708a48018d7306d1b67d21cc063d673c8495e7b0df48b3445
7
+ data.tar.gz: c47e11ecce8400ff923fff9763c4fe92c7876d83515e2e01a905493dc2a79a597e6c74e10cf6f2830d05c3d0dc48d0c78f439e6cb478d74d342a2f5b446027a7
data/lib/show_logo.rb ADDED
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env ruby
2
+ require 'colorize'
3
+ class ShowLogo
4
+
5
+
6
+ #---------------------------------------------------------------------
7
+ #narcism
8
+
9
+ def self.show_intro
10
+ system "clear"
11
+
12
+
13
+ #Startup screen
14
+ puts ' ____ __ '.red
15
+ puts ' / __ \\ ____ _ / / ___ '.red
16
+ puts ' / / / / / __ `/ / / / _ \\'.red
17
+ puts ' / /_/ / / /_/ / / /___ / __/'.red
18
+ puts ' /_____/ \\__,_/ /_____/ \\___/ '.red
19
+ puts ''
20
+ puts ' +-+-+-+-+ +-+-+-+-+-+-+-+-+'.yellow
21
+ puts ' |R|u|b|y| |t|e|r|m|i|n|a|l|'.yellow
22
+ puts ' +-+-+-+-+ +-+-+-+-+-+-+-+-+'.yellow
23
+ puts ''
24
+ puts ' >> Author : David Lejeune'.light_blue
25
+ puts ''
26
+ puts ' ###########################################'.red
27
+ puts ' # CONVERT CELCIUS #'.red
28
+ puts ' ###########################################'.red
29
+ puts ''
30
+ end
31
+
32
+ end
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'temperature_convert_to_celcius.rb'
4
+ require 'temperature_convert_to_fahrenheit.rb'
5
+ require 'temperature_convert_to_kelvin.rb'
6
+
7
+ class TemperatureConvert
8
+
9
+ attr_reader :temp
10
+
11
+ #---------------------------------------------------------------------
12
+ #converting
13
+ def self.convert(temp)
14
+ celcius = TemperatureConvertToCelcius.to_celcius(temp)
15
+ fahrenheit = TemperatureConvertToFahrenheit.to_fahrenheit(temp)
16
+ kelvin = TemperatureConvertToKelvin.to_kelvin(temp)
17
+ return celcius, fahrenheit, kelvin
18
+ end
19
+
20
+
21
+
22
+ end
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ class TemperatureConvertToCelcius
4
+
5
+ attr_reader :temp
6
+
7
+ #---------------------------------------------------------------------
8
+ #converting
9
+
10
+ def self.to_celcius(temp)
11
+ temp
12
+ end
13
+
14
+ end
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ class TemperatureConvertToFahrenheit
4
+
5
+ attr_reader :temp
6
+ FAHRENHEIT_OFFSET = 32
7
+ FAHRENHEIT_SLOPE = Rational(9,5)
8
+
9
+ #---------------------------------------------------------------------
10
+ #converting
11
+ def self.to_fahrenheit(temp)
12
+ (temp.to_f * FAHRENHEIT_SLOPE) + FAHRENHEIT_OFFSET
13
+ end
14
+
15
+ end
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ class TemperatureConvertToKelvin
4
+
5
+ attr_reader :temp
6
+ KELVIN = 273.15
7
+
8
+ #---------------------------------------------------------------------
9
+ #converting
10
+
11
+ def self.to_kelvin(temp)
12
+ temp.to_f + KELVIN
13
+ end
14
+
15
+ end
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'temperature_converter_commandline.rb'
4
+ require 'temperature_converter_file.rb'
5
+ require 'temperature_converter_url.rb'
6
+ require 'temperature_converter_ttl.rb'
7
+
8
+ class TemperatureConverter
9
+
10
+
11
+ attr_reader :temp
12
+
13
+
14
+ def initialize
15
+ @temp = 0
16
+ end
17
+
18
+ #---------------------------------------------------------------------
19
+ #start converting by reading
20
+
21
+ def self.commandline_temperature temp
22
+ TemperatureConverterCommandline.commandline_temperature temp
23
+ end
24
+
25
+ def self.file_temperature path
26
+ TemperatureConverterFile.file_temperature path
27
+ end
28
+
29
+ def self.url_temperature url
30
+ TemperatureConverterUrl.url_temperature url
31
+ end
32
+
33
+ def self.ttl_temperature origin_rb
34
+ TemperatureConverterTtl.ttl_temperature origin_rb
35
+ end
36
+
37
+
38
+
39
+
40
+ end
@@ -1,22 +1,22 @@
1
1
 
2
- require './lib/temperature_read_file.rb'
3
- require './lib/temperature_read_ttl.rb'
4
- require './lib/temperature_read_url.rb'
5
- require './lib/temperature_read_commandline.rb'
2
+ require 'temperature_read_file.rb'
3
+ require 'temperature_read_ttl.rb'
4
+ require 'temperature_read_url.rb'
5
+ require 'temperature_read_commandline.rb'
6
6
 
7
- require './lib/temperature_converter_commandline.rb'
8
- require './lib/temperature_converter_file.rb'
9
- require './lib/temperature_converter_url.rb'
10
- require './lib/temperature_converter_ttl.rb'
11
- require './lib/temperature_converter.rb'
7
+ require 'temperature_converter_commandline.rb'
8
+ require 'temperature_converter_file.rb'
9
+ require 'temperature_converter_url.rb'
10
+ require 'temperature_converter_ttl.rb'
11
+ require 'temperature_converter.rb'
12
12
 
13
13
 
14
- require './lib/temperature_output.rb'
15
- require './lib/temperature_output_to_html.rb'
16
- require './lib/temperature_output_to_json.rb'
17
- require './lib/temperature_output_to_text.rb'
14
+ require 'temperature_output.rb'
15
+ require 'temperature_output_to_html.rb'
16
+ require 'temperature_output_to_json.rb'
17
+ require 'temperature_output_to_text.rb'
18
18
 
19
- require './lib/temperature_convert.rb'
20
- require './lib/temperature_convert_to_celcius.rb'
21
- require './lib/temperature_convert_to_fahrenheit.rb'
22
- require './lib/temperature_convert_to_kelvin.rb'
19
+ require 'temperature_convert.rb'
20
+ require 'temperature_convert_to_celcius.rb'
21
+ require 'temperature_convert_to_fahrenheit.rb'
22
+ require 'temperature_convert_to_kelvin.rb'
@@ -0,0 +1,20 @@
1
+
2
+ #!/usr/bin/env ruby
3
+ require 'temperature_read_commandline.rb'
4
+
5
+ class TemperatureConverterCommandline
6
+
7
+
8
+ attr_reader :temp
9
+
10
+ def initialize
11
+ @temp = 0
12
+ end
13
+
14
+ #---------------------------------------------------------------------
15
+ #start converting by reading
16
+
17
+ def self.commandline_temperature temp
18
+ TemperatureConvert.convert(TemperatureReadCommandline.commandline_temperature (temp))
19
+ end
20
+ end
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'temperature_read_file.rb'
4
+
5
+ class TemperatureConverterFile
6
+
7
+
8
+ attr_reader :temp
9
+
10
+ def initialize
11
+ @temp = 0
12
+ end
13
+
14
+ #---------------------------------------------------------------------
15
+ #start converting by reading
16
+
17
+ def self.file_temperature path
18
+ TemperatureConvert.convert(TemperatureReadFile.file_temperature (path))
19
+ end
20
+
21
+
22
+ end
@@ -0,0 +1,21 @@
1
+
2
+ #!/usr/bin/env ruby
3
+ require 'temperature_read_ttl.rb'
4
+
5
+ class TemperatureConverterTtl
6
+
7
+
8
+ attr_reader :temp
9
+
10
+ def initialize
11
+ @temp = 0
12
+ end
13
+
14
+ #---------------------------------------------------------------------
15
+ #start converting by reading
16
+
17
+ def self.ttl_temperature
18
+ TemperatureConvert.convert(TemperatureReadTtl.ttl_temperature)
19
+ end
20
+
21
+ end
@@ -0,0 +1,21 @@
1
+
2
+ #!/usr/bin/env ruby
3
+ require 'temperature_read_url.rb'
4
+
5
+ class TemperatureConverterUrl
6
+
7
+
8
+ attr_reader :temp
9
+
10
+ def initialize
11
+ @temp = 0
12
+ end
13
+
14
+ #---------------------------------------------------------------------
15
+ #start converting by reading
16
+
17
+ def self.url_temperature url
18
+ TemperatureConvert.convert(TemperatureReadUrl.url_temperature (url))
19
+ end
20
+
21
+ end
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'temperature_output_to_html.rb'
4
+ require 'temperature_output_to_json.rb'
5
+ require 'temperature_output_to_text.rb'
6
+
7
+ class TemperatureOutput
8
+
9
+
10
+ attr_reader :temp
11
+
12
+ #---------------------------------------------------------------------
13
+ #outputting
14
+
15
+ def self.show_output(converted_temp)
16
+ show_to_text(converted_temp)
17
+ show_to_html(converted_temp)
18
+ show_to_json(converted_temp)
19
+ end
20
+
21
+ def self.show_to_text(converted_temp)
22
+ puts '>to_text'
23
+ puts TemperatureOutputToText.to_text(converted_temp[0], converted_temp[1], converted_temp[2])
24
+ puts ''
25
+ end
26
+
27
+ def self.show_to_html(converted_temp)
28
+ puts '>to_html'
29
+ puts TemperatureOutputToHtml.to_html(converted_temp[0], converted_temp[1], converted_temp[2])
30
+ puts ''
31
+ end
32
+
33
+ def self.show_to_json(converted_temp)
34
+ puts '>to_json'
35
+ puts TemperatureOutputToJson.to_json(converted_temp[0], converted_temp[1], converted_temp[2])
36
+ puts ''
37
+ end
38
+ end
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env ruby
2
+
3
+
4
+ class TemperatureOutputToHtml
5
+
6
+
7
+ attr_reader :temp
8
+
9
+ #---------------------------------------------------------------------
10
+ #outputting
11
+
12
+
13
+ def self.to_html(celcius, fahrenheit, kelvin)
14
+ "<div>\n" +
15
+ "<div>#{celcius} °C</div>\n" +
16
+ "<div>#{fahrenheit} °F</div>\n" +
17
+ "<div>#{kelvin} K</div>\n" +
18
+ "</div>"
19
+ end
20
+
21
+
22
+ end
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env ruby
2
+
3
+
4
+ class TemperatureOutputToJson
5
+
6
+
7
+ attr_reader :temp
8
+
9
+ #---------------------------------------------------------------------
10
+ #outputting
11
+
12
+
13
+ def self.to_json(celcius, fahrenheit, kelvin)
14
+ "(celcius: #{celcius}, fahrenheit: #{fahrenheit}, kelvin: #{kelvin})"
15
+ end
16
+
17
+
18
+ end
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env ruby
2
+
3
+
4
+ class TemperatureOutputToText
5
+
6
+
7
+ attr_reader :temp
8
+
9
+ #---------------------------------------------------------------------
10
+ #outputting
11
+
12
+ def self.to_text(celcius, fahrenheit, kelvin)
13
+ "Temperature\n" +
14
+ "#{celcius} °C\n" +
15
+ "#{fahrenheit} °F\n" +
16
+ "#{kelvin} K\n"
17
+ end
18
+
19
+ end
@@ -0,0 +1,24 @@
1
+
2
+ #!/usr/bin/env ruby
3
+ require 'temperature_convert.rb'
4
+ require 'temperature_output.rb'
5
+
6
+ class TemperatureReadCommandline
7
+
8
+
9
+ attr_reader :temp
10
+
11
+ def initialize
12
+ @temp = 0
13
+ end
14
+
15
+ #---------------------------------------------------------------------
16
+ #reading
17
+ def self.commandline_temperature temp
18
+ temp = temp
19
+ temp
20
+ end
21
+
22
+
23
+
24
+ end
@@ -0,0 +1,26 @@
1
+
2
+ #!/usr/bin/env ruby
3
+ require 'temperature_convert.rb'
4
+ require 'temperature_output.rb'
5
+
6
+ class TemperatureReadFile
7
+
8
+
9
+ attr_reader :temp
10
+
11
+ def initialize
12
+ @temp = 0
13
+ end
14
+
15
+ #---------------------------------------------------------------------
16
+ #reading
17
+
18
+
19
+ def self.file_temperature path
20
+ @path = path
21
+ f = File.open(path, "r")
22
+ temp = f.sysread(6).to_f
23
+ end
24
+
25
+
26
+ end
@@ -0,0 +1,80 @@
1
+
2
+ #!/usr/bin/env ruby
3
+ require 'net/http'
4
+ require 'uri'
5
+ require 'temperature_convert.rb'
6
+ require 'temperature_output.rb'
7
+ require 'show_logo.rb'
8
+ require 'rubygems'
9
+ require 'mqtt'
10
+
11
+ require 'colorize'
12
+ require 'json'
13
+
14
+ class TemperatureReadTtl
15
+
16
+
17
+ attr_reader :temp
18
+
19
+ def initialize
20
+ @temp = 0
21
+ end
22
+
23
+ #---------------------------------------------------------------------
24
+ #reading
25
+
26
+ def self.ttl_temperature
27
+ # Subscribe example
28
+
29
+ countCycles=0
30
+
31
+ MQTT::Client.connect(
32
+ :host => 'staging.thethingsnetwork.org',
33
+ :port => '1883',
34
+ :username => '70B3D57ED00012B2',
35
+ :password => 'c8iuTSccnypK1eoFzEb/OoqB2FVAiFg/aEaYesnNf4w='
36
+ ) do |c|
37
+ # If you pass a block to the get method, then it will loop
38
+ c.get('#') do |topic,message|
39
+ obj = JSON.parse("#{message}")
40
+ dev_eui = obj['dev_eui']
41
+ countCycles = countCycles + 1
42
+ #puts "#{topic}: #{message}"
43
+ # another = JSON.parse("#{message}")
44
+ # temps = another['fields']
45
+ # read_ttl_temps = temps.select {|temp| temp['temperature'] != ''}
46
+ # puts read_ttl_temps
47
+ #
48
+ # another = JSON.parse("#{read_ttl_temps}")
49
+ # temps = another['temperature']
50
+ # read_ttl_temps = temps.select {|temp| temp['temperature'] != ''}
51
+ #
52
+ # puts read_ttl_temps
53
+ # ShowLogo.show_intro
54
+ # puts "output : read from ttl".white
55
+ # puts "======================\n\n".white
56
+ # TemperatureOutput.show_output(TemperatureConvert.convert("#{sv1}"))
57
+ # puts "-------------------------------------------------Cycle nr #{countCycles}".yellow
58
+ # puts "------------------------------------dev_eui #{dev_eui}".magenta
59
+ # sv1 = obj['fields']['temperature']
60
+
61
+ #client.disconnect()
62
+ temp = obj['fields']['temperature']
63
+ #puts temp
64
+ temp = temp.to_f
65
+ @temp = temp
66
+ break if message[0,1] != nil
67
+ end
68
+
69
+
70
+ end
71
+
72
+ @temp
73
+ end
74
+
75
+
76
+ def self.open_url(url)
77
+ Net::HTTP.get(URI.parse(url))
78
+ end
79
+
80
+ end
@@ -0,0 +1,28 @@
1
+
2
+ #!/usr/bin/env ruby
3
+ require 'net/http'
4
+ require 'uri'
5
+ require 'temperature_convert.rb'
6
+ require 'temperature_output.rb'
7
+
8
+ class TemperatureReadUrl
9
+
10
+
11
+ attr_reader :temp
12
+
13
+ def initialize
14
+ @temp = 0
15
+ end
16
+
17
+ #---------------------------------------------------------------------
18
+ #reading
19
+
20
+ def self.url_temperature url
21
+ open_url(url).to_f
22
+ end
23
+
24
+ def self.open_url(url)
25
+ Net::HTTP.get(URI.parse(url))
26
+ end
27
+
28
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: temperature_converter_DaLe
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Lejeune
@@ -18,7 +18,25 @@ extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
20
  - bin/temp-conv
21
+ - lib/show_logo.rb
22
+ - lib/temperature_convert.rb
23
+ - lib/temperature_convert_to_celcius.rb
24
+ - lib/temperature_convert_to_fahrenheit.rb
25
+ - lib/temperature_convert_to_kelvin.rb
26
+ - lib/temperature_converter.rb
21
27
  - lib/temperature_converter_DaLe.rb
28
+ - lib/temperature_converter_commandline.rb
29
+ - lib/temperature_converter_file.rb
30
+ - lib/temperature_converter_ttl.rb
31
+ - lib/temperature_converter_url.rb
32
+ - lib/temperature_output.rb
33
+ - lib/temperature_output_to_html.rb
34
+ - lib/temperature_output_to_json.rb
35
+ - lib/temperature_output_to_text.rb
36
+ - lib/temperature_read_commandline.rb
37
+ - lib/temperature_read_file.rb
38
+ - lib/temperature_read_ttl.rb
39
+ - lib/temperature_read_url.rb
22
40
  homepage: https://github.com/DavidLejeune/01-temperature-converter
23
41
  licenses:
24
42
  - MIT