Class: Symbol

Inherits:
Object show all
Defined in:
lib/golly-utils/ruby_ext/classes_and_types.rb

Instance Method Summary collapse

Instance Method Details

#validate_lvar_type! { ... } ⇒ true

Validates the type of a local variable.

Examples:

def save_person(name, eyes)
  # Validate args
  :name.validate_lvar_type!{ String }
  :eyes.validate_lvar_type!{ [nil,Fixnum] }

  # Do other stuff
  # ...
end

Yields:

  • Calls a given block once to get the list of valid classes. The block must have access to the local variable.

Yield Returns:

  • (Class|Array<Class>)

    The given block should return one or more classes.

Raises:

See Also:



112
113
114
115
116
117
118
119
# File 'lib/golly-utils/ruby_ext/classes_and_types.rb', line 112

def validate_lvar_type!(&block)
  name= self
  raise "You must provide a block that returns one or more valid classes for #{name}." unless block
  classes= [block.()].flatten
  v= block.send(:binding).eval(name.to_s)
  v.validate_type! name, *classes
  true
end