rails-backbone-generator 0.0.1

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 (57) hide show
  1. data/.gitignore +19 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +22 -0
  4. data/README.md +135 -0
  5. data/Rakefile +2 -0
  6. data/lib/generators/backbone/collection_generator.rb +65 -0
  7. data/lib/generators/backbone/model_generator.rb +56 -0
  8. data/lib/generators/backbone/namespace_generator.rb +68 -0
  9. data/lib/generators/backbone/templates/app/assets/javascripts/%namespace%/collections/%collection_name%.coffee.tt +4 -0
  10. data/lib/generators/backbone/templates/app/assets/javascripts/%namespace%/collections/.gitkeep +0 -0
  11. data/lib/generators/backbone/templates/app/assets/javascripts/%namespace%/models/%model_name%.coffee.tt +15 -0
  12. data/lib/generators/backbone/templates/app/assets/javascripts/%namespace%/models/.gitkeep +0 -0
  13. data/lib/generators/backbone/templates/app/assets/javascripts/%namespace%/routes/.gitkeep +0 -0
  14. data/lib/generators/backbone/templates/app/assets/javascripts/%namespace%/templates/.gitkeep +0 -0
  15. data/lib/generators/backbone/templates/app/assets/javascripts/%namespace%/views/.gitkeep +0 -0
  16. data/lib/generators/backbone/templates/app/assets/javascripts/%namespace%.coffee.tt +16 -0
  17. data/lib/generators/backbone/templates/app/assets/javascripts/shared/.gitkeep +0 -0
  18. data/lib/generators/backbone/templates/app/assets/javascripts/shared/core_extentions/collections_extentions.coffee +30 -0
  19. data/lib/generators/backbone/templates/app/assets/javascripts/shared/helpers/.gitkeep +0 -0
  20. data/lib/generators/backbone/templates/app/assets/javascripts/shared/utils/.gitkeep +0 -0
  21. data/lib/generators/backbone/templates/spec/javascripts/%namespace%/collections/%collection_name%_spec.coffee.tt +8 -0
  22. data/lib/generators/backbone/templates/spec/javascripts/%namespace%/collections/.gitkeep +0 -0
  23. data/lib/generators/backbone/templates/spec/javascripts/%namespace%/factories/%model_name%_factory.coffee.tt +43 -0
  24. data/lib/generators/backbone/templates/spec/javascripts/%namespace%/factories/.gitkeep +0 -0
  25. data/lib/generators/backbone/templates/spec/javascripts/%namespace%/models/%model_name%_spec.coffee.tt +12 -0
  26. data/lib/generators/backbone/templates/spec/javascripts/%namespace%/models/.gitkeep +0 -0
  27. data/lib/generators/backbone/templates/spec/javascripts/%namespace%/views/.gitkeep +0 -0
  28. data/lib/generators/backbone/templates/spec/javascripts/helpers/association_helpers.coffee +3 -0
  29. data/lib/generators/backbone/templates/spec/javascripts/helpers/common_helpers.coffee +13 -0
  30. data/lib/generators/backbone/templates/spec/javascripts/helpers/fake_host.coffee +18 -0
  31. data/lib/generators/backbone/templates/spec/javascripts/helpers/headless_webkit_helper.coffee +9 -0
  32. data/lib/generators/backbone/templates/spec/javascripts/helpers/state_helpers.coffee +4 -0
  33. data/lib/generators/backbone/templates/spec/javascripts/support/jasmine.yml +81 -0
  34. data/lib/generators/backbone/templates/vendor/javascripts/.gitkeep +0 -0
  35. data/lib/generators/backbone/templates/vendor/javascripts/backbone/backbone-0.9.2.js +1431 -0
  36. data/lib/generators/backbone/templates/vendor/javascripts/backbone/backbone-bind-to-1.0.0.coffee +47 -0
  37. data/lib/generators/backbone/templates/vendor/javascripts/backbone/backbone-handlebars-1.0.0.coffee +1920 -0
  38. data/lib/generators/backbone/templates/vendor/javascripts/backbone/backbone-query-0.1.2.js +325 -0
  39. data/lib/generators/backbone/templates/vendor/javascripts/backbone/backbone-relational-0.6.0.js +1687 -0
  40. data/lib/generators/backbone/templates/vendor/javascripts/backbone/handlebars-1.0.rc.1.js +1920 -0
  41. data/lib/generators/backbone/templates/vendor/javascripts/backbone/underscore-1.3.3.js +1059 -0
  42. data/lib/generators/backbone/templates/vendor/javascripts/browser_compatibility/json2.js +487 -0
  43. data/lib/generators/backbone/templates/vendor/javascripts/browser_compatibility/localstorage-polyfill.js +92 -0
  44. data/lib/generators/backbone/templates/vendor/javascripts/jquery/jquery-1.8.0.js +9227 -0
  45. data/lib/generators/backbone/templates/vendor/javascripts/jquery/jquery-ui.min.js +17 -0
  46. data/lib/generators/backbone/templates/vendor/javascripts/jquery/jquery.easing-1.3.js +205 -0
  47. data/lib/generators/backbone/templates/vendor/javascripts/jquery/jquery_ujs.js +368 -0
  48. data/lib/generators/backbone/templates/vendor/javascripts/testing/backbone-factory.js +53 -0
  49. data/lib/generators/backbone/templates/vendor/javascripts/testing/jasmine-jquery-1.3.1.js +288 -0
  50. data/lib/generators/backbone/templates/vendor/javascripts/testing/jasmine-sinon.js +43 -0
  51. data/lib/generators/backbone/templates/vendor/javascripts/testing/mock-ajax.js +207 -0
  52. data/lib/generators/backbone/templates/vendor/javascripts/testing/sinon-1.4.2.js +4081 -0
  53. data/lib/generators/backbone_generator.rb +3 -0
  54. data/lib/rails_backbone_generator/version.rb +3 -0
  55. data/lib/rails_backbone_generator.rb +4 -0
  56. data/rails_backbone_generator.gemspec +20 -0
  57. metadata +135 -0
