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
migrate_footers() click to toggle source

Migrate existing footers

# File lib/generators/fly_admin/install/install_generator.rb, line 52
def migrate_footers
  if options['with-migrating-footer']
    rake 'fly_admin:migrate:footers'
  end
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