Class: OverloadedMethods::Clause
- Inherits:
-
Object
- Object
- OverloadedMethods::Clause
- Defined in:
- lib/overloaded_methods.rb
Instance Attribute Summary collapse
-
#predicate ⇒ Object
readonly
Returns the value of attribute predicate.
Class Method Summary collapse
Instance Method Summary collapse
- #call(*params) ⇒ Object
- #do(&block) ⇒ Object (also: #does)
-
#initialize(predicate) ⇒ Clause
constructor
A new instance of Clause.
- #match?(*params) ⇒ Boolean
- #return(value) ⇒ Object
Constructor Details
#initialize(predicate) ⇒ Clause
Returns a new instance of Clause.
21 22 23 |
# File 'lib/overloaded_methods.rb', line 21 def initialize(predicate) @predicate = predicate end |
Instance Attribute Details
#predicate ⇒ Object (readonly)
Returns the value of attribute predicate.
20 21 22 |
# File 'lib/overloaded_methods.rb', line 20 def predicate @predicate end |
Class Method Details
.match_all ⇒ Object
14 15 16 |
# File 'lib/overloaded_methods.rb', line 14 def self.match_all new ->*{true} end |
.with_predicate(predicate) ⇒ Object
17 18 19 |
# File 'lib/overloaded_methods.rb', line 17 def self.with_predicate(predicate) new predicate end |
Instance Method Details
#call(*params) ⇒ Object
35 36 37 |
# File 'lib/overloaded_methods.rb', line 35 def call *params @block.call *params end |
#do(&block) ⇒ Object Also known as: does
27 28 29 30 |
# File 'lib/overloaded_methods.rb', line 27 def do &block @block = block self end |
#match?(*params) ⇒ Boolean
24 25 26 |
# File 'lib/overloaded_methods.rb', line 24 def match?(*params) @predicate.call(*params) end |
#return(value) ⇒ Object
31 32 33 |
# File 'lib/overloaded_methods.rb', line 31 def return value self.do {|*|value} end |