Module: Ripper::RubyBuilder::Array
- Included in:
- Ripper::RubyBuilder
- Defined in:
- lib/ripper/ruby_builder/events/array.rb
Instance Method Summary collapse
- #on_aref(target, args) ⇒ Object
- #on_aref_field(target, args) ⇒ Object
- #on_array(args) ⇒ Object
- #on_qwords_add(array, word) ⇒ Object
- #on_qwords_new(*args) ⇒ Object
- #on_words_add(array, word) ⇒ Object
- #on_words_end(rdelim = nil) ⇒ Object
- #on_words_new(*args) ⇒ Object
Instance Method Details
#on_aref(target, args) ⇒ Object
45 46 47 48 49 50 |
# File 'lib/ripper/ruby_builder/events/array.rb', line 45 def on_aref(target, args) args ||= Ruby::ArgsList.new args.ldelim ||= pop_token(:@lbracket, :left => target) args.rdelim ||= pop_token(:@rbracket, :reverse => true, :pass => true, :left => args.ldelim) Ruby::Call.new(target, nil, nil, args) end |
#on_aref_field(target, args) ⇒ Object
52 53 54 55 56 57 |
# File 'lib/ripper/ruby_builder/events/array.rb', line 52 def on_aref_field(target, args) args ||= Ruby::ArgsList.new args.ldelim ||= pop_token(:@lbracket, :left => target) args.rdelim ||= pop_token(:@rbracket, :reverse => true, :pass => true, :left => args.ldelim) Ruby::Call.new(target, nil, nil, args) end |
#on_array(args) ⇒ Object
4 5 6 7 8 |
# File 'lib/ripper/ruby_builder/events/array.rb', line 4 def on_array(args) rdelim = pop_token(:@rbracket) ldelim = pop_token(:@lbracket) args ? args.to_array(ldelim, rdelim) : Ruby::Array.new(nil, ldelim, rdelim) end |
#on_qwords_add(array, word) ⇒ Object
32 33 34 35 36 37 |
# File 'lib/ripper/ruby_builder/events/array.rb', line 32 def on_qwords_add(array, word) word = on_word_add(on_word_new, word) # simulating missing on_word_new and on_word_add events array.rdelim ||= pop_token(:@words_end) array << word array end |
#on_qwords_new(*args) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/ripper/ruby_builder/events/array.rb', line 24 def on_qwords_new(*args) rdelim = pop_token(:@words_end) ldelim = pop_token(:@qwords_beg) words = Ruby::Array.new(nil, ldelim, rdelim) string_stack << words unless rdelim words end |
#on_words_add(array, word) ⇒ Object
18 19 20 21 22 |
# File 'lib/ripper/ruby_builder/events/array.rb', line 18 def on_words_add(array, word) array.rdelim ||= pop_token(:@words_end) array << word array end |
#on_words_end(rdelim = nil) ⇒ Object
39 40 41 42 43 |
# File 'lib/ripper/ruby_builder/events/array.rb', line 39 def on_words_end(rdelim = nil) words = string_stack.pop words.rdelim ||= pop_token(:@tstring_end, :@words_sep) words end |