Sha256: 1a12dc575a2b87625e438c6ac33d314c3377688d4838f312acb86d2252d003c0
Contents?: true
Size: 1 KB
Versions: 2
Compression:
Stored size: 1 KB
Contents
# frozen_string_literal: true class Core::Repositories::<%= @scope_class %>::<%= @repository_class%> < Core::Repositories::AbstractRepository def initialize(params:) @params = prepare! params, sanitize: true build_pagination_variable! @params end def call(builder: true) <% if @resource_owner_id.present? -%> resources = <%= @model_class %>.where(<%=@resource_owner_id%>: @params.<%=@resource_owner_id%>) <% else -%> resources = <%= @model_class %> <% end -%> if @search.present? resources = resources.where('<%= @search_able.map { |field| "LOWER(#{field}) LIKE :search" }.join(' OR ')%>', search: "%#{search}%") end return Success Success Hashie::Mash.new(response: [], meta: {}) unless resources.present? pagy, results = pagy(resources.order(created_at: :desc), limit: @per_page, page: @page) response = results.map { |result| Core::Builders::<%= @subject_class %>.new(result).build } Success Hashie::Mash.new(response: response, meta: paginate!(pagy)) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rider-kick-0.0.7 | lib/generators/rider_kick/templates/domains/core/repositories/list.rb.tt |
rider-kick-0.0.6 | lib/generators/rider_kick/templates/domains/core/repositories/list.rb.tt |