Class: JBootstrap::Generators::BackendScaffold

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/jbootstrap/generators/backend.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



9
10
11
# File 'lib/jbootstrap/generators/backend.rb', line 9

def self.source_root
  File.expand_path(File.join(File.dirname(__FILE__), %w[.. templates backend]))
end

Instance Method Details

#copy_filesObject



20
21
22
23
24
25
26
27
# File 'lib/jbootstrap/generators/backend.rb', line 20

def copy_files
  template "admin/controllers/SC_NuME.php.tt", "admin/controllers/#{@scaffold_name}.php"
  template "admin/models/SC_SINGULAR_NAME.php.tt", "admin/models/#{@scaffold_singular_name}.php"
  template "admin/tables/SC_SINGULAR_NAME.php.tt", "admin/tables/#{@scaffold_singular_name}.php"
  template "admin/views/SC_SINGULAR_NAME/view.html.php.tt", "admin/views/#{@scaffold_singular_name}/view.html.php"
  template "admin/views/SC_SINGULAR_NAME/tmpl/default.php.tt", "admin/views/#{@scaffold_singular_name}/tmpl/default.php"
  template "admin/views/SC_SINGULAR_NAME/tmpl/list.php.tt", "admin/views/#{@scaffold_singular_name}/tmpl/list.php"
end

#inject_manifestObject



29
30
31
32
33
34
35
36
37
38
# File 'lib/jbootstrap/generators/backend.rb', line 29

def inject_manifest
  inject_into_file "com_#{@component_name}.xml", :after => %Q{<files folder="admin">\n} do
    "\t\t\t<filename>admin/controllers/#{@scaffold_name}.php<filename>\n" +
    "\t\t\t<filename>admin/models/#{@scaffold_singular_name}.php</filename>\n" +
    "\t\t\t<filename>admin/tables/#{@scaffold_singular_name}.php</filename>\n" +
    "\t\t\t<filename>admin/views/#{@scaffold_singular_name}/view.html.php</filename>\n" +
    "\t\t\t<filename>admin/views/#{@scaffold_singular_name}/tmpl/default.php</filename>\n" +
    "\t\t\t<filename>admin/views/#{@scaffold_singular_name}/tmpl/list.php</filename>\n"
  end
end

#set_variablesObject



13
14
15
16
17
18
# File 'lib/jbootstrap/generators/backend.rb', line 13

def set_variables
  @scaffold_name = scaffold_name.downcase
  @scaffold_singular_name = options[:singular_name] || @scaffold_name.chop
  @component_name = options[:component_name] || File.basename(Dir.pwd).sub('com_', '').downcase
  @component_singular_name = options[:component_singular_name] || @component_name.chop
end

#update_acceptable_controllersObject



40
41
42
43
44
# File 'lib/jbootstrap/generators/backend.rb', line 40

def update_acceptable_controllers
  gsub_file "admin/admin.#{@component_name}.php", 
            /\$component_acceptable_controllers = array\((.+?)\);/,
            "$component_acceptable_controllers = array(\1, #{@scaffold_name})"
end