module MatrixSdk::Extensions
Public Instance Methods
events(*symbols)
click to toggle source
# File lib/matrix_sdk/util/extensions.rb, line 13 def events(*symbols) module_name = "#{name}Events" initializers = [] readers = [] methods = [] symbols.each do |sym| name = sym.to_s initializers << " @on_#{name} = MatrixSdk::EventHandlerArray.new " readers << ":on_#{name}" methods << " def fire_#{name}(ev, filter = nil) @on_#{name}.fire(ev, filter) when_#{name}(ev) if !ev.handled? end def when_#{name}(ev); end " end class_eval " module #{module_name} attr_reader #{readers.join ', '} def event_initialize #{initializers.join} end #{methods.join} end include #{module_name} ", __FILE__, __LINE__ - 12 end
ignore_inspect(*symbols)
click to toggle source
# File lib/matrix_sdk/util/extensions.rb, line 52 def ignore_inspect(*symbols) class_eval %* def inspect reentrant = caller_locations.any? { |l| l.absolute_path == __FILE__ && l.label == 'inspect' } "\\\#<\#{self.class} \#{instance_variables .reject { |f| %i[#{symbols.map { |s| "@#{s}" }.join ' '}].include? f } .map { |f| "\#{f}=\#{reentrant ? instance_variable_get(f) : instance_variable_get(f).inspect}" }.join " " }}>" end *, __FILE__, __LINE__ - 7 end