Skip to content

Instantly share code, notes, and snippets.

View Arcanm's full-sized avatar
🏠
Working from home

Andrés A. Arcanm

🏠
Working from home
View GitHub Profile
@Arcanm
Arcanm / recent_views.rb
Created December 13, 2019 16:48
Refaztorizacion para casa
def self.list(user, limit = 10, object_name = nil)
recent_views = RecentView.select('o_id, ' \
'recent_view_object_id, ' \
'created_by_id, ' \
'MAX(created_at) as created_at, ' \
'MAX(id) as id')
.group(:o_id, :recent_view_object_id, :created_by_id)
.where(created_by_id: user.id)
.order(Arel.sql('MAX(created_at) DESC, MAX(id) DESC'))
.limit(limit)
@Arcanm
Arcanm / recent_views.rb
Created December 13, 2019 16:32
Ejercicio Refactorizar para casa
def self.list(user, _limit = 10, object_name = nil)
recent_views = search_recent_views
recent_views = views_by_name(recent_views) if object_name.present?
recent_views = hide_removed_ticktes(recent_views) if object_name == 'Ticket'
recent_views.select { |rv| access(ObjectLookup.by_id(rv.recent_view_object_id), rv.o_id, user) }
end
def search_recent_views
RecentView.select('o_id, ' \
'recent_view_object_id, ' \