Sha256: 9b945f343a5430af2ff2db7a5da24fd305d35a20e13aea4b431e74e454b2afbd
Contents?: true
Size: 910 Bytes
Versions: 1
Compression:
Stored size: 910 Bytes
Contents
require 'pleiades/core/util' module Line module Bot module Event class Base def initialize src @src = Pleiades::Util.define_reader src # /^[a-z]+_event\?$/ # => トークタイプの判定メソッドに反応する。 # # @src.source.type => 'user' # user_event? => true # room_event? => false # hoge_event? => false # @src.define_singleton_method(:method_missing) do |method, *_| return super() unless /^[a-z]+_event\?$/ =~ method source.type == method.to_s.split('_').first end end def method_missing method, *_ begin @src.__send__ method rescue ArgumentError => _ raise NoMethodError, "#{self.class} has no `#{method}` method." end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pleiades-0.1.1 | lib/pleiades/core_ext/line/bot/event/base.rb |