class LpCSVExportable::CSVColumn
Attributes
default_value[R]
header[R]
model_method[R]
model_methods[R]
type[R]
Public Class Methods
new(args = {})
click to toggle source
# File lib/lp_csv_exportable/csv_column.rb, line 5 def initialize(args = {}) @header = args[:header] @model_method = args[:model_method] @model_methods = args[:model_methods] @type = args.fetch(:type, :string) @default_value = args.fetch(:default_value, '') after_init(args) end
Public Instance Methods
format(result)
click to toggle source
# File lib/lp_csv_exportable/csv_column.rb, line 14 def format(result) return formatted_result(result) if respond_to?(type) return default_value if use_default?(result) result end
Private Instance Methods
after_init(args = {})
click to toggle source
# File lib/lp_csv_exportable/csv_column.rb, line 22 def after_init(args = {}) # hook for subclasses end
formatted_result(result)
click to toggle source
# File lib/lp_csv_exportable/csv_column.rb, line 30 def formatted_result(result) formatted = send(type, result) return default_value if use_default?(formatted) formatted end
use_default?(result)
click to toggle source
# File lib/lp_csv_exportable/csv_column.rb, line 26 def use_default?(result) default_value.present? && result.nil? end