Sha256: 35bf73e6518fcdb3a176ee20a7f598898a631d2a5e6bb761e69679d27d78a888

Contents?: true

Size: 1.16 KB

Versions: 2

Compression:

Stored size: 1.16 KB

Contents

require_relative './base'

module Joosy
  module Generators
    class ApplicationGenerator < Base
      argument :name, type: :string, optional: true

      def create_application
        dependencies = <<-COFFEE
#= require jquery
#= require jquery.form
#= require sugar
#= require hamlcoffee
        COFFEE

        self.destination_root = ::Rails.root.join('app/assets/javascripts/').join(name || '')
        run Joosy::Generators.pregenerate('project/base', {enableHTML5: true, templaterPrefix: name, dependencies: dependencies})
      end

      def create_bindings
        self.destination_root = ::Rails.root

        if !name
          index = ::Rails.root.join('app/assets/javascripts/application.js')

          if File.exists?(index)
            copy_file index, 'app/assets/javascripts/application.bak'
            remove_file index
          end
        end

        layout = 'joosy'
        layout << "/#{name}" if name
        template File.expand_path('../templates/layout.html.erb', __FILE__), "app/views/layouts/#{layout}.html.erb"

        application = name ? ", application: '#{name}'" : ''
        route "joosy '/#{name}'#{application}"
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
joosy-rails-1.0.0.beta.3 lib/rails/generators/joosy/application_generator.rb
joosy-rails-1.0.0.beta.2 lib/rails/generators/joosy/application_generator.rb