Module: Transformer::Base
- Defined in:
- lib/transformer.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
- #initialize(subject) ⇒ Object
- #template ⇒ Object
- #template_name ⇒ Object
- #template_path ⇒ Object
- #transform ⇒ Object
Class Method Details
.included(base) ⇒ Object
45 46 47 48 49 |
# File 'lib/transformer.rb', line 45 def self.included(base) extend ClassMethods Transformer.registered_transformers << base attr_reader :subject end |
Instance Method Details
#initialize(subject) ⇒ Object
55 56 57 |
# File 'lib/transformer.rb', line 55 def initialize(subject) @subject = subject end |
#template ⇒ Object
59 60 61 62 63 64 65 |
# File 'lib/transformer.rb', line 59 def template begin File.read(template_path+template_name) rescue raise Transformer::TemplateNotFoundError end end |
#template_name ⇒ Object
71 72 73 |
# File 'lib/transformer.rb', line 71 def template_name "#{Extlib::Inflection.underscore(Extlib::Inflection.demodulize(self.class.name))}.haml" end |
#template_path ⇒ Object
67 68 69 |
# File 'lib/transformer.rb', line 67 def template_path Pathname(Transformer.template_root). end |
#transform ⇒ Object
51 52 53 |
# File 'lib/transformer.rb', line 51 def transform Haml::Engine.new(template).render(self) end |