class FlyAdmin::InstallGenerator
Constants
- FLY_ADMIN_PATH
Public Instance Methods
add_fly_admin_route()
click to toggle source
# 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()
click to toggle source
Create Admin user
# File lib/generators/fly_admin/install/install_generator.rb, line 30 def bootstrap_admin if options['with-admin-user'] if admin_not_exists? rake 'fly_admin:bootstrap:admin' end end end
bootstrap_countries()
click to toggle source
Create records on models: Country, Paysite, which needed for displaying footer
# 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()
click to toggle source
# 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()
click to toggle source
# 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()
click to toggle source
# 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()
click to toggle source
Delete old files in main app
# File lib/generators/fly_admin/install/install_generator.rb, line 15 def delete_page_cache remove_file('lib/page_cache.rb') end
replace_connection_api()
click to toggle source
# 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()
click to toggle source
# 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
Private Instance Methods
admin_not_exists?()
click to toggle source
# File lib/generators/fly_admin/install/install_generator.rb, line 94 def admin_not_exists? User.find_by_login('admin').nil? end
countries_not_bootstraped?()
click to toggle source
# File lib/generators/fly_admin/install/install_generator.rb, line 86 def countries_not_bootstraped? FlyAdmin::Country.first.nil? end
engine_not_mounted?()
click to toggle source
# File lib/generators/fly_admin/install/install_generator.rb, line 77 def engine_not_mounted? File.open("#{Rails.root}/config/routes.rb").each_line do |line| if (line.include? "mount FlyAdmin::Engine") return false end end return true end
paysites_not_bootstraped?()
click to toggle source
# File lib/generators/fly_admin/install/install_generator.rb, line 90 def paysites_not_bootstraped? FlyAdmin::Paysite.first.nil? end