Sha256: 2d0af3af089856dfa3f9a73338cfc2579ba5575dac5c30285ae069b37e58d79b

Contents?: true

Size: 762 Bytes

Versions: 2

Compression:

Stored size: 762 Bytes

Contents

# TODO docs for this
class Sequel::Dataset
  include Ripar

  # make the roller understand dataset method
  def roller
    rv = super
    class << rv
      def to_dataset; riven end
    end
    rv
  end

  # roll the block and return the resulting dataset immediately
  def rolled( &blk )
    roller.rive &blk
  end
end

class Sequel::Dataset
  # filter must respond_to expr_hash and order_hash
  # will optionally yield a Grinder instance to the block
  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
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
philtre-0.1.0 lib/philtre/sequel_extensions.rb
philtre-0.0.1 lib/philtre/sequel_extensions.rb