Class: PaidUp::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- PaidUp::InstallGenerator
- Includes:
- Generators::Utils, Rails::Generators::Migration
- Defined in:
- lib/generators/paid_up/install/install_generator.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add_initializer ⇒ Object
- #add_migrations ⇒ Object
- #add_route ⇒ Object
- #add_to_model ⇒ Object
- #hello ⇒ Object
- #install_cancan ⇒ Object
-
#install_devise ⇒ Object
all public methods in here will be run in order.
- #install_rolify ⇒ Object
Methods included from Generators::Utils
Class Method Details
.next_migration_number(dirname) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/generators/paid_up/install/install_generator.rb', line 53 def self.next_migration_number(dirname) if ActiveRecord::Base. unless @prev_migration_nr @prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i else @prev_migration_nr += 1 end @prev_migration_nr.to_s else "%.3d" % (current_migration_number(dirname) + 1) end end |
Instance Method Details
#add_initializer ⇒ Object
31 32 33 34 |
# File 'lib/generators/paid_up/install/install_generator.rb', line 31 def add_initializer output "Next, you'll need an initializer. This is where you put your configuration options.", :magenta template "initializer.rb", "config/initializers/paid_up.rb" end |
#add_migrations ⇒ Object
36 37 38 39 |
# File 'lib/generators/paid_up/install/install_generator.rb', line 36 def add_migrations output "Next come migrations.", :magenta rake 'paid_up:install:migrations' end |
#add_route ⇒ Object
47 48 49 50 51 |
# File 'lib/generators/paid_up/install/install_generator.rb', line 47 def add_route output "Adding PaidUp to your routes.rb file", :magenta gsub_file "config/routes.rb", /mount PaidUp::Engine => '\/.*', :as => 'paid_up'/, '' route("mount PaidUp::Engine => '/', :as => 'paid_up'") end |
#add_to_model ⇒ Object
41 42 43 44 45 |
# File 'lib/generators/paid_up/install/install_generator.rb', line 41 def add_to_model output "Adding PaidUp to your User model", :magenta gsub_file "app/models/user.rb", /^\n subscriber$/, '' inject_into_file "app/models/user.rb", "\n subscriber", after: "class User < ActiveRecord::Base" end |
#hello ⇒ Object
9 10 11 |
# File 'lib/generators/paid_up/install/install_generator.rb', line 9 def hello output "PaidUp Installer will now install itself", :magenta end |
#install_cancan ⇒ Object
21 22 23 24 |
# File 'lib/generators/paid_up/install/install_generator.rb', line 21 def install_cancan output "For authorization, PaidUp uses CanCan. Let's get you started with a customizable ability.rb file.", :magenta template "ability.rb", "app/models/ability.rb" end |
#install_devise ⇒ Object
all public methods in here will be run in order
15 16 17 18 19 |
# File 'lib/generators/paid_up/install/install_generator.rb', line 15 def install_devise output "To start with, Devise is used to authenticate users. No need to install it separately, I'll do that now.", :magenta generate("devise:install") generate("devise User") end |
#install_rolify ⇒ Object
26 27 28 29 |
# File 'lib/generators/paid_up/install/install_generator.rb', line 26 def install_rolify output "To provide varying roles for Users, we'll use Rolify. Let's set that up now.", :magenta generate("rolify", "Role User") end |