saal 0.2.21 → 0.2.22

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -4,7 +4,7 @@ require 'rubygems'
4
4
  require 'rake'
5
5
  require 'date'
6
6
  require 'rdoc'
7
- require 'rcov/rcovtask'
7
+ #require 'rcov/rcovtask'
8
8
  require 'rake/testtask'
9
9
  require 'rdoc/task'
10
10
 
@@ -57,13 +57,13 @@ Rake::TestTask.new(:test) do |test|
57
57
  test.verbose = true
58
58
  end
59
59
 
60
- Rcov::RcovTask.new(:coverage) do |t|
61
- t.libs << "test"
62
- t.test_files = FileList['test/*_test.rb']
63
- t.rcov_opts << ['--exclude "^/"', '--include "lib/.*\.rb"']
64
- t.output_dir = 'coverage'
65
- t.verbose = true
66
- end
60
+ #Rcov::RcovTask.new(:coverage) do |t|
61
+ # t.libs << "test"
62
+ # t.test_files = FileList['test/*_test.rb']
63
+ # t.rcov_opts << ['--exclude "^/"', '--include "lib/.*\.rb"']
64
+ # t.output_dir = 'coverage'
65
+ # t.verbose = true
66
+ #end
67
67
 
68
68
  Rake::RDocTask.new do |rdoc|
69
69
  rdoc.rdoc_dir = 'rdoc'
@@ -19,7 +19,8 @@ else
19
19
  d = SAAL::Daemon.new(:interval => SENSOR_INTERVAL,
20
20
  :sensorconf => SENSORSCONF,
21
21
  :dbconf => DBCONF,
22
- :foreground => foreground)
22
+ :foreground => foreground,
23
+ :keep_stdin => false)
23
24
  pid = d.run
24
25
  if !foreground
25
26
  File.open(pidfile, 'w') do |f|
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ SENSOR_INTERVAL = 60 # seconds between consecutive measurements of the sensors
4
+ DBCONF = "/etc/saal/database.yml"
5
+ SENSORSCONF = "/etc/saal/sensors.yml"
6
+
7
+ require File.dirname(__FILE__)+'/../lib/saal.rb'
8
+
9
+ def usage
10
+ $stderr.puts "Usage: saal_daemon <pidfile|--foreground>"
11
+ end
12
+
13
+ if ARGV.size != 1
14
+ usage
15
+ exit 2
16
+ else
17
+ pidfile = ARGV[0]
18
+ foreground = (ARGV[0] == '--foreground')
19
+ d = SAAL::Daemon.new(:interval => SENSOR_INTERVAL,
20
+ :sensorconf => SENSORSCONF,
21
+ :dbconf => DBCONF,
22
+ :foreground => foreground,
23
+ :keep_stdin => true)
24
+ pid = d.run
25
+ if !foreground
26
+ File.open(pidfile, 'w') do |f|
27
+ f.write(pid)
28
+ f.close
29
+ end
30
+ end
31
+ end
@@ -7,9 +7,9 @@ module SAAL
7
7
  else
8
8
  fork do
9
9
  if not opts[:keep_stdin]
10
- $stderr.reopen "/dev/null", "a"
11
- $stdin.reopen "/dev/null", "a"
10
+ $stdin.reopen "/dev/null"
12
11
  $stdout.reopen "/dev/null", "a"
12
+ $stderr.reopen "/dev/null", "a"
13
13
  end
14
14
  yield ForkedRunner.new
15
15
  end
@@ -10,7 +10,7 @@ module SAAL
10
10
  DBCONF = CONFDIR+"database.yml"
11
11
  CHARTSCONF = CONFDIR+"charts.yml"
12
12
 
13
- VERSION = '0.2.21'
13
+ VERSION = '0.2.22'
14
14
  end
15
15
 
16
16
  require File.dirname(__FILE__)+'/dbstore.rb'
@@ -6,8 +6,8 @@ Gem::Specification.new do |s|
6
6
  s.platform = Gem::Platform::RUBY
7
7
 
8
8
  s.name = 'saal'
9
- s.version = '0.2.21'
10
- s.date = '2013-04-14'
9
+ s.version = '0.2.22'
10
+ s.date = '2013-05-16'
11
11
 
12
12
  s.summary = "Thin abstraction layer for interfacing and recording sensors (currently onewire) and actuators (currently dinrelay)"
13
13
  s.description = <<EOF
@@ -28,7 +28,7 @@ EOF
28
28
 
29
29
  s.executables = Dir.glob("bin/*").map{|f| f.gsub('bin/','')}
30
30
 
31
- s.add_dependency('ownet', [">= 0.2.0"])
31
+ s.add_dependency('ownet', [">= 0.2.1"])
32
32
  s.add_dependency('nokogiri')
