class SatoriLikeDictionaryIntegratedEvents
satori like template integrated events base class
Public Class Methods
new()
click to toggle source
initialize events
# File lib/satori_like_dictionary.rb, line 295 def initialize @satori_like_dictionary = SatoriLikeDictionary.new(self) end
Public Instance Methods
OnChoiceSelect(request)
click to toggle source
“_” compatible OnChoiceSelect
@param [OpenStruct] request request hash @return [String|OpenStruct] result
# File lib/satori_like_dictionary.rb, line 302 def OnChoiceSelect(request) public_send(request.Reference0, request) end
Private Instance Methods
aitalk(request)
click to toggle source
call a “ai talk” entry @param [OpenStruct] request request hash @return [String|OpenStruct] result
# File lib/satori_like_dictionary.rb, line 351 def aitalk(request) @satori_like_dictionary.aitalk(request) end
load_all_dictionary(directory, ext = 'txt')
click to toggle source
load a file as satori like dictionary @param [String] directory path to dictionary @param [String] ext file extension filter
# File lib/satori_like_dictionary.rb, line 323 def load_all_dictionary(directory, ext = 'txt') @satori_like_dictionary.load_all(directory, ext) end
load_file(file)
click to toggle source
load all files in a directory as satori like dictionaries @param [String] file path to file
# File lib/satori_like_dictionary.rb, line 316 def load_file(file) @satori_like_dictionary.load(file) end
parse_string(source)
click to toggle source
parse and register satori like dictionary source @param [String] source satori like dictionary source
# File lib/satori_like_dictionary.rb, line 310 def parse_string(source) @satori_like_dictionary.parse(source) end
talk(request, method = nil)
click to toggle source
call a named entry @param [OpenStruct] request request hash @param [String] method from method name @return [String|OpenStruct] result
# File lib/satori_like_dictionary.rb, line 331 def talk(request, method = nil) unless method # detect caller method name (= request ID) if RUBY_ENGINE == 'opal' matched = caller[1].match(/\[as \$(.*?)\]/) unless matched matched = caller[1].match(/^\s*at \S*\$([^$]+?)\b/) end return unless matched method = matched[1] else method = caller_locations.first.label end end @satori_like_dictionary.talk(method, request) end