Class: OOP::BasicRules
- Inherits:
-
Object
- Object
- OOP::BasicRules
- Defined in:
- lib/oop/basic_rules.rb
Instance Method Summary collapse
Instance Method Details
#cast_to_value(arg) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/oop/basic_rules.rb', line 10 def cast_to_value(arg) case arg when Value, TrueClass, FalseClass, NilClass, Proc then arg when *trusted_values arg when Hash then Hash[arg.map{|k,v| [cast_to_value(k), cast_to_value(v)] }.to_h].freeze when Array then arg.map{|v| cast_to_value(v) }.freeze when Symbol, Fixnum, String, Float, Time then if arg.frozen? arg else arg.freeze end else raise NonValueArg.new(arg.class) end end |
#trusted_values ⇒ Object
6 7 8 |
# File 'lib/oop/basic_rules.rb', line 6 def trusted_values [] end |