Sha256: ae2a1b0010841a20146c1bf9785945584d7d16b8285051aa84a9eaa624e02862

Contents?: true

Size: 831 Bytes

Versions: 1

Compression:

Stored size: 831 Bytes

Contents

module Ruboty
  module Handlers
    class GoodNight < Base
      BRAIN_NAMESPACE = 'ruboty-goodnight'

      on /おやすみ/, name: 'greet', description: 'greet to ruboty'

      def initialize(*args)
        super
        if room
          room.reply('おはようございます')
          trap_message(room)
        end
      end

      def greet(message)
        save(message)
        message.reply('まだ寝ないよ!')
      end

      private

      def save(message)
        robot.brain.data[BRAIN_NAMESPACE] = message
        trap_message(message)
      end

      def room
        robot.brain.data[BRAIN_NAMESPACE]
      end

      def trap_message(message)
        Signal.trap('TERM') do
          message.reply('おやすみ〜')
          Process.kill 'QUIT', Process.pid
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruboty-good-night-0.1.0 lib/ruboty/handlers/good_night.rb