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.
- data/lib/cinch/plugins/yamlkeywords.rb +29 -17
- 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
|
-
|
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
|
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
|
-
|
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
|
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
|
-
|
64
|
-
|
65
|
-
|
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.
|
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:
|
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.
|
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,
|