class Archruby::Architecture::ConfigDefinition
Constants
- ALLOWED_CONSTRAINTS
Attributes
allowed_modules[R]
files[R]
forbidden_modules[R]
gems[R]
module_name[R]
required_modules[R]
Public Class Methods
new(module_name, definitions)
click to toggle source
# File lib/archruby/architecture/config_definition.rb, line 10 def initialize(module_name, definitions) @module_name = module_name @files = parse_files(definitions['files']) @gems = parse_gems(definitions['gems']) parse_constraints(definitions) end
Public Instance Methods
allowed_modules=(modules)
click to toggle source
# File lib/archruby/architecture/config_definition.rb, line 44 def allowed_modules=(modules) @allowed_modules = modules end
forbidden_modules=(modules)
click to toggle source
# File lib/archruby/architecture/config_definition.rb, line 52 def forbidden_modules=(modules) @forbidden_modules = modules end
normalize_string_spaces(array_of_strings)
click to toggle source
# File lib/archruby/architecture/config_definition.rb, line 40 def normalize_string_spaces(array_of_strings) array_of_strings.map! {|element| element.strip } end
parse_constraints(definitions)
click to toggle source
# File lib/archruby/architecture/config_definition.rb, line 31 def parse_constraints(definitions) check_constraints(definitions) ALLOWED_CONSTRAINTS.each do |constraint| constraint_definition = definitions[constraint] constraint_definition = '' if constraint_definition.nil? send("#{constraint}_modules=", normalize_string_spaces(constraint_definition.split(','))) end end
parse_files(files)
click to toggle source
# File lib/archruby/architecture/config_definition.rb, line 17 def parse_files(files) files = '' if files.nil? files = files.split(',') normalize_string_spaces(files) files end
parse_gems(gems)
click to toggle source
# File lib/archruby/architecture/config_definition.rb, line 24 def parse_gems(gems) gems = '' if gems.nil? gems = gems.split(',') normalize_string_spaces(gems) gems end
required_modules=(modules)
click to toggle source
# File lib/archruby/architecture/config_definition.rb, line 48 def required_modules=(modules) @required_modules = modules end
Private Instance Methods
check_constraints(definitions)
click to toggle source
# File lib/archruby/architecture/config_definition.rb, line 58 def check_constraints(definitions) raise MultipleConstraints if definitions['allowed'] && !definitions['allowed'].empty? && definitions['forbidden'] && !definitions['forbidden'].empty? end