class Mincer::Processors::CacheDigest::Processor
Public Class Methods
new(mincer)
click to toggle source
# File lib/mincer/processors/cache_digest/processor.rb, line 6 def initialize(mincer) @mincer, @args, @relation = mincer, mincer.args, mincer.relation end
Public Instance Methods
apply()
click to toggle source
# File lib/mincer/processors/cache_digest/processor.rb, line 10 def apply @relation end
digest()
click to toggle source
# File lib/mincer/processors/cache_digest/processor.rb, line 14 def digest Mincer.connection.execute(digest_sql).first.values.first end
Private Instance Methods
digest_columns_as_sql()
click to toggle source
# File lib/mincer/processors/cache_digest/processor.rb, line 27 def digest_columns_as_sql @mincer.class.digest_columns.map { |column| "string_agg(digest_q.#{column}::text, '')" }.join(' || ') end
digest_sql()
click to toggle source
# File lib/mincer/processors/cache_digest/processor.rb, line 20 def digest_sql <<-SQL SELECT digest(#{digest_columns_as_sql}, 'md5') as digest FROM (#{@relation.connection.unprepared_statement { @relation.to_sql }}) as digest_q SQL end