Class: NilClass
- Inherits:
-
Object
- Object
- NilClass
- Defined in:
- activesupport/lib/active_support/whiny_nil.rb,
activesupport/lib/active_support/json/encoding.rb,
activesupport/lib/active_support/core_ext/object/try.rb,
activesupport/lib/active_support/core_ext/object/blank.rb,
activesupport/lib/active_support/core_ext/object/to_param.rb,
activesupport/lib/active_support/core_ext/object/duplicable.rb
Overview
:nodoc:
Constant Summary
- METHOD_CLASS_MAP =
Hash.new
- AS_JSON =
ActiveSupport::JSON::Variable.new('null').freeze
Class Method Summary (collapse)
Instance Method Summary (collapse)
-
- (Object) as_json(options = nil)
:nodoc:.
- - (Boolean) blank?
- - (Boolean) duplicable?
-
- (Object) id
Raises a RuntimeError when you attempt to call id on nil.
- - (Object) to_param
- - (Object) try(*args)
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
- (Object) method_missing(method, *args, &block) (private)
44 45 46 47 48 49 50 |
# File 'activesupport/lib/active_support/whiny_nil.rb', line 44 def method_missing(method, *args, &block) if klass = METHOD_CLASS_MAP[method] raise_nil_warning_for klass, method, caller else super end end |
Class Method Details
+ (Object) add_whiner(klass)
30 31 32 33 34 |
# File 'activesupport/lib/active_support/whiny_nil.rb', line 30 def self.add_whiner(klass) methods = klass.public_instance_methods - public_instance_methods class_name = klass.name methods.each { |method| METHOD_CLASS_MAP[method.to_sym] = class_name } end |
Instance Method Details
- (Object) as_json(options = nil)
:nodoc:
151 |
# File 'activesupport/lib/active_support/json/encoding.rb', line 151 def as_json( = nil) AS_JSON end |
- (Boolean) blank?
41 42 43 |
# File 'activesupport/lib/active_support/core_ext/object/blank.rb', line 41 def blank? true end |
- (Boolean) duplicable?
26 27 28 |
# File 'activesupport/lib/active_support/core_ext/object/duplicable.rb', line 26 def duplicable? false end |
- (Object) id
Raises a RuntimeError when you attempt to call id on nil.
39 40 41 |
# File 'activesupport/lib/active_support/whiny_nil.rb', line 39 def id raise RuntimeError, "Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id", caller end |
- (Object) to_param
11 12 13 |
# File 'activesupport/lib/active_support/core_ext/object/to_param.rb', line 11 def to_param self end |
- (Object) try(*args)
33 34 35 |
# File 'activesupport/lib/active_support/core_ext/object/try.rb', line 33 def try(*args) nil end |