Sha256: a79f9dcf5244c005095c821eb81820f7bf0cadbdd3e0dc0c3f024801435caf15

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

module HappySeed
  module Generators
    class DeviseInvitableGenerator < Rails::Generators::Base
      source_root File.expand_path('../templates', __FILE__)

      def install_device_invitable
        unless gem_available?( "devise" )
          puts "The omniauth generator requires devise"

          if yes?( "Run happy_seed:devise now?" )
            generate "happy_seed:devise"
          else
            exit
          end
        end

        gem 'devise_invitable'

        Bundler.with_clean_env do
          run "bundle install > /dev/null"
          run 'rake db:migrate'
        end

        run 'rails generate devise_invitable:install'
        run 'rails generate devise_invitable User'
        run 'rails generate devise_invitable:views'
        
        directory '.'

        if gem_available?( "haml-rails" )
          remove_file 'app/views/devise/invitations/new.html.erb'
          remove_file 'app/views/devise/invitations/edit.html.erb'
        end
      end

      private
        def gem_available?(name)
          Gem::Specification.find_by_name(name)
        rescue Gem::LoadError
          false
        rescue
          Gem.available?(name)
        end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
happy_seed-0.0.14 lib/generators/happy_seed/devise_invitable/devise_invitable_generator.rb
happy_seed-0.0.13 lib/generators/happy_seed/devise_invitable/devise_invitable_generator.rb