Class: SublimeDSL::SublimeText::KeyMap::MethodCatcher

Inherits:
Tools::BlankSlate show all
Defined in:
lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb

Overview

Catches all method calls as MethodCatcher objects.

Direct Known Subclasses

BindingReader

Constant Summary

Constants inherited from Tools::BlankSlate

Tools::BlankSlate::KEPT_METHODS

Instance Method Summary collapse

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

#_argsObject



63
# File 'lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb', line 63

def _args; @args end

#_methodObject



62
# File 'lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb', line 62

def _method; @method end

#_objectObject



61
# File 'lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb', line 61

def _object; @object end

#inspectObject



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

Returns:

  • (Boolean)


65
66
67
# File 'lib/sublime_dsl/sublime_text/keymap/dsl_reader.rb', line 65

def is_a?(klass)
  klass == MethodCatcher
end