Sha256: fc0c6d870716459b3528201dd6453f256414b04709dc3e044b48d063a4d0421e

Contents?: true

Size: 1.21 KB

Versions: 4

Compression:

Stored size: 1.21 KB

Contents

module Vedeu

  # Provides the mechanism to render views for the client application. The
  # client application's ApplicationView will inherit from this class.
  #
  class ApplicationView

    include Vedeu::View

    # Renders the view.
    #
    # @param args [void]
    # @return [void]
    def self.render(*args)
      new(args).render
    end

    # Returns a new instance of Vedeu::ApplicationView.
    #
    # @param args [void]
    # @return [Vedeu::ApplicationView]
    def initialize(*args)
      @args = args
    end

    # @raise [Vedeu::NotImplemented] Subclasses of this class must implement
    #   this method.
    def render
      fail Vedeu::NotImplemented,
           'The subclass of Vedeu::ApplicationView must implement the #render' \
           'method.'
    end

    protected

    # @!attribute [r] args
    # @return [void]
    attr_reader :args

    private

    # Provides the path to the template file using the base_path configuration
    # option.
    #
    # @param value [String]
    # @return [String]
    # :nocov:
    def template(value)
      @template = Vedeu::Configuration.base_path +
                  "/app/views/templates/#{value}.erb"
    end
    # :nocov:

  end # ApplicationView

end # Vedeu

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
vedeu-0.5.3 lib/vedeu/application/application_view.rb
vedeu-0.5.2 lib/vedeu/application/application_view.rb
vedeu-0.5.1 lib/vedeu/application/application_view.rb
vedeu-0.5.0 lib/vedeu/application/application_view.rb