Class: Selector::Function

Inherits:
Condition show all
Defined in:
lib/selector/function.rb

Overview

The condition checks if the function returns truthy result for a value

Examples:

condition = Selector::Function.new -> v { v[/foo/] }
condition[:foo] # => true
condition[:bar] # => false

Instance Attribute Summary

Attributes inherited from Condition

#attributes

Instance Method Summary collapse

Methods inherited from Condition

#!, #&, #-, #==, #attribute, #|

Constructor Details

#initialize(function) ⇒ Function

Initializes the condition with a function

Parameters:

  • function (#call)


16
17
18
# File 'lib/selector/function.rb', line 16

def initialize(_)
  super
end

Instance Method Details

#[](value) ⇒ Boolean

Checks if the function returns truthy for value

Examples:

condition = Selector::Function.new -> v { v[/foo/] }
condition[:foo] # => true
condition[:bar] # => false

Parameters:

  • value (Object)

Returns:

  • (Boolean)


31
32
33
# File 'lib/selector/function.rb', line 31

def [](value)
  attribute.call(value) ? true : false
end