xing-framework 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/bin/xing-rvm-setup-env +8 -0
  3. data/default_configuration/base_app/.bibliotech/config.yaml +12 -0
  4. data/default_configuration/base_app/.codeclimate.yml +36 -0
  5. data/default_configuration/base_app/.csslintrc +2 -0
  6. data/default_configuration/base_app/.eslintignore +1 -0
  7. data/default_configuration/base_app/.eslintrc +213 -0
  8. data/default_configuration/base_app/.git/tags +183 -0
  9. data/default_configuration/base_app/.pivotal-brancher/config.yaml +1 -0
  10. data/default_configuration/base_app/.rubocop.yml +1168 -0
  11. data/default_configuration/base_app/.ruby-version +1 -0
  12. data/default_configuration/base_app/API_DOC/.keep +0 -0
  13. data/default_configuration/base_app/Gemfile.lock +4 -4
  14. data/default_configuration/base_app/Rakefile +3 -1
  15. data/default_configuration/base_app/backend/.pivotal-brancher/config.yaml +2 -0
  16. data/default_configuration/base_app/backend/.ruby-gemset.example +1 -0
  17. data/default_configuration/base_app/backend/.ruby-version +1 -0
  18. data/default_configuration/base_app/backend/.ruby-version.06.05.2015-10:38:25 +1 -0
  19. data/default_configuration/base_app/backend/.ruby-version.example +1 -0
  20. data/default_configuration/base_app/backend/app/mappers/.gitkeep +0 -0
  21. data/default_configuration/base_app/backend/app/serializers/.gitkeep +0 -0
  22. data/default_configuration/base_app/backend/app/workers/.gitkeep +0 -0
  23. data/default_configuration/base_app/backend/db/migrate/.gitkeep +0 -0
  24. data/default_configuration/base_app/backend/lib/tasks/.gitkeep +0 -0
  25. data/default_configuration/base_app/backend/spec/controllers/.gitkeep +0 -0
  26. data/default_configuration/base_app/backend/spec/mappers/.gitkeep +0 -0
  27. data/default_configuration/base_app/backend/spec/routing/.gitkeep +0 -0
  28. data/default_configuration/base_app/backend/spec/serializers/.gitkeep +0 -0
  29. data/default_configuration/base_app/config/deploy.rb +24 -7
  30. data/default_configuration/base_app/frontend/.jshintrc +15 -0
  31. data/default_configuration/base_app/frontend/.pivotal-brancher/config.yaml +1 -0
  32. data/default_configuration/base_app/frontend/.ruby-version +1 -0
  33. data/default_configuration/base_app/frontend/.travis.yml +12 -0
  34. data/default_configuration/base_app/frontend/src/common/resources/.gitkeep +0 -0
  35. data/default_configuration/templates/backend/config/database.yml +22 -0
  36. data/default_configuration/templates/backend/config/database.yml.ci +9 -0
  37. data/default_configuration/templates/backend/config/database.yml.example +22 -0
  38. data/default_configuration/templates/backend/config/secrets.yml +57 -0
  39. data/default_configuration/templates/backend/config/secrets.yml.ci +21 -0
  40. data/default_configuration/templates/backend/config/secrets.yml.example +57 -0
  41. data/default_configuration/templates/backend/gitattributes +1 -0
  42. data/default_configuration/templates/backend/gitignore +46 -0
  43. data/default_configuration/templates/frontend/.gitattributes +1 -0
  44. data/default_configuration/templates/frontend/.gitignore +12 -0
  45. data/default_configuration/templates/frontend/gitattributes +1 -0
  46. data/default_configuration/templates/frontend/gitignore +12 -0
  47. data/default_configuration/templates/gitignore +12 -0
  48. data/lib/xing/cli/generators/new_project.rb +98 -20
  49. data/lib/xing/cli.rb +3 -1
  50. data/spec/cli/generators/new_project_spec.rb +38 -0
  51. data/spec/cli_spec.rb +28 -0
  52. metadata +62 -3
@@ -0,0 +1 @@
1
+ 2.2.2
File without changes
@@ -79,14 +79,14 @@ GEM
79
79
  tilt (> 0)
80
80
  valise (~> 1.1)
81
81
  mime-types (2.6.1)
82
- mini_portile (0.6.2)
82
+ mini_portile2 (2.0.0)
83
83
  minitest (5.7.0)
