Module: ROM::DataProxy::ClassMethods

Included in:
ArrayDataset, EnumerableDataset
Defined in:
lib/rom/data_proxy.rb

Instance Method Summary collapse

Instance Method Details

#forward(*methods) ⇒ undefined

Forward provided methods to the underlaying data object

Examples:


class MyDataset
  include DataProxy

  forward(:find_all, :map)
end

Returns:

  • (undefined)


74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/rom/data_proxy.rb', line 74

def forward(*methods)
  # FIXME: we should probably raise if one of the non-forwardable methods
  #       was provided
  (methods - NON_FORWARDABLE).each do |method_name|
    class_eval("      def \#{method_name}(...)                              # def find_all(...)\n        response = data.public_send(:\#{method_name}, ...)  #   response = data.public_send(:find_all, ...)\n                                                           #\n        if response.equal?(data)                           #   if response.equal?(data)\n          self                                             #     self\n        elsif response.is_a?(data.class)                   #   elsif response.is_a?(data.class)\n          self.class.new(response)                         #     self.class.new(response)\n        else                                               #   else\n          response                                         #     response\n        end                                                #   end\n      end                                                  # end\n    RUBY\n  end\nend\n", __FILE__, __LINE__ + 1)

#row_procProc

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Default no-op tuple proc

Returns:

  • (Proc)


59
# File 'lib/rom/data_proxy.rb', line 59

def row_proc = -> tuple { tuple }