class Greenenvy::NameValidator

Constants

REGEXP

Public Class Methods

new(klass) click to toggle source
# File lib/greenenvy/name_validator.rb, line 6
def initialize(klass)
  @klass = klass
end

Public Instance Methods

validate!(name) click to toggle source
# File lib/greenenvy/name_validator.rb, line 10
def validate!(name)
  name = name.to_sym
  if reserved_method?(name) || !valid_pattern?(name)
    raise Exceptions::InvalidKey, "Invalid key, #{name}."
  end
  name
end

Private Instance Methods

reserved_method?(name) click to toggle source
# File lib/greenenvy/name_validator.rb, line 20
def reserved_method?(name)
  @klass.instance_methods.include?(name)
end
valid_pattern?(name) click to toggle source
# File lib/greenenvy/name_validator.rb, line 25
def valid_pattern?(name)
  REGEXP.match?(name)
end