bpm 1.0.0.beta.5 → 1.0.0.beta.6

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 (55) hide show
  1. data/CHANGELOG.md +5 -0
  2. data/TODO.md +18 -17
  3. data/lib/bpm/pipeline/generated_asset.rb +64 -41
  4. data/lib/bpm/pipeline/plugin_context.rb +24 -0
  5. data/lib/bpm/pipeline/transport_processor.rb +3 -3
  6. data/lib/bpm/pipeline.rb +2 -1
  7. data/lib/bpm/project.rb +7 -1
  8. data/lib/bpm/version.rb +1 -1
  9. data/lib/bpm.rb +1 -0
  10. data/spec/fixtures/projects/minitest/minitest.json +4 -2
  11. data/spec/fixtures/projects/minitest/packages/uglyduck/minifier/main.js +3 -2
  12. data/spec/fixtures/projects/minitrans/lib/main.js +3 -0
  13. data/spec/fixtures/projects/minitrans/minitrans.json +25 -0
  14. data/spec/fixtures/projects/minitrans/packages/transport/lib/main.js +1 -0
  15. data/spec/fixtures/projects/minitrans/packages/transport/package.json +21 -0
  16. data/spec/fixtures/projects/minitrans/packages/transport/transports/wrapper.js +6 -0
  17. data/spec/fixtures/projects/minitrans/packages/uglyduck/lib/main.js +3 -0
  18. data/spec/fixtures/projects/minitrans/packages/uglyduck/minifier/main.js +6 -0
  19. data/spec/fixtures/projects/minitrans/packages/uglyduck/package.json +21 -0
  20. data/spec/fixtures/projects/transporter/packages/transport/transports/wrapper.js +2 -2
  21. data/spec/plugins/minifier_spec.rb +2 -2
  22. data/spec/plugins/transport_spec.rb +38 -0
  23. metadata +41 -56
  24. data/backbone/LICENSE +0 -22
  25. data/backbone/README +0 -25
  26. data/backbone/Rakefile +0 -42
  27. data/backbone/backbone-0.5.1.bpkg +0 -0
  28. data/backbone/examples/backbone-localstorage.js +0 -84
  29. data/backbone/examples/todos/destroy.png +0 -0
  30. data/backbone/examples/todos/index.html +0 -87
  31. data/backbone/examples/todos/todos.css +0 -311
  32. data/backbone/examples/todos/todos.js +0 -258
  33. data/backbone/index.html +0 -2606
  34. data/backbone/index.js +0 -1
  35. data/backbone/lib/backbone.js +0 -1149
  36. data/backbone/lib/index.js +0 -1
  37. data/backbone/package.json +0 -14
  38. data/backbone/test/collection.js +0 -345
  39. data/backbone/test/events.js +0 -70
  40. data/backbone/test/model.coffee +0 -43
  41. data/backbone/test/model.js +0 -424
  42. data/backbone/test/noconflict.js +0 -12
  43. data/backbone/test/router.js +0 -116
  44. data/backbone/test/speed.js +0 -45
  45. data/backbone/test/sync.js +0 -133
  46. data/backbone/test/test-zepto.html +0 -30
  47. data/backbone/test/test.html +0 -31
  48. data/backbone/test/vendor/jquery-1.5.js +0 -8176
  49. data/backbone/test/vendor/jslitmus.js +0 -649
  50. data/backbone/test/vendor/json2.js +0 -481
  51. data/backbone/test/vendor/qunit.css +0 -196
  52. data/backbone/test/vendor/qunit.js +0 -1364
  53. data/backbone/test/vendor/underscore-1.1.6.js +0 -807
  54. data/backbone/test/vendor/zepto-0.6.js +0 -692
  55. data/backbone/test/view.js +0 -137
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bpm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta.5
4
+ version: 1.0.0.beta.6
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-07-19 00:00:00.000000000Z
13
+ date: 2011-07-22 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: libgems
17
- requirement: &70162532056340 !ruby/object:Gem::Requirement
17
+ requirement: &70197152775220 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 0.0.5
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70162532056340
25
+ version_requirements: *70197152775220
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: gemcutter
28
- requirement: &70162532055840 !ruby/object:Gem::Requirement
28
+ requirement: &70197152774720 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 0.6.1
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70162532055840
36
+ version_requirements: *70197152774720
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: highline
39
- requirement: &70162532055380 !ruby/object:Gem::Requirement
39
+ requirement: &70197152774260 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 1.6.1
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *70162532055380
47
+ version_requirements: *70197152774260
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: json_pure
50
- requirement: &70162532054920 !ruby/object:Gem::Requirement
50
+ requirement: &70197152773800 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 1.4.6
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *70162532054920
58
+ version_requirements: *70197152773800
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: thor
61
- requirement: &70162532054460 !ruby/object:Gem::Requirement
61
+ requirement: &70197152773340 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 0.14.3
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *70162532054460
69
+ version_requirements: *70197152773340
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: therubyracer
72
- requirement: &70162532054000 !ruby/object:Gem::Requirement
72
+ requirement: &70197152772880 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 0.9.2
78
78
  type: :runtime
