ruboty-toggle_switch 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +13 -5
- data/.travis.yml +8 -0
- data/README.md +12 -0
- data/lib/ruboty/toggle_switch/storage.rb +25 -10
- data/lib/ruboty/toggle_switch/version.rb +1 -1
- data/ruboty-toggle_switch.gemspec +1 -0
- metadata +29 -16
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZDhkNmU5ZGE4MGUyMTQ0ZWM1YmRjNDY4Nzc0MWNlNmY2MDQzYWE0Nw==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
ZDA1ZTc3ZjMyMGYyZGFlMWU5ZjBmZjc0N2Y5YWEzMTE4NzE0NTI0YQ==
|
5
7
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
NzI5YmFkOTRhYmQ0NWMwZTc5YzZmM2MzMDk2N2Q0NTgxMjgzZGIxMGU0ZDhi
|
10
|
+
YTk5ODU0YzU5YmI0MzM0NTUzNDJmNWQwMjMyMWNlZTAzZGEwNDEzZWQ0YzI5
|
11
|
+
ZDQxNThkMWZiNzkxMDJjY2RkZjZlZWM4ZWVmM2FhMTQ5Njk3MDU=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
OTRhYzI3NjY0MjVhZmJmYWU4OWNhMjBiMDk2OTBjMDYwYTcxZTE3Y2M4MjZk
|
14
|
+
Mzg5NTNlZjllMDA4M2ZlMGUzYmY2ODYwZGQ5OTJmMDNjOGM4YzhmNzVlMzFm
|
15
|
+
MGVlZDFlNTk0ZjE3YmUzMGNkMWZiMmNkNzI3YTZhMmZlMzVlMDQ=
|
data/.travis.yml
CHANGED
@@ -3,3 +3,11 @@ rvm:
|
|
3
3
|
- 2.3.0
|
4
4
|
cache: bundler
|
5
5
|
sudo: false
|
6
|
+
deploy:
|
7
|
+
provider: rubygems
|
8
|
+
api_key:
|
9
|
+
secure: lpWEA88TEJ3dajzamEJyqfZJmFV44E/UDfvAjEvf2+tnZxA4E9goOlIP3iS8QZwaWHTCPbB8PUWMRX6Zumdbcnzx314i9dFcH+oiiypJO+Y2UxViGuB1WWwVye4EEEcsRCE82g5qi73/ALuFRi3TtQgRtzCgfTgzDGA2uS/gZtj9Al3B7AytdvmExCy5j6vB7WrU7YjTOFWGrqYQGSMo+ccS2fwJL2kMYAEBgF26Sx1oX9uhhokVvlA0kyFc04WFpdq7tAJxZYkGe4sFIMJ9+d9x5ZytDLjv96RWEl0z7Jxj1rOcUtc/zoFgd4jyszn8rMKkCeJSSYUCgZmVjz8D4iw0xXWRdnuuxjL856/PW3mN8ETRxlRWKG0ohdR5Tgk26reWlBBUWkvPBtjSkukO13DWWO5R7FJOawjA5y3iN24MjPbQOgUvC+YtvANjbIaAyyrZL4oCahgZyfDBeq3i22kE1cYc5oMQr5MfSoG+4XpspkpFgr3b0bmkANSD4fx0b/Ey0YbUUx+Glbx0StosH8DyUQvSdvBwbGfla6KJXRaUDZMNm130bmzBTbhnhQVEvWS6ahuZ7e5vgeouaqsZ6qexUf/XYpfHLCmRMGktGWaak4aL9j6qe9sP7j96jIoIlokBnKWMtmC2jaJClR5deZtQSpAHBWk4oLp4laZZ92k=
|
10
|
+
gem: ruboty-toggle_switch
|
11
|
+
on:
|
12
|
+
tags: true
|
13
|
+
repo: takai/ruboty-toggle_switch
|
data/README.md
CHANGED
@@ -14,6 +14,14 @@ gem 'ruboty-toggle_switch'
|
|
14
14
|
|
15
15
|
## Usage
|
16
16
|
|
17
|
+
```
|
18
|
+
ruboty: toggle <switch> (on|off) - Toggle key status.
|
19
|
+
ruboty: show <switch> status - Show the current status.
|
20
|
+
ruboty: list switches - List the statuses of switches
|
21
|
+
```
|
22
|
+
|
23
|
+
## Examples
|
24
|
+
|
17
25
|
```
|
18
26
|
> ruboty: toggle switch on
|
19
27
|
switch is now on.
|
@@ -23,6 +31,8 @@ switch is on on Apr 27 at 06:29.
|
|
23
31
|
switch is now off.
|
24
32
|
> ruboty: show switch status
|
25
33
|
switch is off for good sleeping on Apr 27 at 06:30.
|
34
|
+
> ruboty: list switches
|
35
|
+
- switch is off.
|
26
36
|
```
|
27
37
|
|
28
38
|
## API
|
@@ -34,3 +44,5 @@ storage = Ruboty::ToggleSwitch::Storage.new(robot.brain)
|
|
34
44
|
record = storage['switch']
|
35
45
|
record.status # => 'on' or 'off'
|
36
46
|
```
|
47
|
+
|
48
|
+
http://www.rubydoc.info/github/takai/ruboty-toggle_switch/master/Ruboty/ToggleSwitch/Storage
|
@@ -3,47 +3,62 @@ module Ruboty
|
|
3
3
|
class Storage
|
4
4
|
include Enumerable
|
5
5
|
|
6
|
-
|
6
|
+
# Represents a switch.
|
7
|
+
Switch = Struct.new(:state, :from, :at, :note)
|
7
8
|
|
8
9
|
NAMESPACE = 'ruboty-toggle_switch-storage'
|
9
10
|
|
11
|
+
# Returns a new instance of Storage
|
12
|
+
# @param [Ruboty::Brain] brain
|
10
13
|
def initialize(brain)
|
11
14
|
@brain = brain
|
12
15
|
end
|
13
16
|
|
17
|
+
# Returns the switch to which the specified key is mapped.
|
18
|
+
#
|
19
|
+
# @return [Switch, nil] the switch or nil
|
14
20
|
def [](key)
|
15
|
-
|
21
|
+
switches[key]
|
16
22
|
end
|
17
23
|
|
24
|
+
# Update the switch which is associated with the specified key.
|
25
|
+
#
|
26
|
+
# @param [String] key the key for the switch.
|
27
|
+
# @param [Hash] value the value to update the switch.
|
28
|
+
# @option value [String] :state "on" or "off".
|
29
|
+
# @option value [String] :from a name of the message sender.
|
18
30
|
def []=(key, value)
|
19
|
-
|
31
|
+
switches[key] = Switch.new(value[:state], value[:from], Time.now, value[:note])
|
20
32
|
end
|
21
33
|
|
34
|
+
# Returns true if the switch is 'on'.
|
35
|
+
#
|
36
|
+
# @return [Boolean] true if the state of the switch is "on"
|
22
37
|
def on?(key)
|
23
38
|
state_for(key) == 'on'
|
24
39
|
end
|
25
40
|
|
41
|
+
# Returns true if the switch is 'off'.
|
42
|
+
#
|
43
|
+
# @return [Boolean] true if the state of the switch is "off"
|
26
44
|
def off?(key)
|
27
45
|
state_for(key) == 'off'
|
28
46
|
end
|
29
47
|
|
48
|
+
# Yields each pair of the key and switch.
|
30
49
|
def each
|
31
|
-
|
50
|
+
switches.each do |entry|
|
32
51
|
yield(*entry)
|
33
52
|
end
|
34
53
|
end
|
35
54
|
|
36
|
-
def size
|
37
|
-
records.size
|
38
|
-
end
|
39
|
-
|
40
55
|
private
|
41
56
|
|
42
57
|
def state_for(key)
|
43
|
-
|
58
|
+
switches[key] && switches[key].state
|
44
59
|
end
|
45
60
|
|
46
|
-
def
|
61
|
+
def switches
|
47
62
|
@brain.data[NAMESPACE] ||= {}
|
48
63
|
end
|
49
64
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruboty-toggle_switch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Naoto Takai
|
@@ -14,58 +14,72 @@ dependencies:
|
|
14
14
|
name: ruboty
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.2'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.11'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.11'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '10.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '10.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '3.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '3.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: yard
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.8'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.8'
|
69
83
|
description: ruboty-toggle_switch allows you to toggle switch on/off.
|
70
84
|
email:
|
71
85
|
- takai@recompile.net
|
@@ -73,9 +87,9 @@ executables: []
|
|
73
87
|
extensions: []
|
74
88
|
extra_rdoc_files: []
|
75
89
|
files:
|
76
|
-
-
|
77
|
-
-
|
78
|
-
-
|
90
|
+
- .gitignore
|
91
|
+
- .rspec
|
92
|
+
- .travis.yml
|
79
93
|
- Gemfile
|
80
94
|
- LICENSE
|
81
95
|
- README.md
|
@@ -96,19 +110,18 @@ require_paths:
|
|
96
110
|
- lib
|
97
111
|
required_ruby_version: !ruby/object:Gem::Requirement
|
98
112
|
requirements:
|
99
|
-
- -
|
113
|
+
- - ! '>='
|
100
114
|
- !ruby/object:Gem::Version
|
101
115
|
version: '0'
|
102
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
117
|
requirements:
|
104
|
-
- -
|
118
|
+
- - ! '>='
|
105
119
|
- !ruby/object:Gem::Version
|
106
120
|
version: '0'
|
107
121
|
requirements: []
|
108
122
|
rubyforge_project:
|
109
|
-
rubygems_version: 2.5
|
123
|
+
rubygems_version: 2.4.5
|
110
124
|
signing_key:
|
111
125
|
specification_version: 4
|
112
126
|
summary: ruboty-toggle_switch allows you to toggle switch on/off.
|
113
127
|
test_files: []
|
114
|
-
has_rdoc:
|