qbert_bot 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZDNiYWFhNTFhMDEwYzVkNGI4OTc0ODI0Zjc4N2MwNDhkNTQzODQ3Nw==
5
- data.tar.gz: !binary |-
6
- YTk5OWI0YTcyODFjNmYzZDVkMmI5OWI0N2E4NjM0YjFlNjdjNTY5NA==
2
+ SHA1:
3
+ metadata.gz: 406f2836b0919c120195a09b9cca3bd83f8325d0
4
+ data.tar.gz: fc64297bf023c7a7a5254ce87592b36ec16c74ce
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MmE0NjY5YjMzMzYwYjkwZWJmMDUxNjRlNmEzZDdkZTgxYzUxYTllYjBjN2Y2
10
- OTU2ZjU2MTFjNWI1NzZmOTE5MmUxYzU1OWViYzJlNWEyMzZiOWNkOGI3YmZl
11
- MDAyYjk2OWVhOTk2MmM1ODkyZTg3NDg5M2VmZjA5MGFkM2QxN2Y=
12
- data.tar.gz: !binary |-
13
- NjdmY2E5ODgwYzliZjAxYmMyM2FmMmIzNmZmOGM5MDY2YzZjZmIzNWY0Yzgx
14
- MjMzM2YxMzRiYmYzMGE5NjQwNmM5NWYzYTA4N2MzZGI5ODg2YTYwYzQwY2Zi
15
- Nzc0ZDg4M2Q4MGYzODZhNTJhZmM0ZjI5MGY4Y2VmMDRhMmRkMzc=
6
+ metadata.gz: 274b858f8a178126b746da115af10e5cc49a03a26ac0de602d8e8eb7f5cbb6bd9d348cb9638f270e70500bf3092ba2ddfde90a100f7d4dc9469dfdfeca289ef9
7
+ data.tar.gz: 34ff925203095299bcd699e2c2f405508ea83b6f340320ac2d6e49ac5db46dc99fbff59722198ae44ed0c2a74e0f2c7e9e6af0cbc3f7752c2f803e709d7fbf8d
@@ -0,0 +1,23 @@
1
+ module QbertBot::Core
2
+
3
+ class Help
4
+ include QbertBot::Plugin
5
+
6
+ def help
7
+ [
8
+ ['help', 'Display all commands']
9
+ ]
10
+ end
11
+
12
+ def register
13
+ bot.hear(/^help$/) do |msg|
14
+ commands = []
15
+ bot.plugins.each do |plug|
16
+ commands.concat plug.help.map{|i| i.join(' ')}
17
+ end
18
+
19
+ msg.reply "Available commands:\n#{commands.join("\n")}"
20
+ end
21
+ end
22
+ end
23
+ end
@@ -3,7 +3,6 @@ module QbertBot
3
3
  def self.included(klass)
4
4
  @plugins ||= []
5
5
  @plugins << klass
6
- puts "Loading plugin #{klass}"
7
6
  end
8
7
 
9
8
  def self.plugins
@@ -21,7 +21,7 @@ module QbertBot
21
21
 
22
22
  class Robot
23
23
  include Singleton
24
- attr_reader :config, :slack, :router, :scheduler
24
+ attr_reader :config, :slack, :router, :scheduler, :plugins, :listeners
25
25
 
26
26
  def initialize
27
27
  @plugins = []
@@ -39,7 +39,6 @@ module QbertBot
39
39
  end
40
40
 
41
41
  def hear(pattern, &block)
42
- puts("Adding #{pattern.source}")
43
42
  @listeners << Listener.new(pattern, block)
44
43
  end
45
44
 
@@ -72,6 +71,7 @@ module QbertBot
72
71
 
73
72
  def load_plugins
74
73
  Plugin.plugins.each do |klass|
74
+ puts("Loading #{klass}")
75
75
  p = klass.new
76
76
  p.bot = self
77
77
  p.router = router
@@ -90,10 +90,8 @@ module QbertBot
90
90
  end
91
91
 
92
92
  def find_listener(msg)
93
- puts("Checking '#{msg.text}'")
94
93
  @listeners.each do |l|
95
94
  if match = msg.text.match(l.pattern)
96
- puts("Found '#{l.pattern.source}'")
97
95
  return Match.new(l, match)
98
96
  end
99
97
  end
@@ -40,7 +40,6 @@ module QbertBot
40
40
  clean_path = "#{clean_path}$" unless clean_path[-1, 1] == '$'
41
41
  end
42
42
 
43
- puts("Adding route for #{method} #{clean_path}")
44
43
  @routes << Route.new(method, Regexp.new(clean_path), block)
45
44
  end
46
45
  end
@@ -1,3 +1,3 @@
1
1
  module QbertBot
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/qbert_bot.rb CHANGED
@@ -4,6 +4,7 @@ require "qbert_bot/message"
4
4
  require "qbert_bot/router"
5
5
  require "qbert_bot/slack"
6
6
  require "qbert_bot/robot"
7
+ require "qbert_bot/core/help"
7
8
 
8
9
 
9
10
 
@@ -12,7 +13,7 @@ module QbertBot
12
13
  bot = Robot.instance
13
14
  bot.load_config
14
15
 
15
- Dir['plugins/*.rb'].each do |f|
16
+ Dir['plugin/*.rb'].each do |f|
16
17
  load f
17
18
  end
18
19
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qbert_bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - lxfontes
@@ -89,13 +89,14 @@ extensions: []
89
89
  extra_rdoc_files: []
90
90
  files:
91
91
  - bin/qbert_bot
92
- - lib/qbert_bot.rb
92
+ - lib/qbert_bot/core/help.rb
93
93
  - lib/qbert_bot/message.rb
94
94
  - lib/qbert_bot/plugin.rb
95
95
  - lib/qbert_bot/robot.rb
96
96
  - lib/qbert_bot/router.rb
97
97
  - lib/qbert_bot/slack.rb
98
98
  - lib/qbert_bot/version.rb
99
+ - lib/qbert_bot.rb
99
100
  homepage: http://github.com/lxfontes/qbert_bot
100
101
  licenses:
101
102
  - MIT
@@ -106,17 +107,17 @@ require_paths:
106
107
  - lib
107
108
  required_ruby_version: !ruby/object:Gem::Requirement
108
109
  requirements:
109
- - - ! '>='
110
+ - - '>='
110
111
  - !ruby/object:Gem::Version
111
112
  version: '0'
112
113
  required_rubygems_version: !ruby/object:Gem::Requirement
113
114
  requirements:
114
- - - ! '>='
115
+ - - '>='
115
116
  - !ruby/object:Gem::Version
116
117
  version: '0'
117
118
  requirements: []
118
119
  rubyforge_project:
119
- rubygems_version: 2.4.4
120
+ rubygems_version: 2.0.14
120
121
  signing_key:
121
122
  specification_version: 4
122
123
  summary: The no frills ruby bot for Slack