Class: Sequel::Dataset

Inherits:
Object
  • Object
show all
Includes:
Ripar
Defined in:
lib/philtre/sequel_extensions.rb,
lib/philtre/sequel_extensions.rb

Instance Method Summary collapse

Instance Method Details

#grind(filter = Philtre::Filter.new, apply_unknown: true) {|grinder| ... } ⇒ Object

filter must respond_to expr_hash and order_hash will optionally yield a Grinder instance to the block

Yields:

  • (grinder)


25
26
27
28
29
30
31
# File 'lib/philtre/sequel_extensions.rb', line 25

def grind( filter = Philtre::Filter.new, apply_unknown: true )
  grinder = Philtre::Grinder.new filter
  t_dataset = grinder.transform self, apply_unknown: apply_unknown
  # only yield after the transform, so the grinder has the place holders
  yield grinder if block_given?
  t_dataset
end

#rolled(&blk) ⇒ Object

roll the block and return the resulting dataset immediately



16
17
18
# File 'lib/philtre/sequel_extensions.rb', line 16

def rolled( &blk )
  roller.rive &blk
end

#rollerObject

make the roller understand dataset method



7
8
9
10
11
12
13
# File 'lib/philtre/sequel_extensions.rb', line 7

def roller
  rv = super
  class << rv
    def to_dataset; riven end
  end
  rv
end