class LazyNames::Config

Attributes

definitions[R]
path[R]
validator[R]

Public Class Methods

new(definitions, path) click to toggle source
# File lib/lazy_names/config.rb, line 9
def initialize(definitions, path)
  @definitions = definitions
  @path = path
  @validator = ConfigValidator.new(definitions.values, definitions.keys)
end

Public Instance Methods

constants() click to toggle source
# File lib/lazy_names/config.rb, line 15
def constants
  definitions.keys
end
lazy_name(name) click to toggle source
# File lib/lazy_names/config.rb, line 23
def lazy_name(name)
  definitions[name]
end
lazy_names() click to toggle source
# File lib/lazy_names/config.rb, line 19
def lazy_names
  definitions.values
end
validate!() click to toggle source
# File lib/lazy_names/config.rb, line 27
def validate!
  validator.()
  remove_invalid_definitions!
end

Private Instance Methods

remove_invalid_definitions!() click to toggle source
# File lib/lazy_names/config.rb, line 34
def remove_invalid_definitions!
  errors.undefined.each { |name| definitions.delete(name) }
end