79
79
  prerelease: false
80
- version_requirements: *70162532054000
80
+ version_requirements: *70197152772880
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: hike
83
- requirement: &70162532053540 !ruby/object:Gem::Requirement
83
+ requirement: &70197152772420 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ~>
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: '1.1'
89
89
  type: :runtime
90
90
  prerelease: false
91
- version_requirements: *70162532053540
91
+ version_requirements: *70197152772420
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: rack
94
- requirement: &70162532053080 !ruby/object:Gem::Requirement
94
+ requirement: &70197152771960 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ~>
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: '1.0'
100
100
  type: :runtime
101
101
  prerelease: false
102
- version_requirements: *70162532053080
102
+ version_requirements: *70197152771960
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: tilt
105
- requirement: &70162532052580 !ruby/object:Gem::Requirement
105
+ requirement: &70197152771460 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ~>
@@ -113,10 +113,10 @@ dependencies:
113
113
  version: 1.3.0
114
114
  type: :runtime
115
115
  prerelease: false
116
- version_requirements: *70162532052580
116
+ version_requirements: *70197152771460
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: rspec
119
- requirement: &70162532051940 !ruby/object:Gem::Requirement
119
+ requirement: &70197152770820 !ruby/object:Gem::Requirement
120
120
  none: false
121
121
  requirements:
122
122
  - - ! '>='
@@ -124,10 +124,10 @@ dependencies:
124
124
  version: '0'
125
125
  type: :development
126
126
  prerelease: false
127
- version_requirements: *70162532051940
127
+ version_requirements: *70197152770820
128
128
  - !ruby/object:Gem::Dependency
129
129
  name: rack
130
- requirement: &70162532051400 !ruby/object:Gem::Requirement
130
+ requirement: &70197152770280 !ruby/object:Gem::Requirement
131
131
  none: false
132
132
  requirements:
133
133
  - - ~>
@@ -135,7 +135,7 @@ dependencies:
135
135
  version: 1.2.1
136
136
  type: :development
137
137
  prerelease: false
138
- version_requirements: *70162532051400
138
+ version_requirements: *70197152770280
139
139
  description: Browser Package Manager
140
140
  email:
141
141
  - charles@sproutcore.com
@@ -310,38 +310,6 @@ files:
310
310
  - Gemfile
311
311
  - README.md
312
312
  - TODO.md
313
- - backbone/LICENSE
314
- - backbone/README
315
- - backbone/Rakefile
316
- - backbone/backbone-0.5.1.bpkg
317
- - backbone/examples/backbone-localstorage.js
318
- - backbone/examples/todos/destroy.png
319
- - backbone/examples/todos/index.html
320
- - backbone/examples/todos/todos.css
321
- - backbone/examples/todos/todos.js
322
- - backbone/index.html
323
- - backbone/index.js
324
- - backbone/lib/backbone.js
325
- - backbone/lib/index.js
326
- - backbone/package.json
327
- - backbone/test/collection.js
328
- - backbone/test/events.js
329
- - backbone/test/model.coffee
330
- - backbone/test/model.js
331
- - backbone/test/noconflict.js
332
- - backbone/test/router.js
333
- - backbone/test/speed.js
334
- - backbone/test/sync.js
335
- - backbone/test/test-zepto.html
336
- - backbone/test/test.html
337
- - backbone/test/vendor/jquery-1.5.js
338
- - backbone/test/vendor/jslitmus.js
339
- - backbone/test/vendor/json2.js
340
- - backbone/test/vendor/qunit.css
341
- - backbone/test/vendor/qunit.js
342
- - backbone/test/vendor/underscore-1.1.6.js
343
- - backbone/test/vendor/zepto-0.6.js
344
- - backbone/test/view.js
345
313
  - bin/bpm
