Module: Decode::Language::Ruby
- Defined in:
- lib/decode/language/ruby.rb,
lib/decode/language/ruby/class.rb,
lib/decode/language/ruby/method.rb,
lib/decode/language/ruby/module.rb,
lib/decode/language/ruby/parser.rb,
lib/decode/language/ruby/segment.rb,
lib/decode/language/ruby/constant.rb,
lib/decode/language/ruby/function.rb,
lib/decode/language/ruby/attribute.rb,
lib/decode/language/ruby/reference.rb,
lib/decode/language/ruby/definition.rb
Overview
The Ruby language.
Defined Under Namespace
Classes: Attribute, Class, Constant, Definition, Function, Method, Module, Parser, Reference, Segment, Singleton
Constant Summary collapse
- PREFIX =
The symbol which is used to separate the specified definition from the parent scope.
{ class: '::', module: '::', def: ':', constant: '::', defs: '.', }.freeze
Class Method Summary collapse
-
.join(symbols, absolute = true) ⇒ Object
Generate a language-specific fully qualified name.
-
.name ⇒ Object
The canoical name of the language for use in output formatting.
-
.reference(value) ⇒ Object
Generate a language-specific reference.
-
.segments_for(input, &block) ⇒ Object
Parse the input yielding interleaved comments and code segments.
-
.symbols_for(input, &block) ⇒ Object
Parse the input yielding symbols.
Class Method Details
.join(symbols, absolute = true) ⇒ Object
Generate a language-specific fully qualified name.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/decode/language/ruby.rb', line 44 def self.join(symbols, absolute = true) buffer = String.new symbols.each do |symbol| if absolute == false absolute = true else buffer << PREFIX[symbol.kind] end buffer << symbol.name.to_s end return buffer end |
.name ⇒ Object
The canoical name of the language for use in output formatting. e.g. source code highlighting.
30 31 32 |
# File 'lib/decode/language/ruby.rb', line 30 def self.name "ruby" end |
.reference(value) ⇒ Object
Generate a language-specific reference.
61 62 63 |
# File 'lib/decode/language/ruby.rb', line 61 def self.reference(value) Reference.new(value) end |
.segments_for(input, &block) ⇒ Object
Parse the input yielding interleaved comments and code segments.
75 76 77 |
# File 'lib/decode/language/ruby.rb', line 75 def self.segments_for(input, &block) Parser.new.segments_for(input, &block) end |
.symbols_for(input, &block) ⇒ Object
Parse the input yielding symbols.
68 69 70 |
# File 'lib/decode/language/ruby.rb', line 68 def self.symbols_for(input, &block) Parser.new.symbols_for(input, &block) end |