Method: HaveAPI::ModelAdapters::ActiveRecord::Action::InstanceMethods#with_includes
- Defined in:
- lib/haveapi/model_adapters/active_record.rb
#with_includes(q = nil) ⇒ Object
Helper method that sets correct ActiveRecord includes according to the meta includes sent by the user. q
is the model or partial AR query. If not set, action’s model class is used instead.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/haveapi/model_adapters/active_record.rb', line 26 def with_includes(q = nil) q ||= self.class.model includes = && [:includes] args = includes.nil? ? [] : ar_parse_includes(includes) # Resulting includes may still contain duplicities in form of nested # includes. ar_default_includes returns a flat array where as # ar_parse_includes may contain hashes. But since ActiveRecord is taking # it well, it is not necessary to fix. args.concat(ar_default_includes).uniq if !args.empty? q.includes(*args) else q end end |