module ROM::EnumerableDataset
A helper module that adds data-proxy behavior to an enumerable object
This module is intended to be used by gateways
Class that includes this module can define `row_proc` class method which must return a proc-like object which will be used to process each element in the enumerable
@example
class MyDataset include ROM::EnumerableDataset def self.row_proc -> tuple { tuple.each_with_object({}) { |(k,v), h| h[k.to_sym] = v } } end end ds = MyDataset.new([{ 'name' => 'Jane' }, [:name]) ds.to_a # => { :name => 'Jane' }
@api public
Public Class Methods
included(klass)
click to toggle source
Included hook which extends a class with DataProxy
behavior
This module can also be included into other modules so we apply the extension only for classes
@api private
# File lib/rom/support/enumerable_dataset.rb, line 42 def self.included(klass) return unless klass.is_a?(Class) klass.class_eval do include Options include DataProxy end end