Sha256: bba2b93f4b993aeb1bb0daecf6f3f3e2b7a7813d77f3a90223de0c1ef4b9e819
Contents?: true
Size: 1004 Bytes
Versions: 11
Compression:
Stored size: 1004 Bytes
Contents
require 'active_support/core_ext/string/inflections' # String#{demodulize,underscore} require 'erb' require 'forwardable' module TurnipFormatter module Renderer module Html class Base extend Forwardable TEMPLATE_DIRECTORY = File.dirname(__FILE__) + '/views' class << self def view @view ||= ::ERB.new( File.read("#{TEMPLATE_DIRECTORY}/#{resource_name}.html.erb") ) end def resource_name @resource_name ||= self.to_s.demodulize.underscore end def delegate(*props) def_delegators :@resource, *props end end def initialize(resource) @resource = resource end def id @id ||= self.class.resource_name + '_' + @resource.object_id.to_s end def view self.class.view end def render view.result(binding) end end end end end
Version data entries
11 entries across 11 versions & 1 rubygems