xing-framework 0.2.6 → 0.2.7.pre.beta1

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 (31) hide show
  1. checksums.yaml +4 -4
  2. data/default_configuration/base_app/CONTRIBUTING.md +1 -0
  3. data/default_configuration/base_app/Gemfile +0 -1
  4. data/default_configuration/base_app/Gemfile.lock +3 -92
  5. data/default_configuration/base_app/README.md +5 -4
  6. data/default_configuration/base_app/backend/Gemfile.lock +44 -40
  7. data/default_configuration/base_app/backend/config/application.rb +2 -1
  8. data/default_configuration/base_app/backend/config/secrets.yml.ci +1 -0
  9. data/default_configuration/base_app/backend/config/secrets.yml.example +6 -4
  10. data/default_configuration/base_app/frontend/npm-shrinkwrap.json +1760 -1600
  11. data/default_configuration/base_app/frontend/package.json +24 -21
  12. data/default_configuration/templates/CHANGELOG.md +1 -0
  13. data/default_configuration/templates/CODE_OF_CONDUCT.md +50 -0
  14. data/default_configuration/templates/CONTRIBUTING.md +1 -0
  15. data/default_configuration/templates/README.md +22 -0
  16. data/default_configuration/templates/backend/config/secrets.yml +3 -0
  17. data/default_configuration/templates/backend/config/secrets.yml.ci +2 -0
  18. data/default_configuration/templates/backend/config/secrets.yml.example +4 -0
  19. data/lib/xing/cli/generators/new_project/user_input.rb +33 -0
  20. data/lib/xing/cli/generators/new_project.rb +53 -40
  21. data/lib/xing/cli/templaters/code_of_conduct_templater.rb +7 -0
  22. data/lib/xing/cli/templaters/control_files_templater.rb +12 -0
  23. data/lib/xing/cli/templaters/database_yml_templater.rb +9 -0
  24. data/lib/xing/cli/templaters/doc_files_templater.rb +9 -0
  25. data/lib/xing/cli/templaters/secrets_yml_templater.rb +9 -0
  26. data/lib/xing/cli/templaters.rb +28 -0
  27. data/spec/cli/generators/new_project/user_input_spec.rb +41 -0
  28. data/spec/cli/generators/new_project_spec.rb +46 -3
  29. data/spec/cli/templaters_spec.rb +125 -0
  30. metadata +31 -6
  31. data/default_configuration/templates/dot.gitignore +0 -50