84
84
  multi_json (1.11.0)
85
85
  net-scp (1.2.1)
86
86
  net-ssh (>= 2.6.5)
87
87
  net-ssh (2.9.2)
88
- nokogiri (1.6.6.2)
89
- mini_portile (~> 0.6.0)
88
+ nokogiri (1.6.7.1)
89
+ mini_portile2 (~> 2.0.0.rc2)
90
90
  rack (1.6.4)
91
91
  rack-test (0.6.3)
92
92
  rack (>= 1.0)
@@ -135,7 +135,7 @@ GEM
135
135
  tzinfo (1.2.2)
136
136
  thread_safe (~> 0.1)
137
137
  valise (1.2.0)
138
- xing-root (0.0.7)
138
+ xing-root (0.0.9)
139
139
  caliph (~> 0.3)
140
140
  edict (< 1.0)
141
141
  mattock (~> 0.10)
@@ -8,8 +8,10 @@ Xing::Tasks::Build.new
8
8
  Xing::Tasks::Develop.new
9
9
  Xing::Tasks::Frontend.new
10
10
  Xing::Tasks::Spec.new
11
+ Xing::Tasks::Initialize.new
11
12
 
12
-
13
+ desc "setup database"
14
+ task :initialize => ['initialize:all']
13
15
  desc "The whole shebang"
14
16
  task :build => [:check_dependencies, 'build:all']
15
17
 
@@ -0,0 +1,2 @@
1
+ ---
2
+ project: 145667
@@ -1,7 +1,7 @@
1
1
  # config valid only for Capistrano 3.1
2
2
  lock '3.4'
3
3
 
4
- set :repo_url, 'git@git.lrdesign.com:lrd/cms2.git'
4
+ set :repo_url, 'git@github.com:example/example.git'
5
5
  set :pty, true
6
6
 
7
7
  # Default value for :format is :pretty
