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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 904891640c18b886da216cfb28635c1fd175323b
4
- data.tar.gz: e8b78b7b94c7b14e44bb0135698860f8d85be59d
3
+ metadata.gz: e1312c8d2f29190890218f53325e3cc69533c53f
4
+ data.tar.gz: 4f2e363b16689a9893020f00e0dea3c9827fa7e3
5
5
  SHA512:
6
- metadata.gz: 591ef18041e55c900e81140c2935cab45a82ada299b71b3fb0ef242b6b278a8f2f6873c6ff142f8bc71697137ab8e653024e15ac84f038a705758554c510308e
7
- data.tar.gz: 3e4c7deab5328627f66eb0180d4b187759849f51a2ecf08ba8ef2e6339ce898bf2933c8bb6e2f85347e547f2ea23ee1030e0478b07e6f0cd5aba8ecf2cc7e3f1
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 marionette_app Name_of_app
5
+ rails generate marionette:app Name_of_app
6
6
 
7
7
  This will create:
8
- what/will/it/create
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
- home = routes.match(/root to: ['"]{1}([a-z_]+)\#index['"]{1}/).try :captures
44
- home = home.first
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 = "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 .", app_js_data
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
 
@@ -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
@@ -1,5 +1,5 @@
1
1
  module Marionette
2
2
  module Generators
3
- VERSION = "0.1.4"
3
+ VERSION = "0.1.8"
4
4
  end
5
5
  end
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
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-04 00:00:00.000000000 Z
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