--- /dev/null
+module Locmare
+ module ProfilerModule
+ class Column
+ attr :profiler, :column_name
+ def initialize profiler, column_name
+ @profiler = profiler
+ @column_name = column_name
+ end
+
+ def label
+ self.item.class.human_attribute_name(@column_name)
+ end
+
+ def value
+ self.item.attributes[@column_name]
+ end
+
+ def note
+ end
+
+ def date?
+ case model_attribute_manifest.type
+ when 'datetime'
+ if self.value
+ true
+ else
+ false
+ end
+ else
+ false
+ end
+ end
+
+ def note?
+ if self.model_attribute_source_manifest
+ case self.model_attribute_source_manifest.type
+ when 'magic_number'
+ true
+ when 'model'
+ false
+ else
+ false
+ end
+ else
+ false
+ end
+ end
+
+ def select_item_name
+ self.model_attribute_source_manifest.select_item_name
+ end
+
+ def item
+ @profiler.item
+ end
+
+ def model_manifest
+ ::Manifest.manifest.models[@profiler.item_name]
+ end
+
+ def model_attribute_manifest
+ self.model_manifest.attributes[@column_name]
+ end
+
+ def model_attribute_source_manifest
+ self.model_attribute_manifest.source
+ end
+
+ def template_dir
+ @profiler.template_dir
+ end
+
+ def template_file_name
+ "column"
+ end
+
+ def template_name
+ self.template_dir + self.template_file_name
+ end
+
+ def value_template_dir
+ @profiler.template_dir + "column_value/"
+ end
+
+ def value_template_file_name
+ if self.date?
+ 'date'
+ else
+ 'default'
+ end
+ end
+
+ def value_template_name
+ self.value_template_dir + self.value_template_file_name
+ end
+
+ def note_template_dir
+ @profiler.template_dir + "column_note/"
+ end
+
+ def note_template_file_name
+ if self.note?
+ 'default'
+ else
+ 'none'
+ end
+ end
+
+ def note_template_name
+ self.note_template_dir + self.note_template_file_name
+ end
+
+ end
+ end
+end
+