@@ -0,0 +1,125 @@
1
+ require 'xing'
2
+ require 'xing/cli/templaters'
3
+
4
+ describe "xing templaters" do
5
+ let :mock_arc do
6
+ double("mock_arc")
7
+ end
8
+
9
+ let :context do
10
+ { app_name: "cheese"}
11
+ end
12
+
13
+ describe Xing::CLI::Templaters::Templater
14
+ describe "guard is off" do
15
+ let :templater do
16
+ Xing::CLI::Templaters::Templater.new("cheese", context, false)
17
+ end
18
+
19
+ it "should do templating" do
20
+ expect(templater).to receive(:architecture).with(source: File.expand_path("../../../default_configuration/templates/", __FILE__), destination: "cheese")
21
+ templater.template
22
+ end
23
+ end
24
+
25
+ describe "guard is on" do
26
+ let :templater do
27
+ Xing::CLI::Templaters::Templater.new("cheese", context, true)
28
+ end
29
+
30
+ it "should not do templating" do
31
+ expect(templater).to_not receive(:architecture)
32
+ end
33
+ end
34
+
35
+ describe Xing::CLI::Templaters::SecretsYmlTemplater do
36
+
37
+ let :secrets_yml_templater do
38
+ Xing::CLI::Templaters::SecretsYmlTemplater.new("cheese", context, false)
39
+ end
40
+
41
+ before do
42
+ allow(secrets_yml_templater).to receive(:architecture).and_yield(mock_arc)
43
+ end
44
+
45
+ it "should copy all secrets yml templates" do
46
+ expect(mock_arc).to receive(:copy).with(file: "backend/config/secrets.yml", context: context)
47
+ expect(mock_arc).to receive(:copy).with(file: "backend/config/secrets.yml.ci", context: context)
48
+ expect(mock_arc).to receive(:copy).with(file: "backend/config/secrets.yml.example", context: context)
49
+ secrets_yml_templater.template
50
+ end
51
+ end
52
+
53
+ describe Xing::CLI::Templaters::DatabaseYmlTemplater do
54
+
55
+ let :database_yml_templater do
56
+ Xing::CLI::Templaters::DatabaseYmlTemplater.new("cheese", context, false)
57
+ end
58
+
59
+ before do
60
+ allow(database_yml_templater).to receive(:architecture).and_yield(mock_arc)
61
+ end
62
+
63
+ it "should copy all database yml templates" do
64
+ expect(mock_arc).to receive(:copy).with(file: "backend/config/database.yml", context: context)
65
+ expect(mock_arc).to receive(:copy).with(file: "backend/config/database.yml.ci", context: context)
66
+ expect(mock_arc).to receive(:copy).with(file: "backend/config/database.yml.example", context: context)
67
+ database_yml_templater.template
68
+ end
69
+ end
70
+
71
+ describe Xing::CLI::Templaters::DocFilesTemplater do
72
+
73
+ let :doc_files_templater do
74
+ Xing::CLI::Templaters::DocFilesTemplater.new("cheese", context, false)
75
+ end
76
+
77
+ before do
78
+ allow(doc_files_templater).to receive(:architecture).and_yield(mock_arc)
79
+ end
80
+
81
+ it "should copy all doc files templates" do
82
+ expect(mock_arc).to receive(:copy).with(file: "README.md", context: context)
83
+ expect(mock_arc).to receive(:copy).with(file: "CONTRIBUTING.md")
84
+ expect(mock_arc).to receive(:copy).with(file: "CHANGELOG.md")
85
+ doc_files_templater.template
86
+ end
87
+ end
88
+
89
+ describe Xing::CLI::Templaters::CodeOfConductTemplater do
90
+
91
+ let :code_of_conduct_templater do
92
+ Xing::CLI::Templaters::CodeOfConductTemplater.new("cheese", context, false)
93
+ end
94
+
95
+ before do
96
+ allow(code_of_conduct_templater).to receive(:architecture).and_yield(mock_arc)
97
+ end
98
+
99
+ it "should copy all doc files templates" do
100
+ expect(mock_arc).to receive(:copy).with(file: "CODE_OF_CONDUCT.md", context: context)
101
+ code_of_conduct_templater.template
102
+ end
103
+ end
104
+
105
+ describe Xing::CLI::Templaters::ControlFilesTemplater do
106
+
107
+ let :control_files_templater do
108
+ Xing::CLI::Templaters::ControlFilesTemplater.new("cheese", context, false)
109
+ end
110
+
111
+ before do
112
+ allow(control_files_templater).to receive(:architecture).and_yield(mock_arc)
113
+ end
114
+
115
+ it "should copy all git control files templates" do
116
+ expect(mock_arc).to receive(:copy).with(file: "gitignore", as: ".gitignore")
117
+ expect(mock_arc).to receive(:copy).with(file: "backend/gitignore", as: "backend/.gitignore")
118
+ expect(mock_arc).to receive(:copy).with(file: "frontend/gitignore", as: "frontend/.gitignore")
119
+ expect(mock_arc).to receive(:copy).with(file: "gitattributes", as: ".gitattributes")
120
+ expect(mock_arc).to receive(:copy).with(file: "backend/gitattributes", as: "backend/.gitattributes")
121
+ expect(mock_arc).to receive(:copy).with(file: "frontend/gitattributes", as: "frontend/.gitattributes")
122
+ control_files_templater.template
123
+ end
124
+ end
125
+ end
metadata CHANGED
@@ -1,16 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xing-framework
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7.pre.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Dorn
8
8
  - Judson Lester
9
- - Hannah Howard
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2016-01-23 00:00:00.000000000 Z
12
+ date: 2016-01-26 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: trollop
@@ -68,13 +67,26 @@ dependencies:
68
67
  - - "~>"
69
68
  - !ruby/object:Gem::Version
70
69
  version: '6.1'
70
+ - !ruby/object:Gem::Dependency
71
+ name: highline
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '1.7'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '1.7'
71
84
  description: |2
72
85
  The Xing Framework is a hypermedia-enabled Rails + AngularJS web and mobile development platform.
73
86
  This gem contains the generator for initializing a new Xing project.
74
87
  email:
75
88
  - evan@lrdesign.com
76
89
  - judson@lrdesign.com
77
- - hannah@lrdesign.com
78
90
  executables:
