Module: CodeModels
- Defined in:
- lib/codemodels/language.rb,
lib/codemodels/parser.rb,
lib/codemodels/version.rb,
lib/codemodels/artifact.rb,
lib/codemodels/position.rb,
lib/codemodels/metamodel.rb,
lib/codemodels/comparison.rb,
lib/codemodels/navigation.rb,
lib/codemodels/source_info.rb,
lib/codemodels/serialization.rb,
lib/codemodels/model_building.rb,
lib/codemodels/info_extraction.rb
Overview
encoding: utf-8
Defined Under Namespace
Modules: ComparisonModule, ForeignAstExtensions, HostPositionExtensions, InfoExtraction, ModelBuilding, NavigationExtensions, Serialization, SourceInfoExtensions Classes: Artifact, CodeModelsAstNode, EmbeddedArtifact, FileArtifact, FileMapper, FilesFilter, Language, NoLanguageRegisteredError, Parser, ParsingError, SourceInfo, SourcePoint, SourcePosition, StringArtifact, UnknownNodeType
Constant Summary collapse
- VERSION =
"0.2.7"- @@languages =
[]
Class Method Summary collapse
- .parse_file(path) ⇒ Object
-
.register_language(language) ⇒ Object
It avoids multiple registration of the same class.
- .registered_languages ⇒ Object
Class Method Details
.parse_file(path) ⇒ Object
49 50 51 52 53 |
# File 'lib/codemodels/language.rb', line 49 def self.parse_file(path) l = @@languages.find {|l| l.can_parse?(path) } raise NoLanguageRegisteredError.new(path) unless l l.parser.parse_file(path) end |
.register_language(language) ⇒ Object
It avoids multiple registration of the same class
30 31 32 33 |
# File 'lib/codemodels/language.rb', line 30 def self.register_language(language) return if @@languages.find {|l| l.is_a?(language.class)} @@languages << language end |
.registered_languages ⇒ Object
35 36 37 |
# File 'lib/codemodels/language.rb', line 35 def self.registered_languages @@languages end |