botbase-module-conversation 0.1.7 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 2e21063b2cceb29cde8a35fb1560bb01ef349ecb
4
- data.tar.gz: 695b94925af4f95b9657e357352a83ff79be6c68
2
+ SHA256:
3
+ metadata.gz: 4eea7bc90b1ca3326d1e78f57217ad0d55c5870c823a7572cf90b5601f2aaed5
4
+ data.tar.gz: bf301fc4930ca54140fa2aaec5d95fc19d4113ada0b5907fea189b7d13059caf
5
5
  SHA512:
6
- metadata.gz: a5b935b54e9c51b6c0475f76ac0654c8b71cccb1fb59ba6e7aa623fac36a2dff8c97fbac7ee30b5991b241df76c7f5fae627325c58478099c3eefe76168a5a3d
7
- data.tar.gz: d8cbab9a67cbad19450d21237e08c5c393332a22ad4b1cb3ee0cf96ca6054023aa28b9fa7c09b5570ff072343b68e7581e9d4fc6599b104dd6572a9f889f5606
6
+ metadata.gz: b998774b6de2d5a1771e24693b18aa6333202fef34d83bc36295b124f7ef8c6d5126d0ce719c533ec5df57ea13e9b9bd08c37872dc2ee06f54468e9b7bae6e70
7
+ data.tar.gz: 317acb59944aaaa8356c45f91517e693f17265aff3a6ec7b0613f2a26d512574f96eb9485fccef7b75c7d033a427e5d7f2ab6f611a3ab36dd39df964146f887c
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -6,23 +6,22 @@
6
6
 
7
7
 
8
8
  require 'rsc'
9
+ require 'json'
9
10
  require 'rexle-builder'
10
11
 
11
12
 
12
13
  class BotBaseModuleConversation
13
14
 
14
- def initialize(host: nil, package_src: nil,
15
- default_package: nil, default_job: nil, callback: nil)
15
+ def initialize(host: nil, default_package: nil, default_job: nil,
16
+ callback: nil, debug: false)
16
17
 
17
- @bot = callback
18
- @rsc = RSC.new host, package_src
18
+ @bot, @rsc, @debug = callback, RSC.new(host), debug
19
19
 
20
20
  a = run(default_package, default_job)
21
21
 
22
22
  @doc = Rexle.new("<conversations/>")
23
23
 
24
24
  add_phrases(a)
25
-
26
25
 
27
26
  end
28
27
 
@@ -32,19 +31,50 @@ class BotBaseModuleConversation
32
31
 
33
32
  if found then
34
33
 
35
- notice 'botbase/debug: module-conversation queried, found ' + found[0]
34
+ if @bot.log then
35
+ @bot.log.info "BotBaseModuleConversation/query:" +
36
+ " found %s in response to %s" % [found.inspect, said]
37
+ end
36
38
 
37
- package, job = found.last.split
39
+ _, rsc_command, context_tags = found
40
+ package, job = rsc_command.split
38
41
 
