Class: SublimeDSL::SublimeText::KeyMap::MethodCatcher
- Inherits:
-
Tools::BlankSlate
- Object
- Tools::BlankSlate
- SublimeDSL::SublimeText::KeyMap::MethodCatcher
- Defined in:
- lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb
Overview
Catches all method calls as MethodCatcher objects.
Direct Known Subclasses
Constant Summary
Constants inherited from Tools::BlankSlate
Tools::BlankSlate::KEPT_METHODS
Instance Method Summary collapse
- #_args ⇒ Object
- #_method ⇒ Object
- #_object ⇒ Object
-
#initialize(object = nil, method = nil, args = nil) ⇒ MethodCatcher
constructor
A new instance of MethodCatcher.
- #inspect ⇒ Object
- #is_a?(klass) ⇒ Boolean
-
#method_missing(sym, *args) ⇒ Object
Returns a new MethodCatcher for
self,symandargs.
Constructor Details
#initialize(object = nil, method = nil, args = nil) ⇒ MethodCatcher
Returns a new instance of MethodCatcher.
46 47 48 49 50 |
# File 'lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb', line 46 def initialize(object = nil, method = nil, args = nil) @object = object @method = method @args = args end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(sym, *args) ⇒ Object
Returns a new MethodCatcher for self, sym and args.
53 54 55 56 57 58 59 |
# File 'lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb', line 53 def method_missing(sym, *args) # puts "creating catcher: " # puts " object=#{self.inspect}" # puts " sym=#{sym.inspect}" # puts " args=#{args.inspect}" MethodCatcher.new(self, sym, args) end |
Instance Method Details
#_args ⇒ Object
63 |
# File 'lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb', line 63 def _args; @args end |
#_method ⇒ Object
62 |
# File 'lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb', line 62 def _method; @method end |
#_object ⇒ Object
61 |
# File 'lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb', line 61 def _object; @object end |
#inspect ⇒ Object
69 70 71 |
# File 'lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb', line 69 def inspect "<#MethodCatcher object=#{@object.inspect} method=#{@method.inspect} args=#{@args.inspect}>" end |
#is_a?(klass) ⇒ Boolean
65 66 67 |
# File 'lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb', line 65 def is_a?(klass) klass == MethodCatcher end |