cinch-yaml-keywords 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/cinch/plugins/yamlkeywords.rb +29 -17
  2. metadata +3 -3
@@ -8,15 +8,15 @@ module Cinch
8
8
  def initialize(*args)
9
9
  super
10
10
  if File.exist?('keywords.yaml')
11
- @keywords = YAML.load_file('keywords.yaml')
12
- else
13
- @keywords = {}
11
+ then @keywords = YAML.load_file('keywords.yaml')
12
+ else @keywords = {}
14
13
  end
15
14
  end
16
15
 
17
- match(/keywords/, method: :keywords)
18
16
  def keywords(m)
19
- if @keywords.size > 0
17
+ if
18
+ @keywords.size > 0
19
+ then
20
20
  m.reply "Keywords start:"
21
21
  @keywords.each{|k,v| m.reply "'#{k}': '#{v}'." }
22
22
  m.reply "Keywords end."
@@ -25,20 +25,15 @@ module Cinch
25
25
  end
26
26
  end
27
27
 
28
- match(/keyword '(.*)' (.+)$/, group: :define, method: :keyword_define)
29
- match(/keyword "(.*)" (.+)$/, group: :define, method: :keyword_define)
30
- match(/keyword (\S+) (.+)$/, group: :define, method: :keyword_define)
31
28
  def keyword_define(m, keyword, definition)
32
29
  if @keywords[keyword]
33
- m.reply "Redefining '#{keyword}' from: '#{@keywords[keyword]}' to: '#{definition}'."
34
- else
35
- m.reply "Defining '#{keyword}' with: '#{definition}'."
30
+ then m.reply "Redefining '#{keyword}' from: '#{@keywords[keyword]}' to: '#{definition}'."
31
+ else m.reply "Defining '#{keyword}' with: '#{definition}'."
36
32
  end
37
33
  @keywords[keyword] = definition
38
34
  update_store
39
35
  end
40
36
 
41
- match(/keyword (\S+)$/, method: :keyword_check)
42
37
  def keyword_check(m, keyword)
43
38
  if @keywords[keyword]
44
39
  m.reply "'#{keyword}' is defined as: '#{@keywords[keyword]}'."
@@ -47,9 +42,10 @@ module Cinch
47
42
  end
48
43
  end
49
44
 
50
- match(/forget (\S+)$/, method: :keyword_forget)
51
45
  def keyword_forget(m, keyword)
52
- if @keywords[keyword]
46
+ if
47
+ @keywords[keyword]
48
+ then
53
49
  m.reply "'#{keyword}' was defined as: '#{@keywords[keyword]}'."
54
50
  @keywords.delete(keyword)
55
51
  update_store
@@ -58,11 +54,26 @@ module Cinch
58
54
  end
59
55
  end
60
56
 
57
+ def find_keyword(m)
58
+ if keyword = @keywords.keys.find{|k| Regexp.new(k).match(m.message) }
59
+ then m.reply @keywords[keyword]
60
+ end
61
+ end
62
+
61
63
  listen_to :channel
62
64
  def listen(m)
63
- if keyword = @keywords.keys.find{|k| Regexp.new(k).match(m.message) }
64
- then
65
- m.reply @keywords[keyword]
65
+ case
66
+ m.message
67
+ when /^!keywords/
68
+ keywords(m)
69
+ when /keyword '(.*)' (.+)$/, /keyword "(.*)" (.+)$/, /keyword (\S+) (.+)$/
70
+ keyword_define(m, $1, $2)
71
+ when /keyword (\S+)$/, /keyword\? (\S+)$/
72
+ keyword_check(m, $1)
73
+ when /forget (\S+)$/
74
+ keyword_forget(m, $1)
75
+ else
76
+ find_keyword(m)
66
77
  end
67
78
  end
68
79
 
@@ -73,6 +84,7 @@ module Cinch
73
84
  end
74
85
  end
75
86
  end
87
+
76
88
  end
77
89
  end
78
90
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cinch-yaml-keywords
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-20 00:00:00.000000000 Z
12
+ date: 2013-12-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cinch
@@ -58,7 +58,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
58
58
  version: '0'
59
59
  requirements: []
60
60
  rubyforge_project:
61
- rubygems_version: 1.8.24
61
+ rubygems_version: 1.8.23
62
62
  signing_key:
63
63
  specification_version: 3
64
64
  summary: A Cinch plugin to define keywords and display description when keyword matches,