Module: Ripper::RubyBuilder::Method

Included in:
Ripper::RubyBuilder
Defined in:
lib/ripper/ruby_builder/events/method.rb

Instance Method Summary collapse

Instance Method Details

#on_def(identifier, params, body) ⇒ Object



4
5
6
7
8
9
10
# File 'lib/ripper/ruby_builder/events/method.rb', line 4

def on_def(identifier, params, body)
  rdelim = pop_token(:@end)
  # the identifier might be a keyword, e.g. def class; end. could even be def def; end
  identifier = pop_identifier(identifier.type, :right => rdelim) if identifier.is_a?(Ripper::RubyBuilder::Token)
  ldelim = pop_token(:@def, :pass => true)
  Ruby::Method.new(nil, nil, identifier, params, body, ldelim, rdelim)
end

#on_defs(target, separator, identifier, params, body) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/ripper/ruby_builder/events/method.rb', line 12

def on_defs(target, separator, identifier, params, body)
  rdelim = pop_token(:@end)
  ldelim = pop_token(:@def, :pass => true)
  identifier = pop_identifier(identifier.type, :left => ldelim, :right => rdelim) if identifier.is_a?(Ripper::RubyBuilder::Token)
  separator = pop_token(:@period, :'@::')
  Ruby::Method.new(target, separator, identifier, params, body, ldelim, rdelim)
end