marionette_rails_generators 0.1.2

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 (151) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +30 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +71 -0
  6. data/Rakefile +2 -0
  7. data/lib/generators/marionette/attribute.rb +54 -0
  8. data/lib/generators/marionette/controller/controller_generator.rb +57 -0
  9. data/lib/generators/marionette/controller/templates/app/controllers/controller.js.coffee +12 -0
  10. data/lib/generators/marionette/controller/templates/app/controllers/controller_with_views.js.coffee +16 -0
  11. data/lib/generators/marionette/install/install_generator.rb +91 -0
  12. data/lib/generators/marionette/install/templates/after_backbone.js.coffee +8 -0
  13. data/lib/generators/marionette/install/templates/app.js.coffee +21 -0
  14. data/lib/generators/marionette/install/templates/app/templates/index.jst.eco +118 -0
  15. data/lib/generators/marionette/install/templates/base/controllers/_base_controller.js.coffee +42 -0
  16. data/lib/generators/marionette/install/templates/base/models/_base_collection.js.coffee +3 -0
  17. data/lib/generators/marionette/install/templates/base/models/_base_model.js.coffee +40 -0
  18. data/lib/generators/marionette/install/templates/base/views/_view.js.coffee +56 -0
  19. data/lib/generators/marionette/install/templates/base/views/collectionview.js.coffee +4 -0
  20. data/lib/generators/marionette/install/templates/base/views/compositeview.js.coffee +4 -0
  21. data/lib/generators/marionette/install/templates/base/views/itemview.js.coffee +3 -0
  22. data/lib/generators/marionette/install/templates/base/views/layout.js.coffee +3 -0
  23. data/lib/generators/marionette/install/templates/before_backbone.js.coffee +2 -0
  24. data/lib/generators/marionette/install/templates/config/config.js.coffee +72 -0
  25. data/lib/generators/marionette/install/templates/config/controllers/loading/loading_controller.js.coffee +55 -0
  26. data/lib/generators/marionette/install/templates/config/controllers/loading/loading_view.js.coffee +30 -0
  27. data/lib/generators/marionette/install/templates/config/models/fetch.js.coffee +11 -0
  28. data/lib/generators/marionette/install/templates/config/models/sync.js.coffee +19 -0
  29. data/lib/generators/marionette/install/templates/index.html.erb +9 -0
  30. data/lib/generators/marionette/install/templates/routes.js.coffee +13 -0
  31. data/lib/generators/marionette/model/model_generator.rb +42 -0
  32. data/lib/generators/marionette/model/templates/app/models/entity.js.coffee +14 -0
  33. data/lib/generators/marionette/resource_helpers.rb +104 -0
  34. data/lib/generators/marionette/scaffold/scaffold_generator.rb +194 -0
  35. data/lib/generators/marionette/scaffold/templates/templates/_empty.jst.eco +1 -0
  36. data/lib/generators/marionette/scaffold/templates/templates/_form.jst.eco +6 -0
  37. data/lib/generators/marionette/scaffold/templates/templates/_post.jst.eco +6 -0
  38. data/lib/generators/marionette/scaffold/templates/templates/edit.jst.eco +6 -0
  39. data/lib/generators/marionette/scaffold/templates/templates/index.jst.eco +19 -0
  40. data/lib/generators/marionette/scaffold/templates/templates/new.jst.eco +6 -0
  41. data/lib/generators/marionette/scaffold/templates/templates/show.jst.eco +10 -0
  42. data/lib/generators/marionette/view/templates/app/templates/collection_view.jst.eco +1 -0
  43. data/lib/generators/marionette/view/templates/app/templates/composite_view.jst.eco +1 -0
  44. data/lib/generators/marionette/view/templates/app/templates/item_view.jst.eco +10 -0
  45. data/lib/generators/marionette/view/templates/app/templates/layouts/application.jst.eco +2 -0
  46. data/lib/generators/marionette/view/templates/app/views/collection_view.js.coffee +4 -0
  47. data/lib/generators/marionette/view/templates/app/views/composite_view.js.coffee +4 -0
  48. data/lib/generators/marionette/view/templates/app/views/item_view.js.coffee +7 -0
  49. data/lib/generators/marionette/view/view_generator.rb +112 -0
  50. data/lib/marionette_rails_generators.rb +8 -0
  51. data/lib/marionette_rails_generators/version.rb +3 -0
  52. data/marionette_rails_generators.gemspec +33 -0
  53. data/spec/dummy/README.rdoc +28 -0
  54. data/spec/dummy/Rakefile +6 -0
  55. data/spec/dummy/app/assets/images/.keep +0 -0
  56. data/spec/dummy/app/assets/javascripts/application.js +32 -0
  57. data/spec/dummy/app/assets/javascripts/backbone/after_backbone.js.coffee +8 -0
  58. data/spec/dummy/app/assets/javascripts/backbone/app.js.coffee +21 -0
  59. data/spec/dummy/app/assets/javascripts/backbone/app/controllers/all/root_controller.js.coffee +14 -0
  60. data/spec/dummy/app/assets/javascripts/backbone/app/models/admin/books.js.coffee +11 -0
  61. data/spec/dummy/app/assets/javascripts/backbone/app/models/all/posts.js.coffee +13 -0
  62. data/spec/dummy/app/assets/javascripts/backbone/app/models/test_subsubmodule/test_submodule/test_module/stars.js.coffee +11 -0
  63. data/spec/dummy/app/assets/javascripts/backbone/app/templates/admin/test_collection_view2.jst.eco +1 -0
  64. data/spec/dummy/app/assets/javascripts/backbone/app/templates/all/test_collection_view1.jst.eco +1 -0
  65. data/spec/dummy/app/assets/javascripts/backbone/app/templates/all/test_composite_view1.jst.eco +1 -0
  66. data/spec/dummy/app/assets/javascripts/backbone/app/templates/all/test_item_view1.jst.eco +54 -0
  67. data/spec/dummy/app/assets/javascripts/backbone/app/templates/all/test_item_view2.jst.eco +1 -0
  68. data/spec/dummy/app/assets/javascripts/backbone/app/templates/layouts/application.jst.eco +2 -0
  69. data/spec/dummy/app/assets/javascripts/backbone/app/templates/layouts/test_layout1.jst.eco +2 -0
  70. data/spec/dummy/app/assets/javascripts/backbone/app/templates/layouts/test_layout2.jst.eco +2 -0
  71. data/spec/dummy/app/assets/javascripts/backbone/app/templates/layouts/test_layout3.jst.eco +2 -0
  72. data/spec/dummy/app/assets/javascripts/backbone/app/templates/root/index.jst.eco +118 -0
  73. data/spec/dummy/app/assets/javascripts/backbone/app/templates/test_module/test_composite_view2.jst.eco +1 -0
  74. data/spec/dummy/app/assets/javascripts/backbone/app/templates/test_module/test_item_view3.jst.eco +1 -0
  75. data/spec/dummy/app/assets/javascripts/backbone/app/templates/test_subsubmodule/test_submodule/test_module/test_collection_view3.jst.eco +1 -0
  76. data/spec/dummy/app/assets/javascripts/backbone/app/templates/test_subsubmodule/test_submodule/test_module/test_composite_view3.jst.eco +1 -0
  77. data/spec/dummy/app/assets/javascripts/backbone/app/templates/test_subsubmodule/test_submodule/test_module/test_item_view4.jst.eco +1 -0
  78. data/spec/dummy/app/assets/javascripts/backbone/app/views/admin/test_collection_view2.js.coffee +4 -0
  79. data/spec/dummy/app/assets/javascripts/backbone/app/views/all/test_collection_view1.js.coffee +4 -0
  80. data/spec/dummy/app/assets/javascripts/backbone/app/views/all/test_composite_view1.js.coffee +4 -0
  81. data/spec/dummy/app/assets/javascripts/backbone/app/views/all/test_item_view1.js.coffee +7 -0
  82. data/spec/dummy/app/assets/javascripts/backbone/app/views/all/test_item_view2.js.coffee +7 -0
  83. data/spec/dummy/app/assets/javascripts/backbone/app/views/layouts/layouts.js.coffee +21 -0
  84. data/spec/dummy/app/assets/javascripts/backbone/app/views/root/index.js.coffee +7 -0
  85. data/spec/dummy/app/assets/javascripts/backbone/app/views/test_module/test_composite_view2.js.coffee +4 -0
  86. data/spec/dummy/app/assets/javascripts/backbone/app/views/test_module/test_item_view3.js.coffee +7 -0
  87. data/spec/dummy/app/assets/javascripts/backbone/app/views/test_subsubmodule/test_submodule/test_module/test_collection_view3.js.coffee +4 -0
  88. data/spec/dummy/app/assets/javascripts/backbone/app/views/test_subsubmodule/test_submodule/test_module/test_composite_view3.js.coffee +4 -0
  89. data/spec/dummy/app/assets/javascripts/backbone/app/views/test_subsubmodule/test_submodule/test_module/test_item_view4.js.coffee +7 -0
  90. data/spec/dummy/app/assets/javascripts/backbone/base/controllers/_base_controller.js.coffee +42 -0
  91. data/spec/dummy/app/assets/javascripts/backbone/base/models/_base_collection.js.coffee +3 -0
  92. data/spec/dummy/app/assets/javascripts/backbone/base/models/_base_model.js.coffee +40 -0
  93. data/spec/dummy/app/assets/javascripts/backbone/base/views/_view.js.coffee +56 -0
  94. data/spec/dummy/app/assets/javascripts/backbone/base/views/collectionview.js.coffee +4 -0
  95. data/spec/dummy/app/assets/javascripts/backbone/base/views/compositeview.js.coffee +4 -0
  96. data/spec/dummy/app/assets/javascripts/backbone/base/views/itemview.js.coffee +3 -0
  97. data/spec/dummy/app/assets/javascripts/backbone/base/views/layout.js.coffee +3 -0
  98. data/spec/dummy/app/assets/javascripts/backbone/before_backbone.js.coffee +2 -0
  99. data/spec/dummy/app/assets/javascripts/backbone/config/config.js.coffee +72 -0
  100. data/spec/dummy/app/assets/javascripts/backbone/config/controllers/loading/loading_controller.js.coffee +55 -0
  101. data/spec/dummy/app/assets/javascripts/backbone/config/controllers/loading/loading_view.js.coffee +30 -0
  102. data/spec/dummy/app/assets/javascripts/backbone/config/models/fetch.js.coffee +11 -0
  103. data/spec/dummy/app/assets/javascripts/backbone/config/models/sync.js.coffee +19 -0
  104. data/spec/dummy/app/assets/javascripts/backbone/routes.js.coffee +14 -0
  105. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  106. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  107. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  108. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  109. data/spec/dummy/app/mailers/.keep +0 -0
  110. data/spec/dummy/app/models/.keep +0 -0
  111. data/spec/dummy/app/models/concerns/.keep +0 -0
  112. data/spec/dummy/app/views/application/index.html.erb +9 -0
  113. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  114. data/spec/dummy/bin/bundle +3 -0
  115. data/spec/dummy/bin/rails +4 -0
  116. data/spec/dummy/bin/rake +4 -0
  117. data/spec/dummy/bin/setup +29 -0
  118. data/spec/dummy/config.ru +4 -0
  119. data/spec/dummy/config/application.rb +30 -0
  120. data/spec/dummy/config/boot.rb +5 -0
  121. data/spec/dummy/config/database.yml +25 -0
  122. data/spec/dummy/config/environment.rb +5 -0
  123. data/spec/dummy/config/environments/development.rb +41 -0
  124. data/spec/dummy/config/environments/production.rb +79 -0
  125. data/spec/dummy/config/environments/test.rb +42 -0
  126. data/spec/dummy/config/initializers/assets.rb +11 -0
  127. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  128. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  129. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  130. data/spec/dummy/config/initializers/inflections.rb +16 -0
  131. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  132. data/spec/dummy/config/initializers/session_store.rb +3 -0
  133. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  134. data/spec/dummy/config/locales/en.yml +23 -0
  135. data/spec/dummy/config/routes.rb +58 -0
  136. data/spec/dummy/config/secrets.yml +22 -0
  137. data/spec/dummy/db/development.sqlite3 +0 -0
  138. data/spec/dummy/lib/assets/.keep +0 -0
  139. data/spec/dummy/public/404.html +67 -0
  140. data/spec/dummy/public/422.html +67 -0
  141. data/spec/dummy/public/500.html +66 -0
  142. data/spec/dummy/public/favicon.ico +0 -0
  143. data/spec/dummy/spec/javascripts/helpers/SpecHelper.coffee +6 -0
  144. data/spec/dummy/spec/javascripts/specs/backbone_install_spec.coffee +78 -0
  145. data/spec/dummy/spec/javascripts/specs/entity_generator_spec.coffee +13 -0
  146. data/spec/dummy/spec/javascripts/specs/view_generator_spec.coffee +44 -0
  147. data/spec/dummy/spec/javascripts/support/jasmine.yml +124 -0
  148. data/spec/dummy/spec/javascripts/support/jasmine_helper.rb +49 -0
  149. data/vendor/assets/javascripts/backbone-syphon.js +469 -0
  150. data/vendor/assets/javascripts/jquery.spin.js +435 -0
  151. metadata +445 -0
