Class: Susanoo::Generators::NgModule

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/susanoo/generators/ng_module.rb,
lib/susanoo/generators/ng_directive.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.global_generator?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/susanoo/generators/ng_module.rb', line 16

def self.global_generator?
  false
end

.source_rootObject

TODO: Add an append class option to allow user to append the directive to already defined modules



22
23
24
25
# File 'lib/susanoo/generators/ng_directive.rb', line 22

def self.source_root
  File.join(File.dirname(__FILE__),
            '../templates/generators/ng_module')
end

Instance Method Details

#dependenciesObject (private)



48
49
50
# File 'lib/susanoo/generators/ng_module.rb', line 48

def dependencies
  options[:deps].split(',')
end

#directive_nameObject (private)



56
57
58
# File 'lib/susanoo/generators/ng_directive.rb', line 56

def directive_name
  name.split('/')[-1].underscore
end

#directory_nameObject (private)



38
39
40
41
42
# File 'lib/susanoo/generators/ng_module.rb', line 38

def directory_name
  dir_name = name.split('/')[0..-2].join('/')
  return dir_name + '/' unless dir_name.empty?
  nil
end

#install_js_moduleObject



27
28
29
# File 'lib/susanoo/generators/ng_module.rb', line 27

def install_js_module
  template 'module.js.erb', "src/assets/javascripts/modules/#{directory_name}#{module_name}.js"
end

#install_viewObject



31
32
33
34
# File 'lib/susanoo/generators/ng_module.rb', line 31

def install_view
  template('index.html.erb',
           "src/views/#{directory_name}#{module_name}/index.html")
end

#module_nameObject (private)



44
45
46
# File 'lib/susanoo/generators/ng_module.rb', line 44

def module_name
  name.split('/')[-1].underscore
end

#setup_directoriesObject



20
21
22
23
24
25
# File 'lib/susanoo/generators/ng_module.rb', line 20

def setup_directories
  empty_directory "src/views/#{directory_name}#{module_name}"

  mpath = 'src/assets/javascripts/modules/'
  empty_directory "#{mpath}#{directory_name}" unless directory_name.nil?
end