Class: YARD::Parser::Ruby::Legacy::Statement
- Inherits:
-
Object
- Object
- YARD::Parser::Ruby::Legacy::Statement
- Defined in:
- lib/yard/parser/ruby/legacy/statement.rb
Instance Attribute Summary collapse
-
#block ⇒ Object
readonly
Returns the value of attribute block.
-
#comments ⇒ Object
readonly
Returns the value of attribute comments.
-
#comments_range ⇒ Object
Returns the value of attribute comments_range.
-
#group ⇒ Object
Returns the value of attribute group.
-
#tokens ⇒ Object
readonly
Returns the value of attribute tokens.
Instance Method Summary collapse
- #first_line ⇒ Object
-
#initialize(tokens, block = nil, comments = nil) ⇒ Statement
constructor
A new instance of Statement.
- #inspect ⇒ Object
-
#line ⇒ Fixnum
The first line of Ruby source.
-
#line_range ⇒ Range<Fixnum>
The first to last lines of Ruby source.
- #show ⇒ Object
- #to_s(include_block = true) ⇒ Object (also: #source)
Constructor Details
#initialize(tokens, block = nil, comments = nil) ⇒ Statement
Returns a new instance of Statement.
7 8 9 10 11 |
# File 'lib/yard/parser/ruby/legacy/statement.rb', line 7 def initialize(tokens, block = nil, comments = nil) @tokens = tokens @block = block @comments = comments end |
Instance Attribute Details
#block ⇒ Object (readonly)
Returns the value of attribute block.
4 5 6 |
# File 'lib/yard/parser/ruby/legacy/statement.rb', line 4 def block @block end |
#comments ⇒ Object (readonly)
Returns the value of attribute comments.
4 5 6 |
# File 'lib/yard/parser/ruby/legacy/statement.rb', line 4 def comments @comments end |
#comments_range ⇒ Object
Returns the value of attribute comments_range.
5 6 7 |
# File 'lib/yard/parser/ruby/legacy/statement.rb', line 5 def comments_range @comments_range end |
#group ⇒ Object
Returns the value of attribute group.
5 6 7 |
# File 'lib/yard/parser/ruby/legacy/statement.rb', line 5 def group @group end |
#tokens ⇒ Object (readonly)
Returns the value of attribute tokens.
4 5 6 |
# File 'lib/yard/parser/ruby/legacy/statement.rb', line 4 def tokens @tokens end |
Instance Method Details
#first_line ⇒ Object
13 14 15 |
# File 'lib/yard/parser/ruby/legacy/statement.rb', line 13 def first_line to_s.split(/\n/)[0] end |
#inspect ⇒ Object
24 25 26 27 28 29 |
# File 'lib/yard/parser/ruby/legacy/statement.rb', line 24 def inspect l = line - 1 to_s(false).split(/\n/).map do |text| "\t#{l += 1}: #{text}" end.join("\n") end |
#line ⇒ Fixnum
Returns the first line of Ruby source.
36 37 38 |
# File 'lib/yard/parser/ruby/legacy/statement.rb', line 36 def line tokens.first.line_no end |
#line_range ⇒ Range<Fixnum>
Returns the first to last lines of Ruby source.
42 43 44 |
# File 'lib/yard/parser/ruby/legacy/statement.rb', line 42 def line_range tokens.first.line_no..tokens.last.line_no end |
#show ⇒ Object
31 32 33 |
# File 'lib/yard/parser/ruby/legacy/statement.rb', line 31 def show "\t #{line}: #{first_line}" end |
#to_s(include_block = true) ⇒ Object Also known as: source
17 18 19 20 21 |
# File 'lib/yard/parser/ruby/legacy/statement.rb', line 17 def to_s(include_block = true) tokens.map do |token| RubyToken::TkBlockContents === token ? (include_block ? block.to_s : '') : token.text end.join end |