Module: Decode::Language
- Defined in:
- lib/decode/language.rb,
lib/decode/language/ruby.rb,
lib/decode/language/ruby/call.rb,
lib/decode/language/ruby/block.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
Language specific parsers and definitions.
Defined Under Namespace
Modules: Ruby
Constant Summary collapse
- REFERENCE =
/\A(?<language>\.[a-z]+)?\s+(?<text>.*?)\z/
Class Method Summary collapse
- .detect(path) ⇒ Object
-
.reference(string, language = nil) ⇒ Object
A language agnostic reference: e.g.
Class Method Details
.detect(path) ⇒ Object
26 27 28 29 30 31 |
# File 'lib/decode/language.rb', line 26 def self.detect(path) case path when /\.(rb|ru)\z/ return Language::Ruby end end |
.reference(string, language = nil) ⇒ Object
A language agnostic reference: e.g. ‘.rb MyModule::MyClass`
38 39 40 41 42 43 44 |
# File 'lib/decode/language.rb', line 38 def self.reference(string, language = nil) if match = REFERENCE.match(string) language = self.detect(match[:language]) || language return language.reference(match[:text]) end end |