diff options
author | icebaker <113217272+icebaker@users.noreply.github.com> | 2023-05-13 18:54:17 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-13 18:54:17 -0300 |
commit | 9103778fe438ad4b0c90dce60bf77fc812290fc4 (patch) | |
tree | d5d815cae646002f4833439d07c36bf9c1f68ed7 /logic/cartridge/interaction.rb | |
parent | a1950c8eb3b55759b0cdcc7716c88b99d0173f2d (diff) | |
parent | 1fbdb24fff7cd84b5506cb0c7092fdcdc867ec12 (diff) |
Merge pull request #2 from icebaker/ib-adapters
adding support for adapters
Diffstat (limited to 'logic/cartridge/interaction.rb')
-rw-r--r-- | logic/cartridge/interaction.rb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/logic/cartridge/interaction.rb b/logic/cartridge/interaction.rb new file mode 100644 index 0000000..160d818 --- /dev/null +++ b/logic/cartridge/interaction.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +require 'sweet-moon' + +require_relative './affixes' +require_relative './adapters' + +module NanoBot + module Logic + module Cartridge + module Interaction + def self.input(cartridge, interface, content) + lua = Adapter.expression(cartridge, interface, :input, :lua) + fennel = Adapter.expression(cartridge, interface, :input, :fennel) + + prefix = Affixes.get(cartridge, interface, :input, :prefix) + suffix = Affixes.get(cartridge, interface, :input, :suffix) + + { content:, prefix:, suffix:, lua:, fennel: } + end + + def self.output(cartridge, interface, result, streaming, _finished) + if streaming + result[:message] = { content: result[:message], lua: nil, fennel: nil } + return result + end + + lua = Adapter.expression(cartridge, interface, :output, :lua) + fennel = Adapter.expression(cartridge, interface, :output, :fennel) + + result[:message] = { content: result[:message], lua:, fennel: } + + result + end + end + end + end +end |