Sha256: 8b128c9bd062e92a3a809f9e50d43bfe79bc90039f8dc11d09a888acda874223

Contents?: true

Size: 1.95 KB

Versions: 7

Compression:

Stored size: 1.95 KB

Contents

module Fullstack
  module Admin
    class InstallGenerator < Rails::Generators::Base
      source_root File.expand_path('../templates', __FILE__)
        
      class_option :fullstack, :type => :boolean, :default => true
    
      class_option :host, :default => "remotehost"
      class_option :user, :default => "ror"
      class_option :title, :default => "title"
      class_option :slogan, :default => "slogan"
    
      def install_fullstack
        if options[:fullstack]
          generate "fullstack:install  --host='#{host}' --user='#{user}'  --title='#{title}' --slogan='#{slogan}'"
        end
      end

      def copy_templates
        directory "root", Rails.root
      end
        
      def assets
        append_to_file "config/assets.yml" do
<<-eos

- admin/admin.css
- admin/admin.js          
eos
          
        end
      end
      

      def users
        generate "migration:from administrator"
        generate "migration:from user"
        append_to_file "db/seeds.rb" do
<<-eos

if Rails.env.development?
  user = Administrator.create!( 
                    :username => "admin", 
                    :email => "admin@example.com",
                    :password => "password" 
                    )
end
  
eos
          
        end
      
      end
      

      def append_routes
        src = <<-eos

  namespace :admin do
    root :to => "dashboard#show"
  end
  
eos
        route(src)
        
        #route("\n  devise_for :users\n")
      end

      protected
      
      def migration_timestamp
        Time.now.strftime("%Y%m%d%H%M%S")
      end

      def host
        options[:host]
      end
    
      def user
         options[:user]
      end
    
      def app
        Rails.application.class.to_s.split("::").first.underscore      
      end
    
      def email
        "info@#{host}"
      end
    
      def title
        options[:title]      
      end
    
      def slogan
        options[:slogan]
      end
      
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
fullstack-admin-0.2.9 lib/generators/fullstack/admin/install_generator.rb
fullstack-admin-0.2.8 lib/generators/fullstack/admin/install_generator.rb
fullstack-admin-0.2.7 lib/generators/fullstack/admin/install_generator.rb
fullstack-admin-0.2.6 lib/generators/fullstack/admin/install_generator.rb
fullstack-admin-0.2.5 lib/generators/fullstack/admin/install_generator.rb
fullstack-admin-0.2.4 lib/generators/fullstack/admin/install_generator.rb
fullstack-admin-0.2.3 lib/generators/fullstack/admin/install_generator.rb