pbw 0.0.10 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +8 -8
  2. data/Rakefile +1 -10
  3. data/app/controllers/pbw/{application_controller.rb → base_controller.rb} +1 -3
  4. data/app/controllers/pbw/base_models_controller.rb +13 -19
  5. data/app/controllers/pbw/item_containers_controller.rb +36 -0
  6. data/app/controllers/pbw/passwords_controller.rb +2 -2
  7. data/app/controllers/pbw/registrations_controller.rb +5 -3
  8. data/app/controllers/pbw/sessions_controller.rb +6 -3
  9. data/app/controllers/pbw/tokens_controller.rb +4 -0
  10. data/app/models/pbw/ability.rb +3 -3
  11. data/app/models/pbw/attached_process.rb +2 -0
  12. data/app/models/pbw/capability.rb +1 -1
  13. data/app/models/pbw/constraint.rb +1 -1
  14. data/app/models/pbw/trigger.rb +1 -1
  15. data/app/models/pbw/user.rb +3 -3
  16. data/config/initializers/mongoid_accessible_attributes.rb +14 -0
  17. data/config/routes.rb +15 -6
  18. data/lib/generators/pbw/area/area_generator.rb +4 -0
  19. data/lib/generators/pbw/install/install_generator.rb +1 -1
  20. data/lib/generators/pbw/item/item_generator.rb +4 -0
  21. data/lib/generators/pbw/resource_helpers.rb +4 -0
  22. data/lib/generators/pbw/rules/command/command_generator.rb +10 -0
  23. data/lib/generators/pbw/scaffold_generator.rb +15 -12
  24. data/lib/generators/pbw/templates/index.erb +1 -0
  25. data/lib/generators/pbw/templates/model.coffee +5 -5
  26. data/lib/generators/pbw/templates/pbw.coffee +18 -9
  27. data/lib/generators/pbw/templates/router.coffee +9 -0
  28. data/lib/generators/pbw/templates/templates/edit.jst +19 -4
  29. data/lib/generators/pbw/templates/templates/home.jst +2 -1
  30. data/lib/generators/pbw/templates/templates/index.jst +21 -10
  31. data/lib/generators/pbw/templates/templates/model.jst +15 -2
  32. data/lib/generators/pbw/templates/templates/new.jst +20 -4
  33. data/lib/generators/pbw/templates/templates/show.jst +12 -3
  34. data/lib/generators/pbw/templates/user_recovery.coffee +0 -1
  35. data/lib/generators/pbw/templates/user_registration.coffee +0 -1
  36. data/lib/generators/pbw/templates/user_session.coffee +0 -1
  37. data/lib/generators/pbw/templates/views/edit_view.coffee +19 -8
  38. data/lib/generators/pbw/templates/views/index_view.coffee +10 -2
  39. data/lib/generators/pbw/templates/views/login_view.coffee +20 -8
  40. data/lib/generators/pbw/templates/views/new_view.coffee +13 -5
  41. data/lib/generators/pbw/templates/views/recovery_view.coffee +8 -3
  42. data/lib/generators/pbw/templates/views/show_view.coffee +11 -1
  43. data/lib/generators/pbw/templates/views/signup_view.coffee +19 -5
  44. data/lib/generators/pbw/token/token_generator.rb +4 -0
  45. data/lib/pbw/engine.rb +1 -0
  46. data/lib/pbw/version.rb +1 -1
  47. data/vendor/assets/javascripts/Backbone.CollectionBinder.js +281 -0
  48. data/vendor/assets/javascripts/Backbone.ModelBinder.js +576 -0
  49. metadata +6 -6
  50. data/app/controllers/pbw/item_conversions_controller.rb +0 -7
  51. data/vendor/assets/javascripts/backbone_datalink.js +0 -21
  52. data/vendor/assets/javascripts/backbone_rails_sync.js +0 -81
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pbw
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seyed P. Razavi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-25 00:00:00.000000000 Z
11
+ date: 2013-07-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -199,12 +199,11 @@ executables: []
199
199
  extensions: []
200
200
  extra_rdoc_files: []
201
201
  files:
202
- - app/controllers/pbw/application_controller.rb
203
202
  - app/controllers/pbw/areas_controller.rb
203
+ - app/controllers/pbw/base_controller.rb
204
204
  - app/controllers/pbw/base_models_controller.rb
205
205
  - app/controllers/pbw/commands_controller.rb
206
206
  - app/controllers/pbw/item_containers_controller.rb
207
- - app/controllers/pbw/item_conversions_controller.rb
208
207
  - app/controllers/pbw/items_controller.rb
