Class: ActiveRecord::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/deep_pluck.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.deep_pluck(*args) ⇒ Object



13
14
15
# File 'lib/deep_pluck.rb', line 13

def self.deep_pluck(*args)
  self.where('').deep_pluck(*args)
end

Instance Method Details

#deep_pluck(*args) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/deep_pluck.rb', line 17

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