marionette-generators 0.1.4 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/generators/marionette/app/USAGE +17 -2
- data/lib/generators/marionette/app/app_generator.rb +15 -24
- data/lib/generators/marionette/app/templates/app/gitkeep +0 -0
- data/lib/generators/marionette/app/templates/app/marionette_app.js +15 -0
- data/lib/marionette/generators/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e1312c8d2f29190890218f53325e3cc69533c53f
|
4
|
+
data.tar.gz: 4f2e363b16689a9893020f00e0dea3c9827fa7e3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e470692f614cc332af9cc7f9d3963964cc6a94dba58f14fa2121ddce302b5dfdf3140e5b20bf165a3cb6fb2d169092b96a46514d0f2c259005555bb93d04ec6
|
7
|
+
data.tar.gz: 4899673ad84c737131fcbb0def80678d0f8ce16ac635f2dcaa0fc298a8d761db41c12b746bf3c807835f433b703cad1ca8995b848144ec70c061bb0a54dd2b47
|
@@ -2,7 +2,22 @@ Description:
|
|
2
2
|
Creates a folder and files structure for a full Marionette app inside a Rails app
|
3
3
|
|
4
4
|
Example:
|
5
|
-
rails generate
|
5
|
+
rails generate marionette:app Name_of_app
|
6
6
|
|
7
7
|
This will create:
|
8
|
-
|
8
|
+
app/assets/javascripts/name_of_app_app.js
|
9
|
+
app/assets/javascripts/backbone/name_of_app.js.coffee
|
10
|
+
app/assets/templates/layouts/layout.jst.skim
|
11
|
+
app/assets/javascripts/backbone/utils/logger.js.coffee
|
12
|
+
app/assets/javascripts/backbone/utils/defaults.js.coffee
|
13
|
+
app/assets/javascripts/backbone/config.js.coffee
|
14
|
+
app/assets/javascripts/backbone/views/layouts/layout.js.coffee
|
15
|
+
app/assets/javascripts/backbone/routers/app_router.js.coffee
|
16
|
+
app/views/layouts/application.html.slim
|
17
|
+
|
18
|
+
This will also install 3 gems : bower-rails, slim-rails and skim
|
19
|
+
|
20
|
+
This will create a index.html.slim in app/views/[your_home_controller]
|
21
|
+
with a starter for the marionette app
|
22
|
+
|
23
|
+
In the end, you should see in your browser the message "Hello there, I'm the [Name_of_app] Marionette app !"
|
@@ -8,6 +8,7 @@ module Marionette
|
|
8
8
|
def create_directory_structure
|
9
9
|
%w(models collections routers utils views).each do |folder|
|
10
10
|
empty_directory "app/assets/javascripts/backbone/#{folder}"
|
11
|
+
template "app/gitkeep", "app/assets/javascripts/backbone/#{folder}/.gitkeep"
|
11
12
|
end
|
12
13
|
empty_directory "app/assets/templates"
|
13
14
|
end
|
@@ -24,6 +25,7 @@ module Marionette
|
|
24
25
|
def create_files
|
25
26
|
gem 'skim'
|
26
27
|
bundle_install
|
28
|
+
template "app/marionette_app.js", "app/assets/javascripts/#{file_name}_app.js"
|
27
29
|
backbone = "app/assets/javascripts/backbone"
|
28
30
|
template "app/app.js.coffee", "#{backbone}/#{file_name}.js.coffee"
|
29
31
|
template "app/layout.jst.skim", "app/assets/templates/layouts/layout.jst.skim"
|
@@ -40,19 +42,27 @@ module Marionette
|
|
40
42
|
bundle_install
|
41
43
|
if File.exist? "config/routes.rb"
|
42
44
|
routes = File.read "config/routes.rb"
|
43
|
-
|
44
|
-
|
45
|
+
captures = routes.match(/(\s*#\s*|)root( to:|) ['"]{1}([a-z_]+)\#index['"]{1}/).try :captures
|
46
|
+
if captures.first.empty?
|
47
|
+
home = captures.last
|
48
|
+
else
|
49
|
+
home = "visitors"
|
50
|
+
append_to_file "config/routes.rb", " root to: '#{home}#index'", after: "routes.draw do\n"
|
51
|
+
end
|
45
52
|
else
|
46
|
-
home = "
|
53
|
+
home = "visitors"
|
54
|
+
end
|
55
|
+
unless File.exist? "app/controllers/#{home}"
|
56
|
+
generate "controller", "#{home.capitalize} index --skip-routes --skip-javascripts --skip-stylesheets"
|
47
57
|
end
|
48
58
|
File.delete "app/views/#{home}/index.html.erb" if File.exist? "app/views/#{home}/index.html.erb"
|
49
59
|
File.delete "app/views/#{home}/index.html.haml" if File.exist? "app/views/#{home}/index.html.haml"
|
60
|
+
File.delete "app/views/#{home}/index.html.slim" if File.exist? "app/views/#{home}/index.html.slim"
|
50
61
|
template "app/index.html.slim", "app/views/#{home}/index.html.slim"
|
51
62
|
end
|
52
63
|
|
53
64
|
def include_js
|
54
|
-
gsub_file "app/assets/javascripts/application.js", "//= require_tree .",
|
55
|
-
inject_into_file "app/assets/javascripts/application.js", "//= require backbone/#{name.downcase}\n", after: "require marionette/lib/core/backbone.marionette\n"
|
65
|
+
gsub_file "app/assets/javascripts/application.js", "//= require_tree .", "//= require #{name.downcase}_app"
|
56
66
|
end
|
57
67
|
|
58
68
|
private
|
@@ -67,25 +77,6 @@ module Marionette
|
|
67
77
|
asset 'console.style'
|
68
78
|
asset 'backbone'
|
69
79
|
asset 'marionette'
|
70
|
-
RUBY
|
71
|
-
end
|
72
|
-
|
73
|
-
def app_js_data
|
74
|
-
<<RUBY
|
75
|
-
//= require console.style/console.style
|
76
|
-
//= require skim
|
77
|
-
//= require underscore/underscore
|
78
|
-
//= require backbone/backbone
|
79
|
-
//= require backbone.wreqr/lib/backbone.wreqr
|
80
|
-
//= require backbone.babysitter/lib/backbone.babysitter
|
81
|
-
//= require marionette/lib/core/backbone.marionette
|
82
|
-
//= require_tree ../templates
|
83
|
-
//= require ./backbone/config
|
84
|
-
//= require_tree ./backbone/utils
|
85
|
-
//= require_tree ./backbone/models
|
86
|
-
//= require_tree ./backbone/collections
|
87
|
-
//= require_tree ./backbone/views
|
88
|
-
//= require_tree ./backbone/routers
|
89
80
|
RUBY
|
90
81
|
end
|
91
82
|
|
File without changes
|
@@ -0,0 +1,15 @@
|
|
1
|
+
//= require console.style/console.style
|
2
|
+
//= require skim
|
3
|
+
//= require underscore/underscore
|
4
|
+
//= require backbone/backbone
|
5
|
+
//= require backbone.wreqr/lib/backbone.wreqr
|
6
|
+
//= require backbone.babysitter/lib/backbone.babysitter
|
7
|
+
//= require marionette/lib/core/backbone.marionette
|
8
|
+
//= require backbone/<%= name.downcase %>
|
9
|
+
//= require_tree ../templates
|
10
|
+
//= require ./backbone/config
|
11
|
+
//= require_tree ./backbone/utils
|
12
|
+
//= require_tree ./backbone/models
|
13
|
+
//= require_tree ./backbone/collections
|
14
|
+
//= require_tree ./backbone/views
|
15
|
+
//= require_tree ./backbone/routers
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marionette-generators
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Franck Delage
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -104,10 +104,12 @@ files:
|
|
104
104
|
- lib/generators/marionette/app/templates/app/application.html.slim
|
105
105
|
- lib/generators/marionette/app/templates/app/config.js.coffee
|
106
106
|
- lib/generators/marionette/app/templates/app/defaults.js.coffee
|
107
|
+
- lib/generators/marionette/app/templates/app/gitkeep
|
107
108
|
- lib/generators/marionette/app/templates/app/index.html.slim
|
108
109
|
- lib/generators/marionette/app/templates/app/layout.js.coffee
|
109
110
|
- lib/generators/marionette/app/templates/app/layout.jst.skim
|
110
111
|
- lib/generators/marionette/app/templates/app/logger.js.coffee
|
112
|
+
- lib/generators/marionette/app/templates/app/marionette_app.js
|
111
113
|
- lib/marionette/generators.rb
|
112
114
|
- lib/marionette/generators/version.rb
|
113
115
|
- marionette-generators.gemspec
|