wink_scheduler 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Dockerfile +1 -1
- data/lib/wink_scheduler/schedule.rb +6 -12
- data/lib/wink_scheduler/version.rb +1 -1
- data/wink_scheduler.gemspec +0 -1
- metadata +2 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b0047803902b46c754f918e4a58527a39895d7c
|
4
|
+
data.tar.gz: fccc58d9118a7c05a637b757c305aeea3e717b83
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 862ebbee61be5b48dc2fef89393a8dd24bdfd728e28af51d3060f42c0aaac41b00efd024e17c7c66e3eb16ff1eaac21191b011a8ea1ec07a509259ff28206a03
|
7
|
+
data.tar.gz: aea703e6ab03252c74b7d12d071cf89c53b49885897eb32b8452d11ef241dc96b6e3b454c24fec36a175a23a88ff5103e8aff38764a7033a9e7c9827641dfbf1
|
data/Dockerfile
CHANGED
@@ -2,7 +2,7 @@ FROM ruby:2.1
|
|
2
2
|
MAINTAINER Joe Lanford <joe.lanford@gmail.com>
|
3
3
|
WORKDIR /wink_scheduler
|
4
4
|
RUN git clone https://github.com/joelanford/wink_scheduler.git /wink_scheduler && \
|
5
|
-
git checkout v0.0.
|
5
|
+
git checkout v0.0.6 && \
|
6
6
|
bundle install
|
7
7
|
|
8
8
|
CMD ["bundle", "exec", "bin/wink_scheduler", "/wink_scheduler/conf/schedule.yaml"]
|
@@ -3,13 +3,10 @@ require 'weather-api'
|
|
3
3
|
require 'httparty'
|
4
4
|
require 'yaml'
|
5
5
|
require 'time'
|
6
|
-
require 'rufus-scheduler'
|
7
6
|
|
8
7
|
module WinkScheduler
|
9
8
|
class Schedule
|
10
9
|
def initialize(context, opts)
|
11
|
-
@scheduler = Rufus::Scheduler.new
|
12
|
-
|
13
10
|
@logger = context[:logger]
|
14
11
|
devices = context[:devices]
|
15
12
|
groups = context[:groups]
|
@@ -39,6 +36,7 @@ module WinkScheduler
|
|
39
36
|
raise "Schedule must define 'method' option"
|
40
37
|
end
|
41
38
|
|
39
|
+
@method_args = []
|
42
40
|
if opts["method_args"]
|
43
41
|
arity = @object.method(@method).arity
|
44
42
|
if arity == 0
|
@@ -110,17 +108,13 @@ module WinkScheduler
|
|
110
108
|
end
|
111
109
|
|
112
110
|
def execute
|
111
|
+
cur_time = Time.now
|
113
112
|
next_time = get_next_time
|
113
|
+
|
114
114
|
@logger.info "Scheduled \"#{@method}#{"(" + @method_args.join(",") + ")" if @method_args}\" on #{@type} \"#{@object.name}\" at #{next_time}."
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
else
|
119
|
-
@object.send(@method)
|
120
|
-
end
|
121
|
-
end
|
122
|
-
@scheduler.join
|
123
|
-
@logger.info "Executed \"#{@method}\" on #{@type} \"#{@object.name}\"."
|
115
|
+
sleep next_time - cur_time
|
116
|
+
@object.send(@method, *@method_args)
|
117
|
+
@logger.info "Executed \"#{@method}#{"(" + @method_args.join(",") + ")" if @method_args}\" on #{@type} \"#{@object.name}\"."
|
124
118
|
end
|
125
119
|
|
126
120
|
def get_next_time
|
data/wink_scheduler.gemspec
CHANGED
@@ -21,7 +21,6 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_dependency "weather-api", "~> 1.2"
|
22
22
|
spec.add_dependency "winker", "~> 0.0", ">= 0.0.15"
|
23
23
|
spec.add_dependency "httparty", "~> 0.13", ">= 0.13.7"
|
24
|
-
spec.add_dependency "rufus-scheduler", "~> 3.2"
|
25
24
|
|
26
25
|
spec.add_development_dependency "bundler", "~> 1.7"
|
27
26
|
spec.add_development_dependency "rake", "~> 10.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wink_scheduler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joe Lanford
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01-
|
11
|
+
date: 2016-01-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: weather-api
|
@@ -64,20 +64,6 @@ dependencies:
|
|
64
64
|
- - ">="
|
65
65
|
- !ruby/object:Gem::Version
|
66
66
|
version: 0.13.7
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: rufus-scheduler
|
69
|
-
requirement: !ruby/object:Gem::Requirement
|
70
|
-
requirements:
|
71
|
-
- - "~>"
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: '3.2'
|
74
|
-
type: :runtime
|
75
|
-
prerelease: false
|
76
|
-
version_requirements: !ruby/object:Gem::Requirement
|
77
|
-
requirements:
|
78
|
-
- - "~>"
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version: '3.2'
|
81
67
|
- !ruby/object:Gem::Dependency
|
82
68
|
name: bundler
|
83
69
|
requirement: !ruby/object:Gem::Requirement
|