@@ -0,0 +1,47 @@
1
+ ###
2
+ Backbone BindTo 1.0.0
3
+
4
+ Author: Radoslav Stankov
5
+ Project site: https://github.com/RStankov/backbone-bind-to
6
+ Licensed under the MIT License.
7
+ ###
8
+
9
+ root = @
10
+ BackboneView = root.Backbone.View
11
+
12
+ class BindToView extends BackboneView
13
+ constructor: ->
14
+ super
15
+
16
+ @bindTo @model, eventName, methodName for eventName, methodName of @bindToModel if @model
17
+ @bindTo @collection, eventName, methodName for eventName, methodName of @bindToCollection if @collection
18
+
19
+ bindTo: (object, eventName, methodName) ->
20
+ unless object in [@model, @collection]
21
+ @_binded = []
22
+ @_binded.push object unless _.include @_binded, object
23
+
24
+ throw new Error "Method #{methodName} does not exists" unless @[methodName]
25
+ throw new Error "#{methodName} is not a function" unless typeof @[methodName] is 'function'
26
+
27
+ object.on eventName, @[methodName], @
28
+
29
+ remove: ->
30
+ @model.off null, null, @ if @model
31
+ @collection.off null, null, @ if @collection
32
+
33
+ _.invoke @_binded, 'off', null, null, @
34
+ delete @_binded
35
+
36
+ super
37
+
38
+ Backbone.BindTo =
39
+ VERSION: '1.0.0'
40
+
41
+ noConflict: ->
42
+ root.Backbone.View = BackboneView
43
+ BindToView
44
+
45
+ View: BindToView
46
+
47
+ root.Backbone.View = Backbone.BindTo.View