Sha256: 05b518812070e24136265d706794c49d24d9e2506f031b1259ffa72124b54bee
Contents?: true
Size: 1.23 KB
Versions: 2
Compression:
Stored size: 1.23 KB
Contents
module Pleiades module Command module Routing module RouteRefine # 指定したイベントの時のみブロックを実行する # # ## EXAMPLE # only_events :postback do # event scope :hoge, action: :fuga # # => Hoge::Fuga を postbackイベントとして実行する # end # def only_events(*events, &block) return false unless callable_event_type?(events) return self unless block_given? instance_eval(&block) end # 指定したトークタイプの時のみブロックを実行する # # ## EXAMPLE # talk_type :user do # p @event.source.type # => "user" # postback scope :hoge, action: :fuga # end # def talk_type(*talk_types, &block) return false unless callable_talk_type?(talk_types) return self unless block_given? instance_eval(&block) end private def callable_talk_type?(types) types.map(&:to_s).include?(@event.source.type) end def callable_event_type?(types) types.map(&:to_s).include?(__event_name__) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pleiades-0.1.3 | lib/pleiades/core/command/routing/route_refine.rb |
pleiades-0.1.2 | lib/pleiades/core/command/routing/route_refine.rb |