209
208
  - app/controllers/pbw/passwords_controller.rb
210
209
  - app/controllers/pbw/registrations_controller.rb
@@ -229,6 +228,7 @@ files:
229
228
  - app/models/pbw/user.rb
230
229
  - app/views/layouts/pbw/application.html.erb
231
230
  - config/initializers/devise.rb
231
+ - config/initializers/mongoid_accessible_attributes.rb
232
232
  - config/locales/devise.en.yml
233
233
  - config/locales/pbw.en.yml
234
234
  - config/routes.rb
@@ -288,9 +288,9 @@ files:
288
288
  - lib/pbw/version.rb
289
289
  - lib/pbw.rb
290
290
  - lib/tasks/pbw_tasks.rake
291
+ - vendor/assets/javascripts/Backbone.CollectionBinder.js
291
292
  - vendor/assets/javascripts/backbone.js
292
- - vendor/assets/javascripts/backbone_datalink.js
293
- - vendor/assets/javascripts/backbone_rails_sync.js
293
+ - vendor/assets/javascripts/Backbone.ModelBinder.js
294
294
  - vendor/assets/javascripts/underscore.js
295
295
  - public/humans.txt
296
296
  - public/robots.txt
@@ -1,7 +0,0 @@
1
- module Pbw
2
- class ItemConversionsController < BaseModelsController
3
- def set_model_class
4
- self.model_class = ItemConversion
5
- end
6
- end
7
- end
@@ -1,21 +0,0 @@
1
- (function($) {
2
- return $.extend($.fn, {
3
- backboneLink: function(model) {
4
- return $(this).find(":input").each(function() {
5
- var el, name;
6
- el = $(this);
7
- name = el.attr("name");
8
- model.bind("change:" + name, function() {
9
- return el.val(model.get(name));
10
- });
11
- return $(this).bind("change", function() {
12
- var attrs;
13
- el = $(this);
14
- attrs = {};
15
- attrs[el.attr("name")] = el.val();
16
- return model.set(attrs);
17
- });
18
- });
19
- }
20
- });
21
- })(jQuery);
@@ -1,81 +0,0 @@
1
- (function($) {
2
- var methodMap = {
3
- 'create': 'POST',
4
- 'update': 'PUT',
5
- 'delete': 'DELETE',
6
- 'read' : 'GET'
7
- };
8
-
9
- var getUrl = function(object) {
10
- if (!(object && object.url)) return null;
11
- return _.isFunction(object.url) ? object.url() : object.url;
12
- };
13
-
14
- var urlError = function() {
15
- throw new Error("A 'url' property or function must be specified");
16
- };
17
-
18
- Backbone.sync = function(method, model, options) {
19
- var type = methodMap[method];
20
-
21
- // Default JSON-request options.
22
- var params = _.extend({
23
- type: type,
24
- dataType: 'json',
25
- beforeSend: function( xhr ) {
26
- if (!options.noCSRF) {
27
- var token = $('meta[name="csrf-token"]').attr('content');
28
- if (token) xhr.setRequestHeader('X-CSRF-Token', token);
29
- }
30
- model.trigger('sync:start');
31
- }
32
- }, options);
33
-
34
- if (!params.url) {
35
- params.url = getUrl(model) || urlError();
36
- }
37
-
38
- // Ensure that we have the appropriate request data.
39
- if (!params.data && model && (method == 'create' || method == 'update')) {
40
- params.contentType = 'application/json';
41
-
42
- var data = {}
43
-
44
- if(model.paramRoot) {
45
- data[model.paramRoot] = model.toJSON();
46
- } else {
47
- data = model.toJSON();
48
- }
49
-
50
- params.data = JSON.stringify(data)
51
- }
52
-
53
- // Don't process data on a non-GET request.
54
- if (params.type !== 'GET') {
55
- params.processData = false;
56
- }
57
-
58
- // Trigger the sync end event
59
- var complete = options.complete;
60
- params.complete = function(jqXHR, textStatus) {
61
- model.trigger('sync:end');
62
- if (complete) complete(jqXHR, textStatus);
63
- };
64
-
65
- var success = options.success;
66
- params.success = function(resp) {
67
- if (success) success(model, resp, options);
68
- model.trigger('sync', model, resp, options);
69
- };
70
-
71
- var error = options.error;
72
- params.error = function(xhr) {
73
- if (error) error(model, xhr, options);
74
- model.trigger('error', model, xhr, options);
75
- };
76
-
77
- // Make the request.
78
- return $.ajax(params);
79
- }
80
-
81
- })(jQuery);