class Rg::InstallGenerator

Public Instance Methods

create_csrf_token_coffee() click to toggle source
# File lib/generators/rg/install_generator.rb, line 45
def create_csrf_token_coffee
  return unless options[:"csrf-token"]
  say "Creating app/csrf_token.coffee file"
  template 'app/csrf_token.coffee.erb', APP_PATH + '/app/csrf_token.coffee'
end
create_directories() click to toggle source
# File lib/generators/rg/install_generator.rb, line 20
def create_directories
  say 'Creating new angular directory structure'
  %w[
    app
    services
    resources
    controllers
    filters
    directives
  ].each{ |directory|
    create_file APP_PATH + '/' + directory + '/.keep'
  }
end
create_main_coffee() click to toggle source
# File lib/generators/rg/install_generator.rb, line 34
def create_main_coffee
  say "Creating app/main.coffee file"
  template 'app/main.coffee.erb', APP_PATH + '/app/main.coffee'
end
create_settings_coffee() click to toggle source
# File lib/generators/rg/install_generator.rb, line 39
def create_settings_coffee
  say "Creating app/settings.coffee file"
  @backend_url = options[:'backend-url']
  template 'app/settings.coffee.erb', APP_PATH + '/app/settings.coffee'
end
inject_into_sprockets() click to toggle source
# File lib/generators/rg/install_generator.rb, line 51
def inject_into_sprockets
  options[:manifests].each{ |manifest_file|
    manifest_path = JS_PATH + '/' + manifest_file
    if File.exists?(manifest_path)
      manifest_data = File.read(manifest_path)
      options[:libraries].reverse.each{ |library|
        unless manifest_data =~ /require #{library}( |$)/
          prepend_to_manifest manifest_path, library
        end
      }
    else
      create_manifest manifest_path, options[:libraries]
    end
  }
end

Private Instance Methods

create_manifest(manifest_path, libraries) click to toggle source
# File lib/generators/rg/install_generator.rb, line 83
def create_manifest(manifest_path, libraries)
  say "Creating new manifest at #{manifest_path}"
  create_file manifest_path, manifest_content(
    libraries: libraries,
    ext: File.extname(manifest_path),
  )
end
manifest_content(config = {}) click to toggle source
# File lib/generators/rg/install_generator.rb, line 69
def manifest_content(config = {})
  Array(config[:libraries]).map{ |library|
    "#{ config[:ext] == '.coffee' ? '#' : '//' }= require #{library}\n"
  }.join
end
prepend_to_manifest(manifest_path, libraries) click to toggle source
# File lib/generators/rg/install_generator.rb, line 75
def prepend_to_manifest(manifest_path, libraries)
  say "Injecting #{libraries} into manifest at #{manifest_path}"
  prepend_to_file manifest_path, "\n" + manifest_content(
    libraries: libraries,
    ext: File.extname(manifest_path),
  )
end