ClassArguments¶
Constants¶
- INVALID_CLASS_ARGUMENT_ERROR
Methods¶
.active_node_model?
def active_node_model?(class_constant) class_constant.included_modules.include?(Neo4j::ActiveNode) end
.constantize_argument
def constantize_argument(class_argument) case class_argument when 'any', :any, false, nil nil when Array class_argument.map(&method(:constantize_argument)) else class_argument.to_s.constantize.tap do |class_constant| if !active_node_model?(class_constant) fail ArgumentError, "#{class_constant} is not an ActiveNode model" end end end rescue NameError raise ArgumentError, "Could not find class: #{class_argument}" end
.valid_argument?
def valid_argument?(class_argument) [NilClass, String, Symbol, FalseClass].include?(class_argument.class) || (class_argument.is_a?(Array) && class_argument.all? { |c| [Symbol, String].include?(c.class) }) end
.validate_argument!
def validate_argument!(class_argument, context) return if valid_argument?(class_argument) fail ArgumentError, "#{context} #{INVALID_CLASS_ARGUMENT_ERROR} (was #{class_argument.inspect})" end