Class: TableHelpers::MethodHelper

Inherits:
Object
  • Object
show all
Defined in:
app/utils/table_helpers.rb

Constant Summary collapse

FORMATS =
{
    boolean: BooleanFormatter.new,
    date: DateFormatter.new(DateFormatter::DATE),
    datetime: DateFormatter.new('%d.%m.%Y %H:%M'),
    enumerize: EnumerizeFormatter.new
}

Instance Method Summary collapse

Constructor Details

#initialize(method, type) ⇒ MethodHelper

Returns a new instance of MethodHelper.



100
101
102
103
# File 'app/utils/table_helpers.rb', line 100

def initialize(method, type)
  @method = method
  @formatter = FORMATS[type]
end

Instance Method Details

#alignObject



109
110
111
# File 'app/utils/table_helpers.rb', line 109

def align
  @align || @formatter.respond_to?(:align) && @formatter.align || :left
end

#align=(value) ⇒ Object



113
114
115
# File 'app/utils/table_helpers.rb', line 113

def align=(value)
  @align = value
end

#format_value(item, format) ⇒ Object



105
106
107
# File 'app/utils/table_helpers.rb', line 105

def format_value(item, format)
  @formatter.format_value(item.send(@method), format)
end

#respond_to?(method) ⇒ Boolean

Returns:

  • (Boolean)


117
118
119
120
# File 'app/utils/table_helpers.rb', line 117

def respond_to?(method)
  return (@align.present? || @formatter.respond_to?(method)) if method == :align
  super
end