sybren-marechal-thermostat-exercise 0.4.0

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: 91f29370600ee33877bae8b9e535eb90f5d82633
4
+ data.tar.gz: 03722d796ba56ef326118cc4e3365bd1f31a49e8
5
+ SHA512:
6
+ metadata.gz: 2076d62f17502cab9b69b34819cccdf1edb4f623bb663dd3df79b4d0d13091e4424b1ee18e501d0553deab16f0f66c81f8c102028618a4535825aff0315acea2
7
+ data.tar.gz: cd2d2f61f5f3bcea92d73e5a6dffd981e6839946000860215e6011cae32fb7565469464c2e5f91b4b2b2390d981b6275bd5c46f3cc9febdf16b8af8c2e9fdee0
File without changes
@@ -0,0 +1,24 @@
1
+ class Converter
2
+
3
+ attr_accessor :value
4
+ attr_reader :temperatureInCelcius
5
+
6
+ def initialize(value, temperatureInCelcius)
7
+ @value = value
8
+ @temperatureInCelcius = temperatureInCelcius
9
+ end
10
+
11
+ def unit= (unit)
12
+ case unit
13
+ when "C"
14
+ @temperatureInCelcius = value
15
+ when "F"
16
+ @temperatureInCelcius = FahrenheidToCelcius.convert(value)
17
+ when "K"
18
+ @temperatureInCelcius = KelvinToCelcius.convert(value)
19
+ else
20
+ @temperatureInCelcius = "not a correct value"
21
+ end
22
+
23
+ end
24
+ end
@@ -0,0 +1,17 @@
1
+ class JsonParser
2
+
3
+ def getCirculation(thermostat)
4
+
5
+ heating_on = {"heating":"on", "airo":"off"}
6
+ airco_on = {"heating":"off", "airco":"on"}
7
+
8
+ if thermostat.cooling? == true
9
+ circulation = JSON.pretty_generate(airco_on)
10
+ elsif thermostat.heating? == true
11
+ circulation = JSON.pretty_generate(heating_on)
12
+ else
13
+ circulation = "nothing to do"
14
+ end
15
+ return circulation
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ class TemperatureParser
2
+
3
+ attr_reader :value, :unit
4
+
5
+ def getTamperature
6
+ @value = getValue()
7
+ @unit = getUnit()
8
+ end
9
+
10
+ def getValue()
11
+ return ARGV[0].chomp
12
+ end
13
+
14
+ def getUnit()
15
+ return ARGV[1].chomp
16
+ end
17
+ end
@@ -0,0 +1,18 @@
1
+ class Thermostat
2
+
3
+ attr_accessor :actual_temperature, :wanted_temperature
4
+
5
+ def initialize(wanted_temperature, actual_temperature, range_temperature)
6
+ @wanted_temperature = wanted_temperature
7
+ @actual_temperature = actual_temperature
8
+ @range_temperature = range_temperature
9
+ end
10
+
11
+ def heating?
12
+ @wanted_temperature > @actual_temperature + @range_temperature
13
+ end
14
+
15
+ def cooling?
16
+ @wanted_temperature < @actual_temperature - @range_temperature
17
+ end
18
+ end
@@ -0,0 +1,6 @@
1
+ class FahrenheidToCelcius
2
+
3
+ def self.convert(farenheid)
4
+ return ((farenheid.to_i - 32 ) * 5 / 9)
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ class KelvinToCelcius
2
+
3
+ def self.convert(kelvin)
4
+ return (kelvin.to_i - 273.15 )
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class colorgenerator
2
+ def initialize(wanted_color)
3
+ @
4
+
5
+ end
metadata ADDED
@@ -0,0 +1,81 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sybren-marechal-thermostat-exercise
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.0
5
+ platform: ruby
6
+ authors:
7
+ - sybren marechal
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-05-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.16'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.16'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ description: ": Write a longer description or delete this line."
42
+ email:
43
+ - sybrenmarechal@icloud.com
44
+ executables:
45
+ - thermostat
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - "./lib/Convert.rb"
50
+ - "./lib/JsonParser.rb"
51
+ - "./lib/TemperatureParser.rb"
52
+ - "./lib/Thermostaat.rb"
53
+ - "./lib/converters/FahrenheidToCelcius.rb"
54
+ - "./lib/converters/KelvinToCelcius.rb"
55
+ - "./lib/led_output.rb"
56
+ - bin/thermostat
57
+ homepage: https://github.com/svl-softwareengineering-2018/thermostat-sybren-marechal
58
+ licenses:
59
+ - MIT
60
+ metadata: {}
61
+ post_install_message:
62
+ rdoc_options: []
63
+ require_paths:
64
+ - lib
65
+ required_ruby_version: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ required_rubygems_version: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ requirements: []
76
+ rubyforge_project:
77
+ rubygems_version: 2.5.2
78
+ signing_key:
79
+ specification_version: 4
80
+ summary: This is a thermostat project
81
+ test_files: []