Class: FlyAdmin::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- FlyAdmin::InstallGenerator
- Defined in:
- lib/generators/fly_admin/install/install_generator.rb
Constant Summary collapse
- FLY_ADMIN_PATH =
Gem.loaded_specs['fly_admin'].full_gem_path
Instance Method Summary collapse
- #add_fly_admin_route ⇒ Object
-
#bootstrap_admin ⇒ Object
Create Admin user.
-
#bootstrap_countries ⇒ Object
Create records on models: Country, Paysite, which needed for displaying footer.
- #bootstrap_paysites ⇒ Object
- #copy_fly_admin_initializer ⇒ Object
- #delete_initializer_page_cache ⇒ Object
-
#delete_page_cache ⇒ Object
Delete old files in main app.
-
#migrate_footers ⇒ Object
Migrate existing footers.
- #replace_connection_api ⇒ Object
- #replace_state_machine_with_state_machines ⇒ Object
Instance Method Details
#add_fly_admin_route ⇒ Object
23 24 25 26 27 |
# File 'lib/generators/fly_admin/install/install_generator.rb', line 23 def add_fly_admin_route if engine_not_mounted? route "mount FlyAdmin::Engine, at: '/fly_admin'" end end |
#bootstrap_admin ⇒ Object
Create Admin user
30 31 32 33 34 35 36 |
# File 'lib/generators/fly_admin/install/install_generator.rb', line 30 def bootstrap_admin if ['with-admin-user'] if admin_not_exists? rake 'fly_admin:bootstrap:admin' end end end |
#bootstrap_countries ⇒ Object
Create records on models: Country, Paysite, which needed for displaying footer
39 40 41 42 43 |
# File 'lib/generators/fly_admin/install/install_generator.rb', line 39 def bootstrap_countries if countries_not_bootstraped? rake 'fly_admin:bootstrap:countries' end end |
#bootstrap_paysites ⇒ Object
45 46 47 48 49 |
# File 'lib/generators/fly_admin/install/install_generator.rb', line 45 def bootstrap_paysites if paysites_not_bootstraped? rake 'fly_admin:bootstrap:paysites' end end |
#copy_fly_admin_initializer ⇒ Object
10 11 12 |
# File 'lib/generators/fly_admin/install/install_generator.rb', line 10 def copy_fly_admin_initializer copy_file "fly_admin_initializer.rb", "config/initializers/fly_admin.rb" end |
#delete_initializer_page_cache ⇒ Object
19 20 21 |
# File 'lib/generators/fly_admin/install/install_generator.rb', line 19 def delete_initializer_page_cache remove_file('config/initializers/page_cache') end |
#delete_page_cache ⇒ Object
Delete old files in main app
15 16 17 |
# File 'lib/generators/fly_admin/install/install_generator.rb', line 15 def delete_page_cache remove_file('lib/page_cache.rb') end |
#migrate_footers ⇒ Object
Migrate existing footers
52 53 54 55 56 |
# File 'lib/generators/fly_admin/install/install_generator.rb', line 52 def if ['with-migrating-footer'] rake 'fly_admin:migrate:footers' end end |
#replace_connection_api ⇒ Object
68 69 70 71 72 73 74 |
# File 'lib/generators/fly_admin/install/install_generator.rb', line 68 def replace_connection_api remove_file('lib/connection_api.rb') controller_path = "#{Rails.root}/app/controllers/application_controller.rb" controller_contents = File.read(controller_path) controller_contents.gsub!(/ ConnectionApi/, " FlyAdmin::Imbs::ConnectionApi") File.open(controller_path, 'w') { |f| f.write(controller_contents) } end |
#replace_state_machine_with_state_machines ⇒ Object
58 59 60 61 62 63 64 65 66 |
# File 'lib/generators/fly_admin/install/install_generator.rb', line 58 def replace_state_machine_with_state_machines gemfile_path = "#{Rails.root}/Gemfile" gemfile = File.read(gemfile_path) new_contents = gemfile.gsub(/gem "state_machine", :git => '.*'/, "gem 'state_machines-activerecord'") new_contents.gsub!(/# using git.*295/, "") File.open(gemfile_path, 'w') {|f| f.write(new_contents) } ap "Running bundle install", :color => { :string => :green } `bundle install` end |