346
314
  - bpm.gemspec
347
315
  - lib/bpm.rb
@@ -365,6 +333,7 @@ files:
365
333
  - lib/bpm/pipeline/directive_processor.rb
366
334
  - lib/bpm/pipeline/generated_asset.rb
367
335
  - lib/bpm/pipeline/plugin_asset.rb
336
+ - lib/bpm/pipeline/plugin_context.rb
368
337
  - lib/bpm/pipeline/source_url_processor.rb
369
338
  - lib/bpm/pipeline/transport_processor.rb
370
339
  - lib/bpm/project.rb
@@ -677,6 +646,14 @@ files:
677
646
  - spec/fixtures/projects/minitest/packages/uglyduck/lib/main.js
678
647
  - spec/fixtures/projects/minitest/packages/uglyduck/minifier/main.js
679
648
  - spec/fixtures/projects/minitest/packages/uglyduck/package.json
649
+ - spec/fixtures/projects/minitrans/lib/main.js
650
+ - spec/fixtures/projects/minitrans/minitrans.json
651
+ - spec/fixtures/projects/minitrans/packages/transport/lib/main.js
652
+ - spec/fixtures/projects/minitrans/packages/transport/package.json
653
+ - spec/fixtures/projects/minitrans/packages/transport/transports/wrapper.js
654
+ - spec/fixtures/projects/minitrans/packages/uglyduck/lib/main.js
655
+ - spec/fixtures/projects/minitrans/packages/uglyduck/minifier/main.js
656
+ - spec/fixtures/projects/minitrans/packages/uglyduck/package.json
680
657
  - spec/fixtures/projects/needs_rake/needs_rake.json
681
658
  - spec/fixtures/projects/simple_hello/assets/bpm_libs.js
682
659
  - spec/fixtures/projects/simple_hello/lib/main.js
@@ -1018,6 +995,14 @@ test_files:
1018
995
  - spec/fixtures/projects/minitest/packages/uglyduck/lib/main.js
1019
996
  - spec/fixtures/projects/minitest/packages/uglyduck/minifier/main.js
1020
997
  - spec/fixtures/projects/minitest/packages/uglyduck/package.json
998
+ - spec/fixtures/projects/minitrans/lib/main.js
999
+ - spec/fixtures/projects/minitrans/minitrans.json
1000
+ - spec/fixtures/projects/minitrans/packages/transport/lib/main.js
1001
+ - spec/fixtures/projects/minitrans/packages/transport/package.json
1002
+ - spec/fixtures/projects/minitrans/packages/transport/transports/wrapper.js
1003
+ - spec/fixtures/projects/minitrans/packages/uglyduck/lib/main.js
1004
+ - spec/fixtures/projects/minitrans/packages/uglyduck/minifier/main.js
1005
+ - spec/fixtures/projects/minitrans/packages/uglyduck/package.json
1021
1006
  - spec/fixtures/projects/needs_rake/needs_rake.json
1022
1007
  - spec/fixtures/projects/simple_hello/assets/bpm_libs.js
1023
1008
  - spec/fixtures/projects/simple_hello/lib/main.js
