Class: ConvenientService::Support::SafeMethod
- Inherits:
-
Object
- Object
- ConvenientService::Support::SafeMethod
- Defined in:
- lib/convenient_service/support/safe_method.rb
Instance Attribute Summary collapse
-
#default ⇒ Object
readonly
Returns the value of attribute default.
-
#method ⇒ Object
readonly
Returns the value of attribute method.
-
#object ⇒ Object
readonly
Returns the value of attribute object.
Instance Method Summary collapse
-
#call(*args, **kwargs, &block) ⇒ Object
Can be any type.
- #initialize(object, method, default: nil) ⇒ void constructor
Constructor Details
#initialize(object, method, default: nil) ⇒ void
35 36 37 38 39 |
# File 'lib/convenient_service/support/safe_method.rb', line 35 def initialize(object, method, default: nil) @object = object @method = method @default = default end |
Instance Attribute Details
#default ⇒ Object (readonly)
Returns the value of attribute default.
27 28 29 |
# File 'lib/convenient_service/support/safe_method.rb', line 27 def default @default end |
#method ⇒ Object (readonly)
Returns the value of attribute method.
21 22 23 |
# File 'lib/convenient_service/support/safe_method.rb', line 21 def method @method end |
#object ⇒ Object (readonly)
Returns the value of attribute object.
15 16 17 |
# File 'lib/convenient_service/support/safe_method.rb', line 15 def object @object end |
Instance Method Details
#call(*args, **kwargs, &block) ⇒ Object
Returns Can be any type.
47 48 49 50 51 |
# File 'lib/convenient_service/support/safe_method.rb', line 47 def call(*args, **kwargs, &block) return default unless method_defined? object.__send__(method, *args, **kwargs, &block) end |