Class: ConditionalCounterCache::Reflection::Option

Inherits:
Object
  • Object
show all
Defined in:
lib/conditional_counter_cache/reflection.rb

Overview

Utility wrapper of reflection to process ‘option`.

Instance Method Summary collapse

Constructor Details

#initialize(reflection) ⇒ Option

Returns a new instance of Option.

Parameters:

  • (ActiveRecord::Reflection)


35
36
37
# File 'lib/conditional_counter_cache/reflection.rb', line 35

def initialize(reflection)
  @reflection = reflection
end

Instance Method Details

#column_nameString?

Returns Specified column name, or nil meaning “use default column name”.

Returns:

  • (String, nil)

    Specified column name, or nil meaning “use default column name”.



40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/conditional_counter_cache/reflection.rb', line 40

def column_name
  case cache
  when Hash
    cache[:column_name]
  when String, Symbol
    cache.to_s
  when true
    "#{@reflection.active_record.name.demodulize.underscore.pluralize}_count"
  else
    nil
  end
end

#conditionCondition

Returns:



54
55
56
# File 'lib/conditional_counter_cache/reflection.rb', line 54

def condition
  Condition.new(raw_condition)
end