Module: Kward::ChatInvocation
- Defined in:
- lib/kward/model/chat_invocation.rb
Constant Summary collapse
- KEYWORD_PARAMETER_TYPES =
[:key, :keyreq].freeze
Class Method Summary collapse
Class Method Details
.call(client, messages, keywords) ⇒ Object
7 8 9 |
# File 'lib/kward/model/chat_invocation.rb', line 7 def call(client, , keywords) client.chat(, **supported_keywords(client, keywords)) end |
.supported_keywords(client, keywords) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/kward/model/chat_invocation.rb', line 11 def supported_keywords(client, keywords) parameters = client.method(:chat).parameters return keywords if parameters.any? { |type, _name| type == :keyrest } supported = parameters.each_with_object({}) do |(type, name), names| names[name] = true if KEYWORD_PARAMETER_TYPES.include?(type) end keywords.select { |name, _value| supported.key?(name) } rescue NameError keywords end |