lib/pandorified/session.rb in pandorified-0.9.0 vs lib/pandorified/session.rb in pandorified-0.9.1

- old
+ new

@@ -1,47 +1,47 @@ require 'pandorified/result' module Pandorified - # Raised when Pandorabots returns an API result with a non-zero status. - class PandorabotsError < StandardError; end + # Raised when Pandorabots returns an API result with a non-zero status. + class PandorabotsError < StandardError; end - class Session - # A new session for conversing with a bot. - # - # @note If you choose not to specify a {custid}, one will be automatically chosen and remembered throughout the session. - # - # @param [String] botid A valid Pandorabots botid. - # @param [String] custid An identifier used to keep track of this conversation. - def initialize(botid, custid = nil) - @botid = botid - @custid = custid - end + class Session + # A new session for conversing with a bot. + # + # @note If you choose not to specify a {custid}, one will be automatically chosen and remembered throughout the session. + # + # @param [String] botid A valid Pandorabots botid. + # @param [String] custid An identifier used to keep track of this conversation. + def initialize(botid, custid = nil) + @botid = botid + @custid = custid + end - # Send a message to this session's bot and receive a response. - # - # See {Pandorified::Result} for how to check for an error response and get the error message. - # Alternatively, you can use {#talk!} instead of this method, which raises an exception when Pandorabots API returns an error. - # - # @param [String] input Text to say to the bot. - # - # @return [Pandorified::Result] The bot's response as a result object. - def talk(input) - result = Pandorified::Result.new(botid: @botid, custid: @custid, input: input) - @custid ||= result.custid if result.success? - result - end + # Send a message to this session's bot and receive a response. + # + # See {Pandorified::Result} for how to check for an error response and get the error message. + # Alternatively, you can use {#talk!} instead of this method, which raises an exception when Pandorabots API returns an error. + # + # @param [String] input Text to say to the bot. + # + # @return [Pandorified::Result] The bot's response as a result object. + def talk(input) + result = Pandorified::Result.new(botid: @botid, custid: @custid, input: input) + @custid ||= result.custid if result.success? + result + end - # Send a message to this session's bot and receive a response (if successful). - # - # If Pandorabots API responds with an error, {Pandorified::PandorabotsError} is raised with the specific error message. - # If you'd like to check for and handle the error yourself, you can use {#talk} instead of this method. - # - # @param [String] input Text to say to the bot. - # - # @return [String] The bot's response text. - def talk!(input) - result = self.talk(input) - raise Pandorified::PandorabotsError, "Pandorabots returned status #{result.status}: #{result.message}" if result.error? - result.that - end - end + # Send a message to this session's bot and receive a response (if successful). + # + # If Pandorabots API responds with an error, {Pandorified::PandorabotsError} is raised with the specific error message. + # If you'd like to check for and handle the error yourself, you can use {#talk} instead of this method. + # + # @param [String] input Text to say to the bot. + # + # @return [String] The bot's response text. + def talk!(input) + result = self.talk(input) + raise Pandorified::PandorabotsError, "Pandorabots returned status #{result.status}: #{result.message}" if result.error? + result.that + end + end end