module ObjectRubyExtended

Public Class Methods

included(base) click to toggle source
# File lib/ruby_extended/object.rb, line 4
def self.included(base)
  base.class_eval do

    def dig(*items)
      res, all_items = self, items.flatten

      all_items.each do |item|
        next if res.nil?
        res = res[item] rescue nil
      end

      res
    end

  end
end

Public Instance Methods

dig(*items) click to toggle source
# File lib/ruby_extended/object.rb, line 7
def dig(*items)
  res, all_items = self, items.flatten

  all_items.each do |item|
    next if res.nil?
    res = res[item] rescue nil
  end

  res
end