Sha256: 2b8cb741f7e4ac6bf6dc3a194a2eea9b44ae3055f5923932c9c45ab98f1d3248

Contents?: true

Size: 1.49 KB

Versions: 1

Compression:

Stored size: 1.49 KB

Contents

require 'fileutils'

module Vedeu

  module Generator

    class View

      include Vedeu::Generator::Helpers

      # @param name [String] The name of the view.
      # @return [Vedeu::Generator::View]
      def self.generate(name)
        new(name).generate
      end

      # @param name [String] The name of the view.
      # @return [Vedeu::Generator::View]
      def initialize(name)
        @name = name
      end

      # @return [void]
      def generate
        make_controller_file

        make_helper_file

        make_interface_file

        make_template_file

        make_view_class_file
      end

      private

      # @return [void]
      def make_controller_file
        make_file(source + '/app/controllers/name.erb',
                  app_name + "/app/controllers/#{name}.rb")
      end

      # @return [void]
      def make_helper_file
        make_file(source + '/app/helpers/name.erb',
                  app_name + "/app/helpers/#{name}.rb")
      end

      # @return [void]
      def make_interface_file
        make_file(source + '/app/views/interfaces/name.erb',
                  app_name + "/app/views/interfaces/#{name}.rb")
      end

      # @return [void]
      def make_template_file
        FileUtils.touch(app_name + "/app/views/templates/#{name}.erb")
      end

      # @return [void]
      def make_view_class_file
        make_file(source + '/app/views/name.erb',
                  app_name + "/app/views/#{name}.rb")
      end

    end # View

  end # Generator

end # Vedeu

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vedeu-0.4.36 lib/vedeu/generator/view.rb