79
91
  - xing
80
92
  extensions: []
@@ -92,6 +104,7 @@ files:
92
104
  - default_configuration/base_app/.ruby-version
93
105
  - default_configuration/base_app/API_DOC/.keep
94
106
  - default_configuration/base_app/CHANGELOG.md
107
+ - default_configuration/base_app/CONTRIBUTING.md
95
108
  - default_configuration/base_app/Capfile
96
109
  - default_configuration/base_app/Gemfile
97
110
  - default_configuration/base_app/Gemfile.lock
@@ -277,6 +290,10 @@ files:
277
290
  - default_configuration/base_app/static-app.ru
278
291
  - default_configuration/base_app/tmux-windows
279
292
  - default_configuration/base_app/tmux-windows.txt
293
+ - default_configuration/templates/CHANGELOG.md
294
+ - default_configuration/templates/CODE_OF_CONDUCT.md
295
+ - default_configuration/templates/CONTRIBUTING.md
296
+ - default_configuration/templates/README.md
280
297
  - default_configuration/templates/backend/config/database.yml
281
298
  - default_configuration/templates/backend/config/database.yml.ci
282
299
  - default_configuration/templates/backend/config/database.yml.example
@@ -285,7 +302,6 @@ files:
285
302
  - default_configuration/templates/backend/config/secrets.yml.example
286
303
  - default_configuration/templates/backend/gitattributes
287
304
  - default_configuration/templates/backend/gitignore
288
- - default_configuration/templates/dot.gitignore
289
305
  - default_configuration/templates/frontend/.gitattributes
290
306
  - default_configuration/templates/frontend/.gitignore
291
307
  - default_configuration/templates/frontend/gitattributes
@@ -296,7 +312,16 @@ files:
296
312
  - lib/xing/cli.rb
297
313
  - lib/xing/cli/generators.rb
298
314
  - lib/xing/cli/generators/new_project.rb
315
+ - lib/xing/cli/generators/new_project/user_input.rb
316
+ - lib/xing/cli/templaters.rb
317
+ - lib/xing/cli/templaters/code_of_conduct_templater.rb
318
+ - lib/xing/cli/templaters/control_files_templater.rb
319
+ - lib/xing/cli/templaters/database_yml_templater.rb
320
+ - lib/xing/cli/templaters/doc_files_templater.rb
321
+ - lib/xing/cli/templaters/secrets_yml_templater.rb
322
+ - spec/cli/generators/new_project/user_input_spec.rb
299
323
  - spec/cli/generators/new_project_spec.rb
324
+ - spec/cli/templaters_spec.rb
300
325
  - spec/cli_spec.rb
301
326
  - spec/null_spec.rb
302
327
  - spec_help/gem_test_suite.rb
@@ -311,7 +336,7 @@ rdoc_options:
311
336
  - "--main"
312
337
  - doc/README
313
338
  - "--title"
314
- - xing-framework-0.2.6 Documentation
339
+ - xing-framework-0.2.7.pre.beta1 Documentation
315
340
  require_paths:
316
341
  - lib/
317
342
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -1,50 +0,0 @@
1
- # Xing build products
2
- server/public/assets
3
- server/public/fonts
4
- server/public/index.html
5
- server/vendor
6
- frontend/tmp/
7
- tmp/
8
- .sass-cache/
9
- dump.rdb
10
-
11
- # Sourcemaps
12
- **/*.map
13
-
14
- # Frontend
15
- frontend/src/common/environment.js
16
- frontend/vendor/
17
- frontend/bin/
18
- frontend/build/
19
-
20
- # Security: Ignore database and secrets config
21
- backend/config/database.yml
22
- backend/config/secrets.yml
23
-
24
- # Ruby: Bundler artifacts
25
- .bundle/
26
-
27
- # Ruby: artifacts produced by gems
28
- .cadre/
29
- spec/support/c
30
-
31
- # Rails: Ignore bundler config.
32
- backend/.bundle
33
-
34
- # Rails: Ignore all logfiles and tempfiles.
35
- backend/log/*
36
- backend/log/.keep
37
- backend/tmp
38
-
39
- # RCS Artifacts
40
- *.orig
41
-
42
- # Operating system and editor artifacts
43
- .DS_Store
44
- *.sw?
45
- *~
46
- .idea/
47
- .vim-role
48
- .vimrc
49
- .conductor/*
50
- .conductor/**/*