Module: NoBrainer::Criteria::Pluck
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/no_brainer/criteria/pluck.rb
Class Method Summary collapse
Instance Method Summary collapse
- #lazy_fetch(*attrs) ⇒ Object
- #pluck(*attrs) ⇒ Object
- #without(*attrs) ⇒ Object
- #without_plucking ⇒ Object
Class Method Details
.merge_missing_attributes(a, b) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/no_brainer/criteria/pluck.rb', line 23 def self.merge_missing_attributes(a, b) return nil if b.nil? || b == :remove a = a ? a.dup : {} b.each do |type, attrs| old_attrs = a[type] || {}.with_indifferent_access new_attrs = old_attrs.deep_merge(attrs) a[type] = new_attrs end a end |
Instance Method Details
#lazy_fetch(*attrs) ⇒ Object
15 16 17 |
# File 'lib/no_brainer/criteria/pluck.rb', line 15 def lazy_fetch(*attrs) _missing_attributes_criteria(:lazy_fetch, attrs) end |
#pluck(*attrs) ⇒ Object
7 8 9 |
# File 'lib/no_brainer/criteria/pluck.rb', line 7 def pluck(*attrs) _missing_attributes_criteria(:pluck, attrs) end |
#without(*attrs) ⇒ Object
11 12 13 |
# File 'lib/no_brainer/criteria/pluck.rb', line 11 def without(*attrs) _missing_attributes_criteria(:without, attrs) end |
#without_plucking ⇒ Object
19 20 21 |
# File 'lib/no_brainer/criteria/pluck.rb', line 19 def without_plucking chain(:missing_attributes => :remove) end |