dog-bot 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/config_examples/help.rb +8 -0
- data/dog.gemspec +1 -1
- data/lib/dog/bot.rb +6 -0
- data/lib/dog/command.rb +11 -0
- metadata +6 -13
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ODI3OTg0OTM5N2Y4ZGI4ZGVlZWE4ODNkOTI2MjA2Y2JlNzg3M2M2Yg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
NmJjNjcxN2QzNGEzZGM0MTk5NGFkODEyM2RlMjA4YzJiMTA2MGIxYg==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
ZTgyZDJjMTQyMDdkZDBjZDNkODVmYjk5M2ZjYTQ1MjI0ZmEwOWQzM2Q3ZTZk
|
10
|
+
MzJlNTRiZWMxMDcwZjJiNTY5YTMyNzFjM2IzYjg4NTY2NTNhZDhmZTIwNWZl
|
11
|
+
NjcxZjJjZDA5NzU3YTY0MGVhYzJjZTE2MmNiYjNlZmY4ZDllN2U=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NDNhMzI2MzllZTM4MTg5M2QwNjdmZTJiNGE1ZjI1MGQ5OGFhZTQ4ZTY1YTJj
|
14
|
+
YjIyYWFlNzU1YTYyOGFmNjJlMTkwMGIyNDczMTM4MmM5NmVhY2E2YjhkZTky
|
15
|
+
MWYyYjdmZmZlNGY2ZGU0YTI1Yzg2MmI1ZDA1OTU2MDhhYWVhMTU=
|
data/dog.gemspec
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
13
13
|
gem.name = "dog-bot"
|
14
14
|
gem.require_paths = ["lib"]
|
15
|
-
gem.version = "0.1.
|
15
|
+
gem.version = "0.1.6"
|
16
16
|
|
17
17
|
gem.add_dependency "blather", "~> 0.8.0"
|
18
18
|
gem.add_dependency "google_image_api", "~> 0.0.1"
|
data/lib/dog/bot.rb
CHANGED
@@ -48,6 +48,8 @@ module Dog
|
|
48
48
|
room_name = message.split.last
|
49
49
|
join room_name
|
50
50
|
"joined #{room_name}"
|
51
|
+
when :help then
|
52
|
+
help
|
51
53
|
when :reload then
|
52
54
|
config
|
53
55
|
"config reloaded"
|
@@ -89,6 +91,10 @@ module Dog
|
|
89
91
|
join(*config.chat_rooms)
|
90
92
|
end
|
91
93
|
|
94
|
+
def help
|
95
|
+
self.commands.map(&:help).inject(:+)
|
96
|
+
end
|
97
|
+
|
92
98
|
def _from_self(message)
|
93
99
|
@rooms.each do |room|
|
94
100
|
return true if "#{room}@conference.#{@connection.jid.domain}/#{@connection.jid.node}" == message.from
|
data/lib/dog/command.rb
CHANGED
@@ -48,5 +48,16 @@ module Dog
|
|
48
48
|
response || @action.call(input_string)
|
49
49
|
end
|
50
50
|
end
|
51
|
+
|
52
|
+
def help(parent_matcher_string = nil)
|
53
|
+
matchers = @matchers.uniq
|
54
|
+
|
55
|
+
matcher_string = (matchers.count == 1 ? matchers.first.to_s : "{#{matchers.join(',')}}")
|
56
|
+
matcher_string = "#{parent_matcher_string} & #{matcher_string}" if parent_matcher_string
|
57
|
+
|
58
|
+
output = "#{@title}: #{matcher_string}\n"
|
59
|
+
output += @subcommands.map { |c| c.help(matcher_string) }.inject(:+) unless @subcommands.empty?
|
60
|
+
output
|
61
|
+
end
|
51
62
|
end
|
52
63
|
end
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dog-bot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.6
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Ben Mills
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-02-19 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: blather
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: google_image_api
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rake
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -79,6 +72,7 @@ files:
|
|
79
72
|
- config_examples/default_rooms.rb
|
80
73
|
- config_examples/dog.rb
|
81
74
|
- config_examples/google_image.rb
|
75
|
+
- config_examples/help.rb
|
82
76
|
- config_examples/jenkins.rb
|
83
77
|
- config_examples/ruby_gems.rb
|
84
78
|
- config_examples/tasks.rb
|
@@ -99,27 +93,26 @@ files:
|
|
99
93
|
- spec/dog/test_connection_spec.rb
|
100
94
|
homepage: https://github.com/benmills/dog
|
101
95
|
licenses: []
|
96
|
+
metadata: {}
|
102
97
|
post_install_message:
|
103
98
|
rdoc_options: []
|
104
99
|
require_paths:
|
105
100
|
- lib
|
106
101
|
required_ruby_version: !ruby/object:Gem::Requirement
|
107
|
-
none: false
|
108
102
|
requirements:
|
109
103
|
- - ! '>='
|
110
104
|
- !ruby/object:Gem::Version
|
111
105
|
version: '0'
|
112
106
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
107
|
requirements:
|
115
108
|
- - ! '>='
|
116
109
|
- !ruby/object:Gem::Version
|
117
110
|
version: '0'
|
118
111
|
requirements: []
|
119
112
|
rubyforge_project:
|
120
|
-
rubygems_version:
|
113
|
+
rubygems_version: 2.0.8
|
121
114
|
signing_key:
|
122
|
-
specification_version:
|
115
|
+
specification_version: 4
|
123
116
|
summary: Extensible XMPP chatbot
|
124
117
|
test_files:
|
125
118
|
- spec/dog/bot_spec.rb
|