Class: Archruby::Architecture::Parser
- Inherits:
-
Object
- Object
- Archruby::Architecture::Parser
- Defined in:
- lib/archruby/architecture/parser.rb
Instance Attribute Summary collapse
-
#modules ⇒ Object
readonly
Returns the value of attribute modules.
Instance Method Summary collapse
-
#initialize(config_file_path, base_path) ⇒ Parser
constructor
A new instance of Parser.
- #parse ⇒ Object
- #ruby_core_module ⇒ Object
- #ruby_std_lib_module ⇒ Object
- #unknow_module ⇒ Object
- #yaml_parser ⇒ Object
Constructor Details
#initialize(config_file_path, base_path) ⇒ Parser
Returns a new instance of Parser.
9 10 11 12 13 14 15 16 17 |
# File 'lib/archruby/architecture/parser.rb', line 9 def initialize config_file_path, base_path @config_file = config_file_path @base_path = base_path @modules = [] parse ruby_std_lib_module ruby_core_module unknow_module end |
Instance Attribute Details
#modules ⇒ Object (readonly)
Returns the value of attribute modules.
7 8 9 |
# File 'lib/archruby/architecture/parser.rb', line 7 def modules @modules end |
Instance Method Details
#parse ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/archruby/architecture/parser.rb', line 19 def parse parsed_yaml = yaml_parser.load_file @config_file parsed_yaml.each do |module_name, definitions| begin config_definition = Archruby::Architecture::ConfigDefinition.new module_name, definitions module_definition = Archruby::Architecture::ModuleDefinition.new config_definition, @base_path rescue ArchChecker::MultipleConstraints => e STDOUT.puts "The config file is not right: #{e.msg} | err_code: #{e.status_code} | module_definition: #{module_name}" exit(e.status_code) end @modules << module_definition end end |
#ruby_core_module ⇒ Object
44 45 46 47 48 49 |
# File 'lib/archruby/architecture/parser.rb', line 44 def ruby_core_module config_definition_core = Archruby::Architecture::ConfigDefinition.new Archruby::Ruby::CORE_LIB_NAME, {"gems"=>"", "files"=>"", "allowed"=>"", "forbidden" => ""} module_definiton_core = Archruby::Architecture::ModuleDefinition.new(config_definition_core, @base_path) module_definiton_core.classes = Archruby::Ruby::CORE_LIBRARY_CLASSES @modules << module_definiton_core end |
#ruby_std_lib_module ⇒ Object
37 38 39 40 41 42 |
# File 'lib/archruby/architecture/parser.rb', line 37 def ruby_std_lib_module config_definition_std_lib = Archruby::Architecture::ConfigDefinition.new Archruby::Ruby::STD_LIB_NAME, {"gems"=>"", "files"=>"", "allowed"=>"", "forbidden" => ""} module_definiton_std_lib = Archruby::Architecture::ModuleDefinition.new(config_definition_std_lib, @base_path) module_definiton_std_lib.classes = Archruby::Ruby::STD_LIBRARY_CLASSES @modules << module_definiton_std_lib end |
#unknow_module ⇒ Object
51 52 53 54 |
# File 'lib/archruby/architecture/parser.rb', line 51 def unknow_module config_definition_unknow = Archruby::Architecture::ConfigDefinition.new "unknown", {"gems"=>"unknown", "files"=>"", "allowed"=>"", "forbidden" => ""} @modules << Archruby::Architecture::ModuleDefinition.new(config_definition_unknow, @base_path) end |
#yaml_parser ⇒ Object
33 34 35 |
# File 'lib/archruby/architecture/parser.rb', line 33 def yaml_parser YAML end |