Class: Recipes::AngularAdmin

Inherits:
Rails::AppBuilder
  • Object
show all
Defined in:
lib/potassium/recipes/angular_admin.rb

Instance Method Summary collapse

Instance Method Details

#add_angular_adminObject



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/potassium/recipes/angular_admin.rb', line 33

def add_angular_admin
  copy_file '../assets/active_admin/init_activeadmin_angular.rb',
    'config/initializers/init_activeadmin_angular.rb'

  create_file 'app/assets/javascripts/admin_app.js', "angular.module('ActiveAdmin', []);"

  copy_file '../assets/active_admin/active_admin.js.coffee',
    'app/assets/javascripts/active_admin.js.coffee',
    force: true

  empty_directory 'app/assets/javascripts/admin'
  empty_directory 'app/assets/javascripts/admin/controllers'
  empty_directory 'app/assets/javascripts/admin/services'
  empty_directory 'app/assets/javascripts/admin/directives'

  create_file 'app/assets/javascripts/admin/controllers/.keep'
  create_file 'app/assets/javascripts/admin/services/.keep'
  create_file 'app/assets/javascripts/admin/directives/.keep'

  inside('.') do
    run('bin/yarn add angular --save')
  end
end

#askObject



2
3
4
5
6
7
8
9
# File 'lib/potassium/recipes/angular_admin.rb', line 2

def ask
  if selected?(:admin_mode)
    angular_admin = answer(:"angular-admin") do
      Ask.confirm "Do you want Angular support for ActiveAdmin?"
    end
    set(:angular_admin, angular_admin)
  end
end

#createObject



11
12
13
14
15
16
17
18
# File 'lib/potassium/recipes/angular_admin.rb', line 11

def create
  recipe = self
  if selected?(:angular_admin)
    after(:admin_install) do
      recipe.add_angular_admin
    end
  end
end

#installObject



20
21
22
23
24
25
26
27
# File 'lib/potassium/recipes/angular_admin.rb', line 20

def install
  active_admin = load_recipe(:admin)
  if active_admin.installed?
    add_angular_admin
  else
    info "ActiveAdmin can't be installed because Active Admin isn't installed."
  end
end

#installed?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/potassium/recipes/angular_admin.rb', line 29

def installed?
  dir_exist?("app/assets/javascripts/admin")
end