cinch-yaml-keywords 1.1.0 → 1.2.0

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.
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,