botbase-module-conversation 0.1.7 → 0.2.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,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