Sha256: 54595fbc2d1e3361e8bb8d98aa60c18b4700e309aaab3cd717936f6bd3cb56ca
Contents?: true
Size: 656 Bytes
Versions: 1
Compression:
Stored size: 656 Bytes
Contents
require "deep_pluck/version" require 'deep_pluck/model' require 'active_record' require 'pluck_all' class ActiveRecord::Relation def deep_pluck(*args) DeepPluck::Model.new(self).add(args).load_all end end class ActiveRecord::Base def self.deep_pluck(*args) self.where('').deep_pluck(*args) end def deep_pluck(*args) hash_args = args.select{|s| s.is_a?(Hash) } other_args = args.select{|s| !s.is_a?(Hash) } preloaded_model = DeepPluck::PreloadedModel.new(self, other_args) model = DeepPluck::Model.new(self.class.where(id: id), preloaded_model: preloaded_model) return model.add(*hash_args).load_all.first end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
deep_pluck-1.1.0 | lib/deep_pluck.rb |