@@ -43,6 +43,7 @@ set :required_writeable_files, %w{
43
43
  # set :keep_releases, 5
44
44
 
45
45
  set :backend_path, proc{ File::join(release_path, "backend") }
46
+ set :frontend_path, proc{ File::join(release_path, "frontend") }
46
47
  set :backend_shared, proc{ File::join(shared_path, "backend") }
47
48
  set :webserver_group, "apache"
48
49
  set :webserver_user, "apache"
@@ -58,7 +59,7 @@ namespace :deploy do
58
59
  on roles(:app), :in => :parallel do
59
60
  within release_path do
60
61
  with :rails_env => fetch(:stage) do
61
- rake "build"
62
+ execute "bundle", "exec", "rake", "build"
62
63
  end
63
64
  end
64
65
  end
@@ -67,17 +68,33 @@ namespace :deploy do
67
68
 
68
69
  task :bundle_config do
69
70
  on roles(:app), :in => :parallel do
70
- execute "mkdir -p #{fetch(:backend_path)}/.bundle"
71
- bundle_config = StringIO.new(<<-EOC)
71
+ [fetch(:backend_path), fetch(:frontend_path), fetch(:release_path)].each do |path|
72
+
73
+ execute "mkdir -p #{path}/.bundle"
74
+ bundle_config = StringIO.new(<<-EOC)
72
75
  ---
73
76
  BUNDLE_FROZEN: '1'
74
77
  BUNDLE_PATH: "#{File::join(shared_path, "backend/vendor/bundle")}"
75
78
  BUNDLE_DISABLE_SHARED_GEMS: '1'
76
- EOC
77
- upload! bundle_config, "#{fetch(:backend_path)}/.bundle/config"
79
+ EOC
80
+ upload! bundle_config, "#{path}/.bundle/config"
81
+ end
78
82
  end
79
83
  end
80
- before :build, :bundle_config
84
+
85
+ task :bundle_root do
86
+ on roles(:app), :in => :parallel do
87
+ within release_path do
88
+ as(:root) do
89
+ execute "bundle", "install"
90
+ end
91
+ end
92
+ end
93
+ end
94
+
95
+ before :bundle_root, :bundle_config
96
+
97
+ before :build, :bundle_root
81
98
 
82
99
  task :perms do
83
100
  on roles(:app), :in => :parallel do
@@ -0,0 +1,15 @@
1
+ {
2
+ "debug": false,
3
+ "bitwise": true,
4
+ "forin": true,
5
+ "curly": true,
6
+ "immed": true,
7
+ "latedef": false,
8
+ "newcap": true,
9
+ "noarg": true,
10
+ "sub": true,
11
+ "eqnull": true,
12
+ "esnext": true,
13
+ "browser": true,
14
+ "-W100": true
15
+ }
@@ -0,0 +1,12 @@
1
+ language: node_js
2
+ node_js:
3
+ - "0.10"
4
+
5
+ before_script:
6
+ - export DISPLAY=:99.0
7
+ - sh -e /etc/init.d/xvfb start
8
+ - npm install --quiet -g grunt-cli karma bower
9
+ - bower install
10
+
11
+ script: grunt
12
+
@@ -0,0 +1,22 @@
1
+ development: &development
2
+ adapter: postgresql
3
+ encoding: unicode
4
+ database: {{app_name}}_dev
5
+ # username: postgres
6
+ pool: 5
7
+ host: 127.0.0.1
8
+
9
+ # Warning: The database defined as "test" will be erased and
10
+ # re-generated from your development database when you run "rake".
11
+ # Do not set this db to the same as development or production.
12
+ test:
13
+ <<: *development
14
+ database: {{app_name}}_test
15
+
16
+ production:
17
+ adapter: postgresql
18
+ encoding: unicode
19
+ database: {{app_name}}_dev
20
+ # username: postgres
21
+ pool: 5
22
+ host: 127.0.0.1
@@ -0,0 +1,9 @@
1
+ test: &test
2
+ adapter: postgresql
3
+ encoding: unicode
4
+ database: {{app_name}}_test
5
+ pool: 5
6
+ host: 127.0.0.1
7
+
8
+ development:
9
+ <<: *test
@@ -0,0 +1,22 @@
1
+ development: &development
2
+ adapter: postgresql
3
+ encoding: unicode
4
+ database: {{app_name}}_dev
5
+ # username: postgres
6
+ pool: 5
7
+ host: 127.0.0.1
8
+
9
+ # Warning: The database defined as "test" will be erased and
10
+ # re-generated from your development database when you run "rake".
11
+ # Do not set this db to the same as development or production.
12
+ test:
13
+ <<: *development
14
+ database: {{app_name}}_test
15
+
16
+ production:
17
+ adapter: postgresql
18
+ encoding: unicode
19
+ database: {{app_name}}_dev
20
+ # username: postgres
21
+ pool: 5
22
+ host: 127.0.0.1
@@ -0,0 +1,57 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Your secret key is used for verifying the integrity of signed cookies.
4
+ # If you change this key, all old signed cookies will become invalid!
5
+
6
+ # Make sure the secret is at least 30 characters and all random,
7
+ # no regular words or you'll be exposed to dictionary attacks.
8
+ # You can use `rake secret` to generate a secure secret key.
9
+
10
+ # Make sure the secrets in this file are kept private
11
+ # if you're sharing your code publicly.
12
+
13
+ development:
14
+ secret_key_base: {{dev_secret_key_base}}
15
+ smtp:
16
+ address: smtp.CHANGEME.com
17
+ port: 587
18
+ domain: {{app_name}}.com
19
+ user_name: admin@{{app_name}}.com
20
+ password: xxxxxxxx
21
+ email:
22
+ from: admin@{{app_name}}.com
23
+ reply_to: admin@{{app_name}}.com
24
+ # Destination for emails in dev environment
25
+ # this should be left blank in production
26
+ test: test@{{app_name}}.com
27
+ from_domain: 'localhost:3000'
28
+ snapshot_server:
29
+ url: https://www.notaserver.com
30
+ user: user
31
+ password: password
32
+ sitemap_base_url: http://localhost:3000/
33
+ asset_host: http://localhost:3000/
34
+
35
+ test:
36
+ secret_key_base: {{test_secret_key_base}}
37
+ smtp:
38
+ address: smtp.{{app_name}}.com
39
+ port: 587
40
+ domain: {{app_name}}.com
41
+ user_name: admin@{{app_name}}.com
42
+ password: xxxxxxxx
43
+ email:
44
+ from: admin@{{app_name}}.com
45
+ reply_to: admin@{{app_name}}.com
46
+ from_domain: 'example.com'
47
+ snapshot_server:
48
+ url: https://www.notaserver.com
49
+ user: user
50
+ password: password
51
+ sitemap_base_url: http://localhost:3000/
52
+ asset_host: http://localhost:3000/
53
+
54
+ # Do not keep production secrets in the repository,
55
+ # instead read values from the environment.
56
+ production:
57
+ secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
@@ -0,0 +1,21 @@
1
+ test:
2
+ secret_key_base: {{test_secret_key_base}}
3
+ smtp:
4
+ address: smtp.CHANGEME.com
5
+ port: 587
6
+ domain: {{app_name}}.com
7
+ user_name: admin@{{app_name}}.com
8
+ password: xxxxxxxx
9
+ email:
10
+ from: admin@{{app_name}}.com
11
+ reply_to: admin@{{app_name}}.com
12
+ from_domain: 'example.com'
13
+ snapshot_server:
14
+ url: https://www.notaserver.com
15
+ user: user
16
+ password: password
17
+ sitemap_base_url: http://localhost:3000/
18
+ asset_host: http://localhost:3000/
19
+
20
+ development:
21
+ <<: *test
@@ -0,0 +1,57 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Your secret key is used for verifying the integrity of signed cookies.
4
+ # If you change this key, all old signed cookies will become invalid!
5
+
6
+ # Make sure the secret is at least 30 characters and all random,
7
+ # no regular words or you'll be exposed to dictionary attacks.
8
+ # You can use `rake secret` to generate a secure secret key.
9
+
10
+ # Make sure the secrets in this file are kept private
11
+ # if you're sharing your code publicly.
12
+
13
+ development:
14
+ secret_key_base: {{dev_secret_key_base}}
15
+ smtp:
16
+ address: smtp.CHANGEME.com
17
+ port: 587
18
+ domain: {{app_name}}.com
19
+ user_name: admin@{{app_name}}.com
20
+ password: xxxxxxxx
21
+ email:
22
+ from: admin@{{app_name}}.com
23
+ reply_to: admin@{{app_name}}.com
24
+ # Destination for emails in dev environment
25
+ # this should be left blank in production
26
+ test: test@{{app_name}}.com
27
+ from_domain: 'localhost:3000'
28
+ snapshot_server:
29
+ url: https://www.notaserver.com
30
+ user: user
31
+ password: password
32
+ sitemap_base_url: http://localhost:3000/
33
+ asset_host: http://localhost:3000/
34
+
35
+ test:
36
+ secret_key_base: {{test_secret_key_base}}
37
+ smtp:
38
+ address: smtp.{{app_name}}.com
39
+ port: 587
40
+ domain: {{app_name}}.com
41
+ user_name: admin@{{app_name}}.com
42
+ password: xxxxxxxx
43
+ email:
44
+ from: admin@{{app_name}}.com
45
+ reply_to: admin@{{app_name}}.com
46
+ from_domain: 'example.com'
47
+ snapshot_server:
48
+ url: https://www.notaserver.com
49
+ user: user
50
+ password: password
51
+ sitemap_base_url: http://localhost:3000/
52
+ asset_host: http://localhost:3000/
53
+
54
+ # Do not keep production secrets in the repository,
55
+ # instead read values from the environment.
56
+ production:
57
+ secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
@@ -0,0 +1 @@
1
+ Gemfile.lock -merge
@@ -0,0 +1,46 @@
1
+ log/*
2
+ screenlog.*
3
+ tmp/
4
+ .dotest/
5
+ config/initializers/secret_token.rb
6
+ db/schema.sql
7
+ db/schema.rb
8
+ db/*.sqlite3*
9
+ db_backups/*
10
+ database.yml
11
+ public/stylesheets/*.css
12
+ !public/stylesheets/reset.css
13
+ public/javascripts/all.js
14
+ public/assets/source_maps/*
15
+ public/system
16
+ uuid.state
17
+ nbproject*
18
+ index/*
19
+ identifier
20
+ secret
21
+ last_run
22
+ .project
23
+ .#*
24
+ \#*
25
+ *~
26
+ vendor/**/**/doc/*
27
+ vendor/plugins/footnotes/*
28
+ rsa_key*
29
+ *.pem
30
+ *.key
31
+ system/datas/*
32
+ sqldumps/*
33
+ capybara*.html
34
+ .rspec
35
+ .simplecov
36
+ public/sitemap.xml
37
+ *.sublime-project
38
+ *.sublime-workspace
39
+ coverage/
40
+ errors.err
41
+ .cadre/
42
+ spec/support/cadre.rb
43
+ secrets.yml
44
+ public/frontend_snapshots
45
+ spec/fixtures/sitemap_scratch
46
+ dump.rdb
@@ -0,0 +1 @@
1
+ vendor/**/* diff=rawtext
@@ -0,0 +1,12 @@
1
+ .bundle/
2
+ *.sw*
3
+ *~
4
+ build/
5
+ bin/
6
+ node_modules/
7
+ .vimrc
8
+ vendor/
9
+ src/common/environment.js
10
+ .ruby-gemset
11
+ **/*.map
12
+ .sass-cache/
@@ -0,0 +1 @@
1
+ vendor/**/* diff=rawtext
@@ -0,0 +1,12 @@
1
+ .bundle/
2
+ *.sw*
3
+ *~
4
+ build/
5
+ bin/
6
+ node_modules/
7
+ .vimrc
8
+ vendor/
9
+ src/common/environment.js
10
+ .ruby-gemset
11
+ **/*.map
12
+ .sass-cache/
@@ -0,0 +1,12 @@
1
+ *.sw?
2
+ !*.swf
3
+ *.orig
4
+ .DS_Store
5
+ .ruby-gemset
6
+ tmp/
7
+ .vim-role
8
+ .sass-cache/
9
+ .bundle/
10
+ .envrc
11
+ **/last_run
12
+ **/*.log
@@ -1,12 +1,15 @@
1
1
  require 'caliph'
2
2
  require 'bundler'
3
+ require 'architecture/dsl'
3
4
 
4
5
  module Xing::CLI::Generators
5
6
  class NewProject
6
7
  include Caliph::CommandLineDSL
8
+ include Architecture
7
9
 
8
10
  attr_accessor :target_name
9
11
  attr_accessor :ruby_version
12
+ attr_accessor :with_gemset
10
13
 
11
14
  def shell
12
15
  @shell ||= Caliph.new
@@ -27,40 +30,115 @@ module Xing::CLI::Generators
27
30
  write_ruby_version "frontend"
28
31
  write_ruby_version "backend"
29
32
 
30
- with_temporary_database_yml do
31
- Bundler.with_clean_env do
32
- shell.run(cmd("cd", target_name) &
33
- cmd("bundle", "install")).must_succeed!
33
+ if with_gemset
34
+ write_ruby_gemset
35
+ write_ruby_gemset "frontend"
36
+ write_ruby_gemset "backend"
37
+ end
38
+
39
+ write_database_yml
40
+ write_secrets_yml
34
41
 
35
- shell.run(cmd("cd", File.join(target_name, "frontend")) &
36
- cmd("bundle", "install") &
37
- cmd("npm", "install")).must_succeed!
42
+ write_git_control_files
38
43
 
39
- shell.run(cmd("cd", File.join(target_name, "backend")) &
40
- cmd("bundle", "install") &
41
- cmd("rake", "xing:install:migrations")).must_succeed!
44
+ Bundler.with_clean_env do
45
+ if with_gemset
46
+ bundler = shell.run(setup_env_command &
47
+ cmd("cd", target_name) &
48
+ cmd("gem", "install", "bundler"))
42
49
  end
50
+
51
+ shell.run(
52
+ setup_env_command &
53
+ cmd("cd", target_name) &
54
+ cmd("bundle", "install")).must_succeed!
55
+
56
+ shell.run(
57
+ setup_env_command &
58
+ cmd("cd", File.join(target_name, "frontend")) &
59
+ cmd("bundle", "install") &
60
+ cmd("npm", "install")).must_succeed!
61
+
62
+ shell.run(
63
+ setup_env_command &
64
+ cmd("cd", File.join(target_name, "backend")) &
65
+ cmd("bundle", "install") &
66
+ cmd("rake", "xing:install:migrations")).must_succeed!
43
67
  end
68
+
44
69
  end
45
70
 
46
- def with_temporary_database_yml
71
+ def write_database_yml
47
72
  dbyml_path = File.join(target_name, "backend", "config", "database.yml")
48
- if File.exist?(dbyml_path)
49
- yield
50
- else
51
- begin
52
- File.open(dbyml_path, "w"){}
53
- yield
54
- ensure
55
- File.unlink(dbyml_path)
73
+ if !File.exist?(dbyml_path)
74
+ with_templates do |arc|
75
+ arc.copy file: "backend/config/database.yml", context: { app_name: target_name }
76
+ arc.copy file: "backend/config/database.yml.example", context: { app_name: target_name }
77
+ arc.copy file: "backend/config/database.yml.ci", context: { app_name: target_name }
78
+ end
79
+ end
80
+ end
81
+
82
+ def write_git_control_files
83
+ with_templates do |arc|
84
+ arc.copy file: "gitignore", as: ".gitignore"
85
+ arc.copy file: "backend/gitignore", as:"backend/.gitignore"
86
+ arc.copy file: "frontend/gitignore", as: "frontend/.gitignore"
87
+ arc.copy file: "gitattributes", as: ".gitattributes"
88
+ arc.copy file: "backend/gitattributes", as: "backend/.gitattributes"
89
+ arc.copy file: "frontend/gitattributes", as: "frontend/.gitattributes"
90
+ end
91
+ end
92
+
93
+ def write_secrets_yml
94
+ secyml_path = File.join(target_name, "backend", "config", "secrets.yml")
95
+ if !File.exist?(secyml_path)
96
+ context = {
97
+ dev_secret_key_base: SecureRandom.hex(64),
98
+ test_secret_key_base: SecureRandom.hex(64),
99
+ app_name: target_name
100
+ }
101
+ with_templates do |arc|
102
+ arc.copy file: "backend/config/secrets.yml", context: context
103
+ arc.copy file: "backend/config/secrets.yml.example", context: context
104
+ arc.copy file: "backend/config/secrets.yml.ci", context: context
56
105
  end
57
106
  end
58
107
  end
59
108
 
109
+ def with_templates
110
+ architecture source: File.expand_path('../../../../../default_configuration/templates/', __FILE__) , destination: target_name do |arc|
111
+ yield(arc)
112
+ end
113
+ end
114
+
115
+ def write_file_to(name, subdir)
116
+ File.open(File.join(*([target_name] + subdir + [name])), "w") do |rv|
117
+ yield(rv)
118
+ end
119
+ end
120
+
60
121
  def write_ruby_version(*subdir)
61
- File.open(File.join(*([target_name] + subdir + [".ruby-version"])), "w") do |rv|
122
+ write_file_to(".ruby-version", subdir) do |rv|
62
123
  rv.write(ruby_version)
63
124
  end
64
125
  end
126
+
127
+ def write_ruby_gemset(*subdir)
128
+ write_file_to(".ruby-gemset", subdir) do |rv|
129
+ rv.write(target_name)
130
+ end
131
+ end
132
+
133
+ def setup_env_command
134
+ if ENV['MY_RUBY_HOME'] && ENV['MY_RUBY_HOME'].include?('rvm')
135
+ args = [".", File.expand_path('../../../../../bin/xing-rvm-setup-env', __FILE__), ruby_version]
136
+ args[3] = target_name if with_gemset
137
+ cmd(*args)
138
+ else
139
+ # put other rb environemnt scripts here
140
+ cmd(":")
141
+ end
142
+ end
65
143
  end
66
144
  end
data/lib/xing/cli.rb CHANGED
@@ -37,17 +37,19 @@ Global Options:
37
37
  opts = Trollop::options do
38
38
  opt :cms, "Include content management architecture. (coming soon)"
39
39
  opt :ruby_version, "Set the ruby version used for the new project (e.g. 2.2)", :type => :string
40
+ opt :with_gemset, "Define a gemset for use with RVM"
40
41
  stop_on ['name']
41
42
  end
42
43
  name = ARGV.shift
43
44
  Trollop::die "Please specify a project name with 'xing new <name>'" unless name
44
45
  Trollop::die "The CMS option is not yet implemented." if opts[:cms]
45
46
  if opts[:ruby_version].nil?
46
- opts[:ruby_version] = RbConfig::CONFIG.values_at("MAJOR","MINOR").join(".")
47
+ opts[:ruby_version] = RUBY_VERSION
47
48
  end
48
49
  generator = Xing::CLI::Generators::NewProject.new
49
50
  generator.target_name = name
50
51
  generator.ruby_version = opts[:ruby_version]
52
+ generator.with_gemset = opts[:with_gemset]
51
53
  generator.generate
52
54
  else
53
55
  Trollop::die "Unknown command. Supported commands are [" + SUPPORTED_VERBS.join(" ") + "]"