Class: Jarbs::ProjectGenerator

Inherits:
Object
  • Object
show all
Includes:
ManifestHelpers
Defined in:
lib/jarbs/project_generator.rb

Instance Method Summary collapse

Methods included from ManifestHelpers

#install_fixture, #repo_url, #whoami, #write_package

Constructor Details

#initialize(name) ⇒ ProjectGenerator

Returns a new instance of ProjectGenerator.



4
5
6
# File 'lib/jarbs/project_generator.rb', line 4

def initialize(name)
  @name = name
end

Instance Method Details

#generateObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/jarbs/project_generator.rb', line 8

def generate
  manifest = {
      name: @name,
      version: '0.0.0',
      author: whoami,
      repository: {
          type: 'git',
          url: repo_url
      },
      license: 'UNLICENSED',
      engines: {
          node: '0.10.36'
      },
      main: 'index.js',
      scripts: {
          'build:function' => 'babel --optional runtime',
      },
      devDependencies: {
          'babel' => '< 6',
          'babel-runtime' => '< 6'
      }
  }

  FileUtils.mkdir @name

  Dir.chdir(@name)

  write_package(manifest, '.')
  install_gitignore

  NodeBuild.new(nil).npm_install('.')

  setup_crash_logging
end