    # File lib/ramaze/view/erector.rb, line 85
          def self.call action, string
            # Return the contents unless a view has been defined
            return string, 'text/html' unless action.view

            # Evaluate the class so we can use it. The content of "string"
            # is a full blown class that should always have a "content" method.
            #eval string, action.binding
            eval string

            # Generate the class name based on the filename.
            # Class names are a CamelCased version of the filename (without the
            # extension).
            klass    = File.basename action.view, '.erector'
            klass    = klass.camel_case
            view_obj = self.const_get(klass)

            # Synchronize the methods of action.instance with the view. These
            # methods can be accessed by calling @controller.METHOD
            action.variables[:controller] = action.instance

            # Now that we have all the data we can start rendering the HTML.
            # Note that we pass the action.variables hash to the new() method. This
            # is done to give the view access to all existing (instance) variables.
            # Syncing them using action.copy_variables didn't seem to do the trick.
            html = view_obj.new(action.variables).to_html

            # All done
            return html, 'text/html'
          end