data/backbone/LICENSE DELETED
@@ -1,22 +0,0 @@
1
- Copyright (c) 2010 Jeremy Ashkenas, DocumentCloud
2
-
3
- Permission is hereby granted, free of charge, to any person
4
- obtaining a copy of this software and associated documentation
5
- files (the "Software"), to deal in the Software without
6
- restriction, including without limitation the rights to use,
7
- copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- copies of the Software, and to permit persons to whom the
9
- Software is furnished to do so, subject to the following
10
- conditions:
11
-
12
- The above copyright notice and this permission notice shall be
13
- included in all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
- OTHER DEALINGS IN THE SOFTWARE.
data/backbone/README DELETED
@@ -1,25 +0,0 @@
1
- ____ _ _ _
2
- | _ \ | | | | (_)
3
- | |_) | __ _ ___| | __| |__ ___ _ __ ___ _ ___
4
- | _ < / _` |/ __| |/ /| '_ \ / _ \| '_ \ / _ \ | / __|
5
- | |_) | (_| | (__| < | |_) | (_) | | | | __/_| \__ \
6
- |____/ \__,_|\___|_|\_\|_.__/ \___/|_| |_|\___(_) |___/
7
- _/ |
8
- |__/
9
- (_'___________________________________________________'_)
10
- (_.———————————————————————————————————————————————————._)
11
-
12
-
13
- Backbone supplies structure to JavaScript-heavy applications by providing models key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing application over a RESTful JSON interface.
14
-
15
- For Docs, License, Tests, and pre-packed downloads, see:
16
- http://documentcloud.github.com/backbone/
17
-
18
- To suggest a feature, report a bug, or general discussion:
19
- http://github.com/documentcloud/backbone/issues/
20
-
21
- All contributors are listed here:
22
- http://github.com/documentcloud/backbone/contributors
23
-
24
- Special thanks to Robert Kieffer for the original philosophy behind Backbone.
25
- http://github.com/broofa
data/backbone/Rakefile DELETED
@@ -1,42 +0,0 @@
1
- require 'rubygems'
2
-
3
- HEADER = /((^\s*\/\/.*\n)+)/
4
-
5
- desc "rebuild the backbone-min.js files for distribution"
6
- task :build do
7
- begin
8
- require 'closure-compiler'
9
- rescue LoadError
10
- puts "closure-compiler not found.\nInstall it by running 'gem install closure-compiler"
11
- exit
12
- end
13
- source = File.read 'backbone.js'
14
- header = source.match(HEADER)
15
- File.open('backbone-min.js', 'w+') do |file|
16
- file.write header[1].squeeze(' ') + Closure::Compiler.new.compress(source)
17
- end
18
- end
19
-
20
- desc "build the docco documentation"
21
- task :doc do
22
- check 'docco', 'docco', 'https://github.com/jashkenas/docco'
23
- system 'docco backbone.js && docco examples/todos/todos.js examples/backbone-localstorage.js'
24
- end
25
-
26
- desc "run JavaScriptLint on the source"
27
- task :lint do
28
- system "jsl -nofilelisting -nologo -conf docs/jsl.conf -process backbone.js"
29
- end
30
-
31
- desc "test the CoffeeScript integration"
32
- task :test do
33
- check 'coffee', 'CoffeeScript', 'https://github.com/jashkenas/coffee-script.git'
34
- system "coffee test/*.coffee"
35
- end
36
-
37
- # Check for the existence of an executable.
38
- def check(exec, name, url)
39
- return unless `which #{exec}`.empty?
40
- puts "#{name} not found.\nInstall it from #{url}"
41
- exit
42
- end
Binary file
@@ -1,84 +0,0 @@
1
- // A simple module to replace `Backbone.sync` with *localStorage*-based
2
- // persistence. Models are given GUIDS, and saved into a JSON object. Simple
3
- // as that.
4
-
5
- // Generate four random hex digits.
6
- function S4() {
7
- return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
8
- };
9
-
10
- // Generate a pseudo-GUID by concatenating random hexadecimal.
11
- function guid() {
12
- return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
13
- };
14
-
15
- // Our Store is represented by a single JS object in *localStorage*. Create it
16
- // with a meaningful name, like the name you'd give a table.
17
- var Store = function(name) {
18
- this.name = name;
19
- var store = localStorage.getItem(this.name);
20
- this.data = (store && JSON.parse(store)) || {};
21
- };
22
-
23
- _.extend(Store.prototype, {
24
-
25
- // Save the current state of the **Store** to *localStorage*.
26
- save: function() {
27
- localStorage.setItem(this.name, JSON.stringify(this.data));
28
- },
29
-
30
- // Add a model, giving it a (hopefully)-unique GUID, if it doesn't already
31
- // have an id of it's own.
32
- create: function(model) {
33
- if (!model.id) model.id = model.attributes.id = guid();
34
- this.data[model.id] = model;
35
- this.save();
36
- return model;
37
- },
38
-
39
- // Update a model by replacing its copy in `this.data`.
40
- update: function(model) {
41
- this.data[model.id] = model;
42
- this.save();
43
- return model;
44
- },
45
-
46
- // Retrieve a model from `this.data` by id.
47
- find: function(model) {
48
- return this.data[model.id];
49
- },
50
-
51
- // Return the array of all models currently in storage.
52
- findAll: function() {
53
- return _.values(this.data);
54
- },
55
-
56
- // Delete a model from `this.data`, returning it.
57
- destroy: function(model) {
58
- delete this.data[model.id];
59
- this.save();
60
- return model;
61
- }
62
-
63
- });
64
-
65
- // Override `Backbone.sync` to use delegate to the model or collection's
66
- // *localStorage* property, which should be an instance of `Store`.
67
- Backbone.sync = function(method, model, options) {
68
-
69
- var resp;
70
- var store = model.localStorage || model.collection.localStorage;
71
-
72
- switch (method) {
73
- case "read": resp = model.id ? store.find(model) : store.findAll(); break;
74
- case "create": resp = store.create(model); break;
75
- case "update": resp = store.update(model); break;
76
- case "delete": resp = store.destroy(model); break;
77
- }
78
-
79
- if (resp) {
80
- options.success(resp);
81
- } else {
82
- options.error("Record not found");
83
- }
84
- };
Binary file
@@ -1,87 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
-
4
- <head>
5
- <title>Backbone Demo: Todos</title>
6
- <link href="todos.css" media="all" rel="stylesheet" type="text/css"/>
7
- <script src="../../test/vendor/json2.js"></script>
8
- <script src="../../test/vendor/jquery-1.5.js"></script>
9
- <script src="../../test/vendor/underscore-1.1.6.js"></script>
10
- <script src="../../backbone.js"></script>
11
- <script src="../backbone-localstorage.js"></script>
12
- <script src="todos.js"></script>
13
- </head>
14
-
15
- <body>
16
-
17
- <!-- Todo App Interface -->
18
-
19
- <div id="todoapp">
20
-
21
- <div class="title">
22
- <h1>Todos</h1>
23
- </div>
24
-
25
- <div class="content">
26
-
27
- <div id="create-todo">
28
- <input id="new-todo" placeholder="What needs to be done?" type="text" />
29
- <span class="ui-tooltip-top" style="display:none;">Press Enter to save this task</span>
30
- </div>
31
-
32
- <div id="todos">
33
- <ul id="todo-list"></ul>
34
- </div>
35
-
36
- <div id="todo-stats"></div>
37
-
38
- </div>
39
-
40
- </div>
41
-
42
- <ul id="instructions">
43
- <li>Double-click to edit a todo.</li>
44
- <li><a href="../../docs/todos.html">View the annotated source.</a></li>
45
- </ul>
46
-
47
- <div id="credits">
48
- Created by
49
- <br />
50
- <a href="http://jgn.me/">J&eacute;r&ocirc;me Gravel-Niquet</a>
51
- </div>
52
-
53
- <!-- Templates -->
54
-
55
- <script type="text/template" id="item-template">
56
- <div class="todo <%= done ? 'done' : '' %>">
57
- <div class="display">
58
- <input class="check" type="checkbox" <%= done ? 'checked="checked"' : '' %> />
59
- <div class="todo-content"></div>
60
- <span class="todo-destroy"></span>
61
- </div>
62
- <div class="edit">
63
- <input class="todo-input" type="text" value="" />
64
- </div>
65
- </div>
66
- </script>
67
-
68
- <script type="text/template" id="stats-template">
69
- <% if (total) { %>
70
- <span class="todo-count">
71
- <span class="number"><%= remaining %></span>
72
- <span class="word"><%= remaining == 1 ? 'item' : 'items' %></span> left.
73
- </span>
74
- <% } %>
75
- <% if (done) { %>
76
- <span class="todo-clear">
77
- <a href="#">
78
- Clear <span class="number-done"><%= done %></span>
79
- completed <span class="word-done"><%= done == 1 ? 'item' : 'items' %></span>
80
- </a>
81
- </span>
82
- <% } %>
83
- </script>
84
-
85
- </body>
86
-
87
- </html>