39
42
  h = said.match(/#{found.first}/i).named_captures
43
+
44
+ if @bot.log then
45
+ @bot.log.info "BotBaseModuleConversation/query:" +
46
+ " h: " + h.inspect
47
+ end
48
+
40
49
  r = run(package, job, h)
41
50
 
42
- if r.is_a? String or r.is_a? Hash then
51
+ a, tags = [], []
52
+
53
+ a << if r.is_a? String then
43
54
  r
55
+ elsif r.is_a? Hash then
56
+
57
+ if r[:msg] then
58
+ tags.concat r[:tags].split
59
+ r[:msg]
60
+ else
61
+ r
62
+ end
63
+
44
64
  elsif r.is_a? Array then
45
- add_phrases(r)
65
+ add_phrases(r)
46
66
  end
47
67
 
68
+ tags.concat context_tags.split if context_tags
69
+
70
+ a << tags
71
+
72
+ if @bot.log then
73
+ @bot.log.info "BotBaseModuleConversation/query/result:" +
74
+ " result %s in response to %s" % [a.to_json, said]
75
+ end
76
+ a.first
77
+
48
78
  else
49
79
  no_match_found()
50
80
  end
@@ -68,27 +98,30 @@ class BotBaseModuleConversation
68
98
  @doc.root.delete "conversations[@id='#{id}']"
69
99
 
70
100
  a2 = a.inject([]) do |r, x|
71
- r << {conversation: {user: x[0], bot: x[-1]}}
101
+ r << {conversation: {user: x[0], bot: x[1], tags: x[2]}}
72
102
  end
73
103
 
74
- a3 = RexleBuilder.new({converstions: a2}).to_a
104
+ a3 = RexleBuilder.new({converstions: a2}, debug: false).to_a
75
105
  doc = Rexle.new(a3[3])
76
106
  doc.root.attributes['id'] = id
77
107
  @doc.root.add_element doc.root
78
108
 
79
109
  @phrases = @doc.root.xpath('//conversation').map do |e|
80
- %w(user bot).map {|x| e.text x}
110
+ %w(user bot tags).map {|x| e.text x}
81
111
  end
82
112
 
83
113
  answer
84
114
  end
85
115
 
86
- def notice(msg)
87
- @bot.debug msg if @bot
88
- end
89
-
90
116
  def run(package, job, h={})
117
+
118
+ if @bot.log then
119
+ @bot.log.info "BotBaseModuleConversation/run: " +
120
+ "package: %s, method: %s, args: %s" % [package, job, h.inspect]
121
+ end
122
+
91
123
  @rsc.send(package.to_sym).method(job.to_sym).call(h)
124
+
92
125
  end
93
126
 
94
- end
127
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: botbase-module-conversation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,28 +10,32 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
- YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE3MDQwOTE5MTIyNloXDTE4MDQwOTE5MTIyNlowSDESMBAG
16
- A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
- EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAMvQn8SWhW0mgCMTQiNCg67ii6XIpA+pIL/U8cflCKa02vSNA6//YyySmk54
19
- Cld6yqD70cwXRoANC+Ejoc3/EEkm/EW+puohigkUguELrM63tt2b/xAItSCjuJkI
20
- boQsDeWA3p8kJ0pdZx8LzqXI4DXOmTb7MtNJ7puAGMrJAPj+p+s4xaLdEdACbI3p
21
- 3/MED6NplF4JzNFOW5nE28I4P8JLRJRMSz7Niz2Zzy+uf6wEvddbtPAQ5qn0bKNs
22
- zBdcWNYPCcGBKlGh0DtBgvC08X3Z8a13CbxYyDLK6P/8QPb6TBbB9bx5Ra/KQsxu
23
- D8rQZNLyjW1NRLjYucDCfCHjWiECAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUF9TD7XacqMi/BfG6aEfVS86KVgkwJgYDVR0RBB8w
25
- HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAePphndx2
27
- +u80h86lt/MSonX9zbr9J6v805UJTWf+EWW39UKN4W/eeg0ZXNCkkyk8oZB2zvef
28
- mRe+llzRqfjSB3FDfZLKzj5ZOp3C4pe+gJwEhiu9sgpOc3Z7e8f/cEFSXxB0bp41
29
- E7wC49pGNVab+Y7xgvholbhHCULteEqS9kPRM50dnBY5scwFj63CkT7sC9GBpYj8
30
- 66fZJWc2rmk7hOi6RAbriJo5rB/qjUojYY76GPtEWe3xbRWOI5faKyi4ZBzzeOws
31
- aNO/RQYUa1Pqx9RMIGgZIeQPtuaxxfqQ6uiq/S5GWoIKIDOmES69g981bASbOtYs
32
- geN7Uzk3bTsKxA==
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjAwNzAxMTE1NTMyWhcN
15
+ MjEwNzAxMTE1NTMyWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCfIV6+
17
+ hg5H0Qhw7VjWnwiUKnHK+uSplrap4qYv2cAGmT8lPPe8VtXJlU9N4ri7hT8LPM7L
18
+ OiHXSMcT/dJMXWYFwmlmYX9zzLkpfJXnncdxI8MMrSJSabdKYc2TrW6sOynw3NuZ
19
+ XKeHHJHxfYqUyDsTQ5ep3zNqdWciQSaiil1M687EeoviKnJo/KymtroV5+PdBGxq
20
+ kXr4zFhlr9k7F8tAVuOrhfv7yiZz+93B+vKjd8EphrMANUKGu4F7dqj5fYi2AQ8J
21
+ 61TNbr2ed23Epd1KPWrzD2kDB5fYVloOZ7yPqUpo4zIdpIJy+4EdsimsmdqL3nAp
22
+ Z+8iJuc/FYiB4k1mQPHHxi3jLc6lQHudLZuqcHygg3dVYgHClKz7jg67UpqEoYa0
23
+ dowc8D7jtfQwp1yQ2nl/0SZGqXY9J5IfagJkpPxSQOhKY9TfGGrNXw5q+z6kEIbp
24
+ HnIkX+XuqsAvOmePXiIRHfkYVHCO+RR5LMmfoZMCcxCqsj2sF48YKBM0vdcCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUpbE7DugX
26
+ RbZ13tXlw/AjVuCq9fowJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEANpDLcyccYqrk9S4exFQFUvX08+OIBIlmnlBbP4V7
29
+ jBp0PCSgQR+EVRo0DrrLdthKm/R2O5yFIwb4Scw2qep4Sp3c/HcUETZcGU+pB6bm
30
+ wJEtu2+B8x12SDSoFKRXONJkdNfowC+Qoolzvvhr2g9RSBgYwpPUnuU6O+qFB8OD
31
+ kSZM3Vmu656kJ/4zoFbYVF2ReFs5NEf/a/yOztTqbIzFMsmC7aldfAl1bRD3tKSw
32
+ pPhUYaWSQevp9fg/GVFyCwvHdaRJKMir4J7genxc8C/z1WcVlL33MegaWzJCMybx
33
+ W41zJ1zucUcYcCgi8+/lDb4uzVjsoYkR2hJ0/bhZ8DNgqqDH2Ew3nrIuL+SDKlpn
34
+ ntMunBlsLvsicHe6U6Wv+xs42j3ym2+dKtMGC8SUHmVbYaJFb+1iRg04G6+rmdUE
35
+ aphuACerPrR4uDeOBSjMAO3hs3eoTpOywAxkYd0Yg3OYPru0gWqhg+dW6aznstpn
36
+ B4ArDeDo+Ajzq/cuml17PB17
33
37
  -----END CERTIFICATE-----
34
- date: 2017-10-15 00:00:00.000000000 Z
38
+ date: 2020-07-01 00:00:00.000000000 Z
35
39
  dependencies:
36
40
  - !ruby/object:Gem::Dependency
37
41
  name: rsc
@@ -39,20 +43,20 @@ dependencies:
39
43
  requirements:
40
44
  - - "~>"
41
45
  - !ruby/object:Gem::Version
42
- version: '0.2'
46
+ version: '0.4'
43
47
  - - ">="
44
48
  - !ruby/object:Gem::Version
45
- version: 0.2.2
49
+ version: 0.4.4
46
50
  type: :runtime
47
51
  prerelease: false
48
52
  version_requirements: !ruby/object:Gem::Requirement
49
53
  requirements:
50
54
  - - "~>"
51
55
  - !ruby/object:Gem::Version
52
- version: '0.2'
56
+ version: '0.4'
53
57
  - - ">="
54
58
  - !ruby/object:Gem::Version
55
- version: 0.2.2
59
+ version: 0.4.4
56
60
  - !ruby/object:Gem::Dependency
57
61
  name: rexle-builder
58
62
  requirement: !ruby/object:Gem::Requirement
@@ -99,8 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
103
  - !ruby/object:Gem::Version
100
104
  version: '0'
101
105
  requirements: []
102
- rubyforge_project:
103
- rubygems_version: 2.6.13
106
+ rubygems_version: 3.0.3
104
107
  signing_key:
105
108
  specification_version: 4
106
109
  summary: A botbase module intended for holding a conversation between the user and
metadata.gz.sig CHANGED
@@ -1,3 +1,2 @@
1
- g^�- @ƫ��&9X~� Y]U]���V�OL���Rz{
2
- ��d2��q���ZWR����0��H���YSB\bg��J���s��+r�|=�n���'��܏J,W��vs��F 6VI!�yBx7Cqp@`������
3
- ��c]6n{������d}��_�U�����6V7TkA��xm����ǿع
1
+ 9.�v�����#���u5xJF)t{TE��1{�*�˓�)�����9�jV�����������Dj�`=&3\v ��Cjv�Ɵ{�M
2
+ ����h.r�����cbXC��Z遚��8��ý[��{lԏi_ӯ=�1�����a-8k���)a(9� ��O^��B�8 0r���'b�O����3 Y1�>5@/�uDzx��Ƚ�wq�S3���T�}�Z�û#"S�{�~��Q�\�{����?�t�/ST�Ff�ùaidDE�LY1�T)�k%3��,�8;�>w}m|��q6��rS��ÃF�{��a=������%7!�T���8Nd6��f��2SN���?���p+� k�uB