Lenny-Vanderlinden-thermostat-exercise 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 13cd7b45d01241a91d49fd654f0dc29118bfb282
4
+ data.tar.gz: 928afe571186b641f3a7b1ba9db72c12529bf04f
5
+ SHA512:
6
+ metadata.gz: e6f61348748eb805b577e2c8974de853b11e9a3e7b6ffc50008367f0c7cd2ee147f7c819ba0a6defb4463a8673fb9ae0cbb48eeca6e49329200e275b10d3539d
7
+ data.tar.gz: 742165f1ce0755f687e85e44386dbcd2edbd52cbfe4e86ada10a87d94c2fbf15c198e5bd69ae3ece3c2809ded9ad969bdda95f2628493111ea11b0002fed6918
@@ -0,0 +1,43 @@
1
+ require_relative "convert"
2
+ require 'optparse'
3
+
4
+ foo = Convert.new
5
+ #cli
6
+ #foo = Temperature.new
7
+ #foo.clitemp(ARGV[0].to_i,ARGV[1].to_i,ARGV[2])
8
+
9
+
10
+ options = {:celcius => nil, :fahrenheit => nil, :kelvin => nil, :range => nil }
11
+
12
+ parser = OptionParser.new do |opts|
13
+
14
+ opts.banner = "Usage: .rb [options]"
15
+
16
+ opts.on('-r', '--range range',Float, 'Range') do |range|
17
+ options[:range] = range;
18
+ $range = range
19
+ end
20
+
21
+ opts.on('-c', '--celcius C',Float, 'Celcius') do |celcius|
22
+ options[:temperature] = foo.convert_temp(celcius,"c");
23
+ range = foo.convert_range("c");
24
+ end
25
+
26
+ opts.on('-k', '--kelvin K', Float , 'Kevin') do |kelvin|
27
+ options[:temperature] = foo.convert_temp(kelvin,"k");
28
+ range = foo.convert_range("k");
29
+ end
30
+
31
+ opts.on('-u', '--fahrenheit F', Float, 'Fahrenheit') do |fahrenheit|
32
+ options[:temperature] = foo.convert_temp(fahrenheit,"f");
33
+ range = foo.convert_range("f");
34
+ end
35
+ end
36
+ parser.parse!
37
+
38
+ if options[:temperature]
39
+ while true do
40
+ ledoutput = foo.output(options[:temperature])
41
+ break
42
+ end
43
+ end
@@ -0,0 +1,50 @@
1
+ class Convert
2
+ def convert_temp(temperature,unit)
3
+ if unit == "f"
4
+ endtemp = temperature * 1.8 + 32
5
+ #endrange = (range*1.8 + 32)
6
+ puts "The temperature is #{endtemp}°F"
7
+ elsif unit == "k"
8
+ endtemp = temperature + 273.15
9
+ #endrange = (range+273.15)
10
+ puts "The temperature is #{endtemp}°K"
11
+ elsif unit =="c"
12
+ endtemp = temperature
13
+ #endrange = range
14
+ puts "The temperature is #{endtemp}°C"
15
+ end
16
+ return endtemp
17
+ #return endrange
18
+ end
19
+
20
+ def convert_range(unit)
21
+
22
+ if unit == "f"
23
+ $endrange = $range * 1.8 + 32
24
+ $idealetemp = 20 *1.8+32
25
+ puts "The range is #{$endrange}°F"
26
+ puts "The ideal temperature is #{$idealetemp}°F"
27
+ elsif unit == "k"
28
+ $endrange = $range + 273.15
29
+ $idealetemp = 20+273.15
30
+ puts "The range is #{$endrange}°K"
31
+ puts "The ideal temperature is #{$idealetemp}°K"
32
+ elsif unit =="c"
33
+ $endrange = $range
34
+ $idealetemp = 20
35
+ puts "The range is #{$endrange}°C"
36
+
37
+ end
38
+ return $endrange
39
+ end
40
+
41
+ def output(temperature)
42
+ if temperature > ($idealetemp + $endrange)
43
+ puts "red"
44
+ elsif temperature < ($idealetemp - $endrange)
45
+ puts "blue"
46
+ else
47
+ puts "green"
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,12 @@
1
+ class Helloworld
2
+
3
+ attr_accessor :name
4
+
5
+ def initialize(name = "world")
6
+ @name = name
7
+ end
8
+
9
+ def say_hello
10
+ puts "Hello #{@name}"
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ require "mqtt"
2
+
3
+ temperature_topic = 'softwareengineering/temperature/+'
4
+ # Publish example
5
+ MQTT::Client.connect('mqtt.labict.be') do |client|
6
+ while true
7
+ client.get(temperature_topic) do |topic,message|
8
+ puts "#{topic}: #{message}"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,31 @@
1
+ require_relative "convert"
2
+ class Temperature
3
+ =begin
4
+ def clitemp(temperature,range,unit)
5
+ $temperature= temperature
6
+ $range = range
7
+ $unit = unit
8
+ foo = Convert.new
9
+ foo.convert_temp
10
+
11
+ if $temperature > (20 +$range)
12
+ puts "red"
13
+ elsif $temperature < (20 -$range)
14
+ puts "blue"
15
+ else
16
+ puts "green"
17
+ end
18
+ end
19
+ =end
20
+
21
+ def temperatuur(temperature,range,unit)
22
+
23
+ #test url
24
+ =begin
25
+ def open
26
+ temp_test = (URI.parse("https://labict.be/software-engineering/temperature/api/temperature/fake").read).to_f
27
+ puts temp_test
28
+
29
+ end
30
+ =end
31
+ end
@@ -0,0 +1,12 @@
1
+ class url_reader
2
+ require 'openssl'
3
+ OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
4
+ require "open-uri"
5
+
6
+ def open
7
+ url = (URI.parse("https://labict.be/software-engineering/temperature/api/temperature/fake").read).to_f
8
+ puts url
9
+ end
10
+
11
+
12
+ end
metadata ADDED
@@ -0,0 +1,51 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: Lenny-Vanderlinden-thermostat-exercise
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Lenny Vanderlinden
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-05-23 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Application to convert the temperature and to tell if its warm/cold or
14
+ good
15
+ email: lenny.vanderlinden@student.vives.be
16
+ executables:
17
+ - thermostat
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - bin/thermostat
22
+ - lib/convert.rb
23
+ - lib/hello_world.rb
24
+ - lib/mqtt_demo.rb
25
+ - lib/temperature.rb
26
+ - lib/url_reader.rb
27
+ homepage: http://git.labict.be/lennyvanderlinden/Ruby-Thermostaat
28
+ licenses:
29
+ - MIT
30
+ metadata: {}
31
+ post_install_message:
32
+ rdoc_options: []
33
+ require_paths:
34
+ - lib
35
+ required_ruby_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ required_rubygems_version: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ requirements: []
46
+ rubyforge_project:
47
+ rubygems_version: 2.6.12
48
+ signing_key:
49
+ specification_version: 4
50
+ summary: thermostaat
51
+ test_files: []