├── .gitignore ├── .mise.toml ├── Gemfile ├── LICENSE.txt ├── README.md ├── Rakefile ├── bin ├── console └── setup ├── cognition.gemspec ├── lib ├── cognition.rb └── cognition │ ├── bot.rb │ ├── matcher.rb │ ├── message.rb │ ├── plugins │ ├── base.rb │ ├── cognition │ │ └── plugins │ │ │ └── default │ │ │ └── views │ │ │ ├── help.html.erb │ │ │ └── help.text.erb │ └── default.rb │ ├── responder.rb │ └── version.rb └── test ├── fixtures ├── anchor.rb ├── hello.rb └── hello │ └── views │ ├── bonjour.text.erb │ ├── hey.html.haml │ ├── hi.html.erb │ ├── hola.haml │ └── yo.html.erb ├── test_cognition.rb ├── test_default_plugin.rb ├── test_helper.rb ├── test_matcher.rb ├── test_message.rb ├── test_plugin.rb └── test_responder.rb /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/.gitignore -------------------------------------------------------------------------------- /.mise.toml: -------------------------------------------------------------------------------- 1 | [tools] 2 | ruby = "2.7" 3 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/Gemfile -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/README.md -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/Rakefile -------------------------------------------------------------------------------- /bin/console: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/bin/console -------------------------------------------------------------------------------- /bin/setup: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euo pipefail 3 | IFS=$'\n\t' 4 | 5 | bundle install 6 | -------------------------------------------------------------------------------- /cognition.gemspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/cognition.gemspec -------------------------------------------------------------------------------- /lib/cognition.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/lib/cognition.rb -------------------------------------------------------------------------------- /lib/cognition/bot.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/lib/cognition/bot.rb -------------------------------------------------------------------------------- /lib/cognition/matcher.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/lib/cognition/matcher.rb -------------------------------------------------------------------------------- /lib/cognition/message.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/lib/cognition/message.rb -------------------------------------------------------------------------------- /lib/cognition/plugins/base.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/lib/cognition/plugins/base.rb -------------------------------------------------------------------------------- /lib/cognition/plugins/cognition/plugins/default/views/help.html.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/lib/cognition/plugins/cognition/plugins/default/views/help.html.erb -------------------------------------------------------------------------------- /lib/cognition/plugins/cognition/plugins/default/views/help.text.erb: -------------------------------------------------------------------------------- 1 | <%= @help.join("\n") %> 2 | -------------------------------------------------------------------------------- /lib/cognition/plugins/default.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/lib/cognition/plugins/default.rb -------------------------------------------------------------------------------- /lib/cognition/responder.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/lib/cognition/responder.rb -------------------------------------------------------------------------------- /lib/cognition/version.rb: -------------------------------------------------------------------------------- 1 | module Cognition 2 | VERSION = "2.1.3" 3 | end 4 | -------------------------------------------------------------------------------- /test/fixtures/anchor.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/test/fixtures/anchor.rb -------------------------------------------------------------------------------- /test/fixtures/hello.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/test/fixtures/hello.rb -------------------------------------------------------------------------------- /test/fixtures/hello/views/bonjour.text.erb: -------------------------------------------------------------------------------- 1 | <%= @message %> is french! 2 | -------------------------------------------------------------------------------- /test/fixtures/hello/views/hey.html.haml: -------------------------------------------------------------------------------- 1 | %h1= @message 2 | -------------------------------------------------------------------------------- /test/fixtures/hello/views/hi.html.erb: -------------------------------------------------------------------------------- 1 | <%= @message %> from a default template! 2 | -------------------------------------------------------------------------------- /test/fixtures/hello/views/hola.haml: -------------------------------------------------------------------------------- 1 | %h1= @message -------------------------------------------------------------------------------- /test/fixtures/hello/views/yo.html.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/test/fixtures/hello/views/yo.html.erb -------------------------------------------------------------------------------- /test/test_cognition.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/test/test_cognition.rb -------------------------------------------------------------------------------- /test/test_default_plugin.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/test/test_default_plugin.rb -------------------------------------------------------------------------------- /test/test_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/test/test_helper.rb -------------------------------------------------------------------------------- /test/test_matcher.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/test/test_matcher.rb -------------------------------------------------------------------------------- /test/test_message.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/test/test_message.rb -------------------------------------------------------------------------------- /test/test_plugin.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/test/test_plugin.rb -------------------------------------------------------------------------------- /test/test_responder.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basecamp/cognition/HEAD/test/test_responder.rb --------------------------------------------------------------------------------