Sha256: 7574b1e81122e41ea10361fa927498317785dfeb5e6f9afc986bb07b9deba6f5

Contents?: true

Size: 797 Bytes

Versions: 7

Compression:

Stored size: 797 Bytes

Contents

module Hippo
    module Concerns

        # A collection of handly utility methods to generate queries
        module Queries

            extend ActiveSupport::Concern

            module ClassMethods

                def compose_query_using_detail_view( view: nil, join_to: nil )
                    join_to ||= self.name.demodulize.tableize.singularize + '_' + primary_key
                    q = joins("join #{view} as details on details.#{join_to} = #{table_name}.#{primary_key}")
                          .select("details.*")
                    if current_scope.nil? || current_scope.select_values.exclude?("#{table_name}.*")
                        q = q.select("#{table_name}.*")
                    end
                    q
                end

            end
        end
    end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
hippo-fw-0.9.7 lib/hippo/concerns/queries.rb
hippo-fw-0.9.6 lib/hippo/concerns/queries.rb
hippo-fw-0.9.5 lib/hippo/concerns/queries.rb
hippo-fw-0.9.4 lib/hippo/concerns/queries.rb
hippo-fw-0.9.3 lib/hippo/concerns/queries.rb
hippo-fw-0.9.2 lib/hippo/concerns/queries.rb
hippo-fw-0.9.1 lib/hippo/concerns/queries.rb