Sha256: d20e7f5e6086a57e11b0e4df5dbae22d48f23212ebdc95545144648c78d848e2
Contents?: true
Size: 685 Bytes
Versions: 10
Compression:
Stored size: 685 Bytes
Contents
module Arel module Enhance class Path attr_reader :nodes def initialize(nodes = []) @nodes = nodes end def append(path_node) Path.new(nodes + [path_node]) end def dig_send(object) selected_object = object nodes.each do |path_node| selected_object = selected_object.send(*path_node.method) end selected_object end def to_a nodes.map(&:value) end def current nodes.last end def inspect nodes.inspect string = '[' string << nodes.map(&:inspect).join(', ') string << ']' end end end end
Version data entries
10 entries across 10 versions & 1 rubygems