@@ -0,0 +1,58 @@
1
+ Rails.application.routes.draw do
2
+ get '*path' => 'application#index'
3
+ root 'application#index'
4
+ # The priority is based upon order of creation: first created -> highest priority.
5
+ # See how all your routes lay out with "rake routes".
6
+
7
+ # You can have the root of your site routed with "root"
8
+ # root 'welcome#index'
9
+
10
+ # Example of regular route:
11
+ # get 'products/:id' => 'catalog#view'
12
+
13
+ # Example of named route that can be invoked with purchase_url(id: product.id)
14
+ # get 'products/:id/purchase' => 'catalog#purchase', as: :purchase
15
+
16
+ # Example resource route (maps HTTP verbs to controller actions automatically):
17
+ # resources :products
18
+
19
+ # Example resource route with options:
20
+ # resources :products do
21
+ # member do
22
+ # get 'short'
23
+ # post 'toggle'
24
+ # end
25
+ #
26
+ # collection do
27
+ # get 'sold'
28
+ # end
29
+ # end
30
+
31
+ # Example resource route with sub-resources:
32
+ # resources :products do
33
+ # resources :comments, :sales
34
+ # resource :seller
35
+ # end
36
+
37
+ # Example resource route with more complex sub-resources:
38
+ # resources :products do
39
+ # resources :comments
40
+ # resources :sales do
41
+ # get 'recent', on: :collection
42
+ # end
43
+ # end
44
+
45
+ # Example resource route with concerns:
46
+ # concern :toggleable do
47
+ # post 'toggle'
48
+ # end
49
+ # resources :posts, concerns: :toggleable
50
+ # resources :photos, concerns: :toggleable
51
+
52
+ # Example resource route within a namespace:
53
+ # namespace :admin do
54
+ # # Directs /admin/products/* to Admin::ProductsController
55
+ # # (app/controllers/admin/products_controller.rb)
56
+ # resources :products
57
+ # end
58
+ end
@@ -0,0 +1,22 @@
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: faee6b2f2fab62e0876c9db99ac1ef214ace6ab9b665adcf9fde66a99e28d53f0c876c7233725730962c216d29d682801326b8dcac606df43fd5d27865024ace
15
+
16
+ test:
17
+ secret_key_base: d5220320596280782851caf8cd5e38298b9d8bdb25e1e8616a0b826ec257715a5196e39556de03bf031eb01e57597fa10b33e1caddded3719c731fc29719a6b8
18
+
19
+ # Do not keep production secrets in the repository,
20
+ # instead read values from the environment.
21
+ production:
22
+ secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
File without changes
File without changes
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/404.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The page you were looking for doesn't exist.</h1>
62
+ <p>You may have mistyped the address or the page may have moved.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/422.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The change you wanted was rejected.</h1>
62
+ <p>Maybe you tried to change something you didn't have access to.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,66 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/500.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>We're sorry, but something went wrong.</h1>
62
+ </div>
63
+ <p>If you are the application owner check the logs for more information.</p>
64
+ </div>
65
+ </body>
66
+ </html>
File without changes
@@ -0,0 +1,6 @@
1
+ # beforeEach ->
2
+ # jasmine.addMatchers toBePlaying: ->
3
+ # { compare: (actual, expected) ->
4
+ # player = actual
5
+ # { pass: player.currentlyPlayingSong == expected and player.isPlaying }
6
+ # }
@@ -0,0 +1,78 @@
1
+ # assuming, that 'rails g marionette:install' is called before running spec
2
+
3
+ describe 'Backbone app after install', ->
4
+ describe 'vendor', ->
5
+ it 'Backbone responds', ->
6
+ expect(Backbone).toBeDefined()
7
+
8
+ it 'Marionette responds', ->
9
+ expect(Marionette).toBeDefined()
10
+
11
+ it 'syphon responds', ->
12
+ expect(Backbone.Syphon).toBeDefined()
13
+
14
+ it 'app responds', ->
15
+ expect(Backbone.app).toBeDefined()
16
+
17
+ it 'app router responds', ->
18
+ expect(Backbone.app.Router).toBeDefined()
19
+
20
+ it 'main layout responds', ->
21
+ expect(Backbone.app.Views.Layouts.ApplicationLayout).toBeDefined()
22
+ layout = new Backbone.app.Views.Layouts.ApplicationLayout
23
+ expect(layout).toEqual(jasmine.any(Backbone.app.Views.Layouts.ApplicationLayout))
24
+
25
+ it 'root#index view responds', ->
26
+ expect(Backbone.app.Views.Root.Index).toBeDefined()
27
+ indexView = new Backbone.app.Views.Root.Index
28
+ expect(indexView).toEqual(jasmine.any(Backbone.app.Views.Root.Index))
29
+
30
+ describe 'Base', ->
31
+ describe 'controllers', ->
32
+ it 'base controller responds', ->
33
+ expect(Backbone.app.Controllers.Application).toBeDefined()
34
+ controller = new Backbone.app.Controllers.Application
35
+ expect(controller).toEqual(jasmine.any Backbone.app.Controllers.Application)
36
+
37
+ describe 'entities', ->
38
+ it 'base entity conllection responds', ->
39
+ expect(Backbone.app.Entities.Collection).toBeDefined()
40
+ collection = new Backbone.app.Entities.Collection
41
+ expect(collection).toEqual(jasmine.any Backbone.app.Entities.Collection)
42
+
43
+ it 'base entity model responds', ->
44
+ expect(Backbone.app.Entities.Model).toBeDefined()
45
+ entity = new Backbone.app.Entities.Model
46
+ expect(entity).toEqual(jasmine.any Backbone.app.Entities.Model)
47
+
48
+ describe 'views', ->
49
+ it 'base layout responds', ->
50
+ expect(Backbone.app.Views.Layout).toBeDefined()
51
+ layout = new Backbone.app.Views.Layout
52
+ expect(layout).toEqual(jasmine.any Backbone.app.Views.Layout)
53
+
54
+ it 'base itemview responds', ->
55
+ expect(Backbone.app.Views.ItemView).toBeDefined()
56
+ itemview = new Backbone.app.Views.ItemView
57
+ expect(itemview).toEqual(jasmine.any Backbone.app.Views.ItemView)
58
+
59
+ it 'base collectionview responds', ->
60
+ expect(Backbone.app.Views.CollectionView).toBeDefined()
61
+ collectionview = new Backbone.app.Views.CollectionView
62
+ expect(collectionview).toEqual(jasmine.any Backbone.app.Views.CollectionView)
63
+
64
+ it 'base compositeview responds', ->
65
+ expect(Backbone.app.Views.CompositeView).toBeDefined()
66
+ compositeview = new Backbone.app.Views.CompositeView
67
+ expect(compositeview).toEqual(jasmine.any Backbone.app.Views.CompositeView)
68
+
69
+ describe 'Utilites', ->
70
+
71
+ it 'Loading controller responds', ->
72
+ expect(Backbone.app.Utilites.Loading.LoadingController).toBeDefined()
73
+
74
+ it 'Loading view responds', ->
75
+ expect(Backbone.app.Utilites.Loading.LoadingView).toBeDefined()
76
+ loadingview = new Backbone.app.Utilites.Loading.LoadingView
77
+ expect(loadingview).toEqual(jasmine.any Backbone.app.Utilites.Loading.LoadingView)
78
+
@@ -0,0 +1,13 @@
1
+ # assuming, that these generators are called before running spec:
2
+ #
3
+ # Entity
4
+ # 'rails g marionette:model Posts title:string description:text'
5
+ # 'rails g marionette:model admin/books'
6
+ # 'rails g marionette:model TestSubsubmodule/test_submodule/TestModule/stars'
7
+ #
8
+
9
+ describe 'Backbone model after generate', ->
10
+ it 'Entity responds', ->
11
+ expect(Backbone.app.Entities.All.Posts).toBeDefined()
12
+ expect(Backbone.app.Entities.Admin.Books).toBeDefined()
13
+ expect(Backbone.app.Entities.TestSubsubmodule.TestSubmodule.TestModule.Stars).toBeDefined()
@@ -0,0 +1,44 @@
1
+ # assuming, that these generators are called before running spec:
2
+ #
3
+ # Layout
4
+ # 'rails g marionette:view TestLayout1 Layout'
5
+ # 'rails g marionette:view TestLayout2 Layout'
6
+ # 'rails g marionette:view TestLayout3 Layout'
7
+ #
8
+ # ItemView
9
+ # 'rails g marionette:view TestItemView1 ItemView title:string description:text url:text phone:string quantity:integer float_number:float decimal_number:decimal full:boolean email:string password:string'
10
+ # 'rails g marionette:view TestItemView2 ItemView'
11
+ # 'rails g marionette:view test_module/TestItemView3 ItemView'
12
+ # 'rails g marionette:view TestSubsubmodule/test_submodule/TestModule/testItemView4 ItemView'
13
+ #
14
+ # CollectionView
15
+ # 'rails g marionette:view TestCollectionView1 CollectionView'
16
+ # 'rails g marionette:view admin/TestCollectionView2 CollectionView'
17
+ # 'rails g marionette:view TestSubsubmodule/test_submodule/TestModule/TestCollectionView3 CollectionView'
18
+ #
19
+ # CompositeView
20
+ # 'rails g marionette:view TestCompositeView1 CompositeView'
21
+ # 'rails g marionette:view test_module/TestCompositeView2 CompositeView'
22
+ # 'rails g marionette:view TestSubsubmodule/test_submodule/TestModule/testCompositeView3 CompositeView'
23
+ #
24
+
25
+ describe 'Backbone view after generate', ->
26
+ it 'Layout responds', ->
27
+ expect(Backbone.app.Views.Layouts.TestLayout1Layout).toBeDefined()
28
+ expect(Backbone.app.Views.Layouts.TestLayout2Layout).toBeDefined()
29
+ expect(Backbone.app.Views.Layouts.TestLayout3Layout).toBeDefined()
30
+ # expect(Backbone.app.Views.Layouts.Admin.TestLayout2).toBeDefined()
31
+ # expect(Backbone.app.Views.Layouts.TestSubsubmodule.TestSubmodule.TestModule.TestLayout3).toBeDefined()
32
+ it 'ItemView responds', ->
33
+ expect(Backbone.app.Views.All.TestItemView1).toBeDefined()
34
+ expect(Backbone.app.Views.All.TestItemView2).toBeDefined()
35
+ expect(Backbone.app.Views.TestModule.TestItemView3).toBeDefined()
36
+ expect(Backbone.app.Views.TestSubsubmodule.TestSubmodule.TestModule.TestItemView4).toBeDefined()
37
+ it 'CollectionView responds', ->
38
+ expect(Backbone.app.Views.All.TestCollectionView1).toBeDefined()
39
+ expect(Backbone.app.Views.Admin.TestCollectionView2).toBeDefined()
40
+ expect(Backbone.app.Views.TestSubsubmodule.TestSubmodule.TestModule.TestCollectionView3).toBeDefined()
41
+ it 'CompositeView responds', ->
42
+ expect(Backbone.app.Views.All.TestCompositeView1).toBeDefined()
43
+ expect(Backbone.app.Views.TestModule.TestCompositeView2).toBeDefined()
44
+ expect(Backbone.app.Views.TestSubsubmodule.TestSubmodule.TestModule.TestCompositeView3).toBeDefined()
@@ -0,0 +1,124 @@
1
+ # src_files
2
+ #
3
+ # Return an array of filepaths relative to src_dir to include before jasmine specs.
4
+ # Default: []
5
+ #
6
+ # EXAMPLE:
7
+ #
8
+ # src_files:
9
+ # - lib/source1.js
10
+ # - lib/source2.js
11
+ # - dist/**/*.js
12
+ #
13
+ src_files:
14
+ - assets/application.js
15
+
16
+ # stylesheets
17
+ #
18
+ # Return an array of stylesheet filepaths relative to src_dir to include before jasmine specs.
19
+ # Default: []
20
+ #
21
+ # EXAMPLE:
22
+ #
23
+ # stylesheets:
24
+ # - css/style.css
25
+ # - stylesheets/*.css
26
+ #
27
+ stylesheets:
28
+ - assets/application.css
29
+
30
+ # helpers
31
+ #
32
+ # Return an array of filepaths relative to spec_dir to include before jasmine specs.
33
+ # Default: ["helpers/**/*.js"]
34
+ #
35
+ # EXAMPLE:
36
+ #
37
+ # helpers:
38
+ # - helpers/**/*.js
39
+ #
40
+ helpers:
41
+ - 'helpers/**/*.{js,coffee}'
42
+
43
+ # spec_files
44
+ #
45
+ # Return an array of filepaths relative to spec_dir to include.
46
+ # Default: ["**/*[sS]pec.js"]
47
+ #
48
+ # EXAMPLE:
49
+ #
50
+ # spec_files:
51
+ # - **/*[sS]pec.js
52
+ #
53
+ spec_files:
54
+ - '**/*[sS]pec.{js,coffee}'
55
+
56
+ # src_dir
57
+ #
58
+ # Source directory path. Your src_files must be returned relative to this path. Will use root if left blank.
59
+ # Default: project root
60
+ #
61
+ # EXAMPLE:
62
+ #
63
+ # src_dir: public
64
+ #
65
+ src_dir:
66
+
67
+ # spec_dir
68
+ #
69
+ # Spec directory path. Your spec_files must be returned relative to this path.
70
+ # Default: spec/javascripts
71
+ #
72
+ # EXAMPLE:
73
+ #
74
+ # spec_dir: spec/javascripts
75
+ #
76
+ spec_dir:
77
+
78
+ # spec_helper
79
+ #
80
+ # Ruby file that Jasmine server will require before starting.
81
+ # Returned relative to your root path
82
+ # Default spec/javascripts/support/jasmine_helper.rb
83
+ #
84
+ # EXAMPLE:
85
+ #
86
+ # spec_helper: spec/javascripts/support/jasmine_helper.rb
87
+ #
88
+ spec_helper: spec/javascripts/support/jasmine_helper.rb
89
+
90
+ # boot_dir
91
+ #
92
+ # Boot directory path. Your boot_files must be returned relative to this path.
93
+ # Default: Built in boot file
94
+ #
95
+ # EXAMPLE:
96
+ #
97
+ # boot_dir: spec/javascripts/support/boot
98
+ #
99
+ boot_dir:
100
+
101
+ # boot_files
102
+ #
103
+ # Return an array of filepaths relative to boot_dir to include in order to boot Jasmine
104
+ # Default: Built in boot file
105
+ #
106
+ # EXAMPLE
107
+ #
108
+ # boot_files:
109
+ # - '**/*.js'
110
+ #
111
+ boot_files:
112
+
113
+ # rack_options
114
+ #
115
+ # Extra options to be passed to the rack server
116
+ # by default, Port and AccessLog are passed.
117
+ #
118
+ # This is an advanced options, and left empty by default
119
+ #
120
+ # EXAMPLE
121
+ #
122
+ # rack_options:
123
+ # server: 'thin'
124
+