Class: NilClass
- Inherits:
-
Object
show all
- 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
Constant Summary
- METHOD_CLASS_MAP =
Hash.new
- AS_JSON =
ActiveSupport::JSON::Variable.new('null').freeze
Class Method Summary
(collapse)
Instance Method Summary
(collapse)
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
- (Object) method_missing(method, *args, &block)
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)
168
|
# File 'activesupport/lib/active_support/json/encoding.rb', line 168
def as_json(options = 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
|
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
|