Class: Igniter::Extensions::Contracts::Dataflow::WindowFilter
- Inherits:
-
Object
- Object
- Igniter::Extensions::Contracts::Dataflow::WindowFilter
- Defined in:
- lib/igniter/extensions/contracts/dataflow/window_filter.rb
Instance Method Summary collapse
- #apply(items) ⇒ Object
-
#initialize(options) ⇒ WindowFilter
constructor
A new instance of WindowFilter.
Constructor Details
#initialize(options) ⇒ WindowFilter
Returns a new instance of WindowFilter.
8 9 10 11 |
# File 'lib/igniter/extensions/contracts/dataflow/window_filter.rb', line 8 def initialize() @options = validate! end |
Instance Method Details
#apply(items) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/igniter/extensions/contracts/dataflow/window_filter.rb', line 13 def apply(items) return items unless @options if @options.key?(:last) items.last(@options.fetch(:last)) else cutoff = Time.now - @options.fetch(:seconds) field = @options.fetch(:field).to_sym items.select { |item| item.fetch(field) >= cutoff } end end |