module SlideHero::Compilable
Public Instance Methods
compile()
click to toggle source
# File lib/slide_hero/compilable.rb, line 3 def compile Tilt::ERBTemplate.new( File.join(SlideHero.template_path, template)).render(self).strip end
template()
click to toggle source
# File lib/slide_hero/compilable.rb, line 8 def template template_file = underscore(self.class.name.split("::").last) "lib/slide_hero/views/#{template_file}.html.erb" end
underscore(camel_cased_word)
click to toggle source
# File lib/slide_hero/compilable.rb, line 13 def underscore(camel_cased_word) return camel_cased_word unless camel_cased_word =~ /[A-Z-]|::/ word = camel_cased_word.to_s.gsub(/::/, '/') word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2') word.gsub!(/([a-z\d])([A-Z])/,'\1_\2') word.downcase! word end