marionette-generators 0.1.4 → 0.1.8

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.
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