33
33
  s.add_dependency('mysql')
34
34
 
@@ -70,7 +70,7 @@ class TestSensors < Test::Unit::TestCase
70
70
  assert_equal 1, res.num_rows
71
71
  row = res.fetch_row
72
72
  assert_equal "fake_temp", row[0]
73
- assert_in_delta Time.now.utc.to_i, row[1], 100
73
+ assert_in_delta Time.now.utc.to_i, row[1].to_i, 100
74
74
  assert_instance_of Float, row[2].to_f
75
75
  end
76
76
  end
metadata CHANGED
@@ -1,87 +1,68 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: saal
3
- version: !ruby/object:Gem::Version
4
- hash: 61
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.22
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 2
9
- - 21
10
- version: 0.2.21
11
6
  platform: ruby
12
- authors:
13
- - "Pedro C\xC3\xB4rte-Real"
7
+ authors:
8
+ - Pedro Côrte-Real
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2013-04-14 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2013-05-16 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: ownet
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &72850210 !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 23
29
- segments:
30
- - 0
31
- - 2
32
- - 0
33
- version: 0.2.0
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.2.1
34
22
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: nokogiri
38
23
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *72850210
25
+ - !ruby/object:Gem::Dependency
26
+ name: nokogiri
27
+ requirement: &72849690 !ruby/object:Gem::Requirement
40
28
  none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 0
47
- version: "0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
48
33
  type: :runtime
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: mysql
52
34
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *72849690
36
+ - !ruby/object:Gem::Dependency
37
+ name: mysql
38
+ requirement: &72848430 !ruby/object:Gem::Requirement
54
39
  none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- hash: 3
59
- segments:
60
- - 0
61
- version: "0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
62
44
  type: :runtime
63
- version_requirements: *id003
64
- description: |
65
- A daemon and libraries to create an abstraction layer that interfaces with
66
- sensors and actuators, recording their state, responding to requests
67
- for current and historical values, and allowing changes of state.
68
-
45
+ prerelease: false
46
+ version_requirements: *72848430
47
+ description: ! "A daemon and libraries to create an abstraction layer that interfaces
48
+ with \nsensors and actuators, recording their state, responding to requests \nfor
49
+ current and historical values, and allowing changes of state.\n"
69
50
  email: pedro@pedrocr.net
70
- executables:
51
+ executables:
71
52
  - saal_chart~
72
53
  - dinrelaystatus
73
54
  - saal_readall
74
55
  - saal_dump_database
75
56
  - saal_daemon
76
57
  - saal_chart
58
+ - saal_daemon~
77
59
  - dinrelayset
78
60
  - saal_import_mysql
79
61
  extensions: []
80
-
81
- extra_rdoc_files:
62
+ extra_rdoc_files:
82
63
  - README.rdoc
83
64
  - LICENSE
84
- files:
65
+ files:
85
66
  - LICENSE
86
67
  - README.rdoc
87
68
  - Rakefile
@@ -124,43 +105,37 @@ files:
124
105
  - test/test_sensor_cleanups.yml
125
106
  - test/test_sensors.yml
126
107
  - bin/saal_chart~
108
+ - bin/saal_daemon~
127
109
  homepage: https://github.com/pedrocr/saal
128
110
  licenses: []
129
-
130
111
  post_install_message:
131
- rdoc_options:
112
+ rdoc_options:
132
113
  - -S
133
114
  - -w 2
134
115
  - -N
135
116
  - -c utf8
136
- require_paths:
117
+ require_paths:
137
118
  - lib
138
- required_ruby_version: !ruby/object:Gem::Requirement
119
+ required_ruby_version: !ruby/object:Gem::Requirement
139
120
  none: false
140
- requirements:
141
- - - ">="
142
- - !ruby/object:Gem::Version
143
- hash: 3
144
- segments:
145
- - 0
146
- version: "0"
147
- required_rubygems_version: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ! '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ required_rubygems_version: !ruby/object:Gem::Requirement
148
126
  none: false
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- hash: 3
153
- segments:
154
- - 0
155
- version: "0"
127
+ requirements:
128
+ - - ! '>='
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
156
131
  requirements: []
157
-
158
132
  rubyforge_project:
159
- rubygems_version: 1.8.15
133
+ rubygems_version: 1.8.11
160
134
  signing_key:
161
135
  specification_version: 2
162
- summary: Thin abstraction layer for interfacing and recording sensors (currently onewire) and actuators (currently dinrelay)
163
- test_files:
136
+ summary: Thin abstraction layer for interfacing and recording sensors (currently onewire)
137
+ and actuators (currently dinrelay)
138
+ test_files:
164
139
  - test/chart_data_test.rb
165
140
  - test/chart_test.rb
166
141
  - test/charts_test.rb