rails-backbone-generator 0.0.3 → 0.1.4
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 +15 -0
- data/README.md +18 -15
- data/lib/generators/backbone_generator.rb +1 -1
- data/lib/generators/{backbone → backbone_generator}/collection_generator.rb +9 -9
- data/lib/generators/{backbone → backbone_generator}/model_generator.rb +10 -10
- data/lib/generators/{backbone → backbone_generator}/namespace_generator.rb +18 -21
- data/lib/generators/{backbone → backbone_generator}/setup_generator.rb +25 -24
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/Guardfile +4 -4
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/app/assets/javascripts/application.js +7 -7
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/app/assets/javascripts/shared/core_extentions/collections_extentions.coffee +8 -8
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/app/assets/javascripts/shared/helpers/.gitkeep +0 -0
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/app/assets/javascripts/shared/utils/.gitkeep +0 -0
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/spec/javascripts/fixtures/.gitkeep +0 -0
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/spec/javascripts/helpers/association_helpers.coffee +0 -0
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/spec/javascripts/helpers/common_helpers.coffee +2 -2
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/spec/javascripts/helpers/fake_host.coffee +3 -3
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/spec/javascripts/helpers/headless_webkit_helper.coffee +0 -0
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/spec/javascripts/support/jasmine.yml +0 -0
- data/lib/generators/backbone_generator/setup_generator/templates/vendor/assets/javascripts/backbone/backbone-1.1.0.js +1581 -0
- data/lib/generators/{backbone/setup_generator/templates/vendor/assets/javascripts/backbone/backbone-bind-to-1.0.0.coffee → backbone_generator/setup_generator/templates/vendor/assets/javascripts/backbone/backbone-bind-to-1.1.0.coffee} +23 -12
- data/lib/generators/backbone_generator/setup_generator/templates/vendor/assets/javascripts/backbone/backbone-handlebars-1.0.0.coffee +89 -0
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/vendor/assets/javascripts/backbone/backbone-query-0.2.3.coffee +0 -0
- data/lib/generators/backbone_generator/setup_generator/templates/vendor/assets/javascripts/backbone/backbone-relational-0.8.6.js +1943 -0
- data/lib/generators/backbone_generator/setup_generator/templates/vendor/assets/javascripts/backbone/handlebars-1.1.2.js +2595 -0
- data/lib/generators/{backbone/setup_generator/templates/vendor/assets/javascripts/backbone/underscore-1.3.3.js → backbone_generator/setup_generator/templates/vendor/assets/javascripts/backbone/underscore-1.5.2.js} +529 -312
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/vendor/assets/javascripts/browser_compatibility/json2.js +5 -6
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/vendor/assets/javascripts/browser_compatibility/localstorage-polyfill.js +12 -12
- data/lib/generators/{backbone/setup_generator/templates/vendor/assets/javascripts/jquery/jquery-1.8.0.js → backbone_generator/setup_generator/templates/vendor/assets/javascripts/jquery/jquery-1.10.2.js} +4633 -4071
- data/lib/generators/backbone_generator/setup_generator/templates/vendor/assets/javascripts/jquery/jquery-ui-1.10.3.js +15003 -0
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/vendor/assets/javascripts/jquery/jquery.easing-1.3.js +33 -33
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/vendor/assets/javascripts/jquery/jquery_ujs.js +162 -136
- data/lib/generators/{backbone → backbone_generator}/setup_generator/templates/vendor/assets/javascripts/testing/backbone-factory.js +4 -4
- data/lib/generators/backbone_generator/setup_generator/templates/vendor/assets/javascripts/testing/jasmine-jquery-1.5.93.js +700 -0
- data/lib/generators/backbone_generator/setup_generator/templates/vendor/assets/javascripts/testing/jasmine-sinon-0.2.1.js +43 -0
- data/lib/generators/backbone_generator/setup_generator/templates/vendor/assets/javascripts/testing/mock-ajax-2.0.0.js +264 -0
- data/lib/generators/{backbone/setup_generator/templates/vendor/assets/javascripts/testing/sinon-1.4.2.js → backbone_generator/setup_generator/templates/vendor/assets/javascripts/testing/sinon-1.7.3.js} +686 -477
- data/lib/generators/{backbone → backbone_generator}/templates/app/assets/javascripts/%namespace%.coffee.tt +0 -1
- data/lib/generators/{backbone → backbone_generator}/templates/app/assets/javascripts/%namespace%/collections/%collection_name%.coffee.tt +0 -0
- data/lib/generators/{backbone → backbone_generator}/templates/app/assets/javascripts/%namespace%/collections/.gitkeep +0 -0
- data/lib/generators/{backbone → backbone_generator}/templates/app/assets/javascripts/%namespace%/models/%model_name%.coffee.tt +2 -2
- data/lib/generators/{backbone → backbone_generator}/templates/app/assets/javascripts/%namespace%/models/.gitkeep +0 -0
- data/lib/generators/{backbone → backbone_generator}/templates/app/assets/javascripts/%namespace%/routes/.gitkeep +0 -0
- data/lib/generators/{backbone → backbone_generator}/templates/app/assets/javascripts/%namespace%/templates/.gitkeep +0 -0
- data/lib/generators/{backbone → backbone_generator}/templates/app/assets/javascripts/%namespace%/views/.gitkeep +0 -0
- data/lib/generators/{backbone → backbone_generator}/templates/spec/javascripts/%namespace%/collections/%collection_name%_spec.coffee.tt +1 -1
- data/lib/generators/{backbone → backbone_generator}/templates/spec/javascripts/%namespace%/collections/.gitkeep +0 -0
- data/lib/generators/{backbone → backbone_generator}/templates/spec/javascripts/%namespace%/factories/%model_name%_factory.coffee.tt +1 -1
- data/lib/generators/{backbone → backbone_generator}/templates/spec/javascripts/%namespace%/factories/.gitkeep +0 -0
- data/lib/generators/{backbone → backbone_generator}/templates/spec/javascripts/%namespace%/models/%model_name%_spec.coffee.tt +3 -4
- data/lib/generators/{backbone → backbone_generator}/templates/spec/javascripts/%namespace%/models/.gitkeep +0 -0
- data/lib/generators/{backbone → backbone_generator}/templates/spec/javascripts/%namespace%/views/.gitkeep +0 -0
- data/lib/rails_backbone_generator/version.rb +1 -1
- metadata +53 -59
- data/lib/generators/backbone/setup_generator/templates/vendor/assets/javascripts/backbone/backbone-0.9.2.js +0 -1431
- data/lib/generators/backbone/setup_generator/templates/vendor/assets/javascripts/backbone/backbone-handlebars-1.0.0.js +0 -121
- data/lib/generators/backbone/setup_generator/templates/vendor/assets/javascripts/backbone/backbone-relational-0.6.0.js +0 -1687
- data/lib/generators/backbone/setup_generator/templates/vendor/assets/javascripts/backbone/handlebars-1.0.rc.1.js +0 -1920
- data/lib/generators/backbone/setup_generator/templates/vendor/assets/javascripts/jquery/jquery-ui.min.js +0 -17
- data/lib/generators/backbone/setup_generator/templates/vendor/assets/javascripts/testing/jasmine-jquery-1.3.1.js +0 -288
- data/lib/generators/backbone/setup_generator/templates/vendor/assets/javascripts/testing/jasmine-sinon.js +0 -43
- data/lib/generators/backbone/setup_generator/templates/vendor/assets/javascripts/testing/mock-ajax.js +0 -207
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
Mzg0MGRlNDk1MzIxNjI1NGYxMTUwNzQ2YzUwZjE3MTE0N2RkYTU0NQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
NDdjMzEzZjY0NDlmNDBjYWY0OTczOGM4NGE1YjZkOWIyYzZjM2RjYg==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
OWQwNzdjYWFkMjUxMzk4YTNmNzY4NDFjYzYzNGIyMzAxMTkxN2I0MzQ5ZjQ3
|
10
|
+
NmJhNmZlMDViZjA4NmQyOWMzOWZlZjg4YmViZDNkOGQ0NGQ2ZTBmMTMxOWIz
|
11
|
+
MDdjOThlNjgyNGY4MGQ4Nzc3YmFhMzhlYTJiMmNjM2Q1MzFmMjQ=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NGQ5NTY0YjBiYjk5ZTRkNDg3NWVlOGM2Mzg4MmYxMjdjOWJhYWY4ZDFjZGRl
|
14
|
+
NWRlYzQ4MjNmZGZmZWUxZGQwMGIxOWU0NTk5YWU0MjkyYTk4ZWY5MmNhMGU5
|
15
|
+
NWY4ZTA4NzI5NmI5M2VjYzYxOTdlOWM0OGQwY2QzY2FlOTk5OWU=
|
data/README.md
CHANGED
@@ -23,7 +23,7 @@ The gem adds Backbone: [Setup](#backbonesetup) | [Namespace](#backbonenamespace)
|
|
23
23
|
## Installation
|
24
24
|
Add this line to your application's Gemfile:
|
25
25
|
|
26
|
-
gem '
|
26
|
+
gem 'rails-backbone-generator'
|
27
27
|
|
28
28
|
And then execute:
|
29
29
|
|
@@ -31,7 +31,7 @@ And then execute:
|
|
31
31
|
|
32
32
|
Or install it yourself as:
|
33
33
|
|
34
|
-
$ gem install
|
34
|
+
$ gem install rails-backbone-generator
|
35
35
|
|
36
36
|
|
37
37
|
|
@@ -143,27 +143,27 @@ $ rails g backbone:setup
|
|
143
143
|
|
144
144
|
vendor/javascripts/
|
145
145
|
├── backbone
|
146
|
-
│ ├── backbone-
|
147
|
-
│ ├── backbone-bind-to-1.
|
146
|
+
│ ├── backbone-1.1.0.js
|
147
|
+
│ ├── backbone-bind-to-1.1.0.coffee
|
148
148
|
│ ├── backbone-handlebars-1.0.0.coffee
|
149
|
-
│ ├── backbone-query-0.
|
150
|
-
│ ├── backbone-relational-0.6.
|
151
|
-
│ ├── handlebars-1.
|
152
|
-
│ └── underscore-1.
|
149
|
+
│ ├── backbone-query-0.2.3.coffee
|
150
|
+
│ ├── backbone-relational-0.8.6.js
|
151
|
+
│ ├── handlebars-1.1.2.js
|
152
|
+
│ └── underscore-1.5.2.js
|
153
153
|
├── browser_compatibility
|
154
154
|
│ ├── json2.js
|
155
155
|
│ └── localstorage-polyfill.js
|
156
156
|
├── jquery
|
157
|
-
│ ├── jquery-1.
|
158
|
-
│ ├── jquery-ui.
|
157
|
+
│ ├── jquery-1.10.2.js
|
158
|
+
│ ├── jquery-ui-1.10.3.js
|
159
159
|
│ ├── jquery.easing-1.3.js
|
160
160
|
│ └── jquery_ujs.js
|
161
161
|
└── testing
|
162
162
|
├── backbone-factory.js
|
163
|
-
├── jasmine-jquery-1.
|
164
|
-
├── jasmine-sinon.js
|
165
|
-
├── mock-ajax.js
|
166
|
-
└── sinon-1.
|
163
|
+
├── jasmine-jquery-1.5.93.js
|
164
|
+
├── jasmine-sinon-0.2.1.js
|
165
|
+
├── mock-ajax-2.0.0.js
|
166
|
+
└── sinon-1.7.3.js
|
167
167
|
|
168
168
|
```
|
169
169
|
## Factories
|
@@ -207,7 +207,10 @@ The generator adds ``Factory.model_name({optional:override})`` and ``Factory.col
|
|
207
207
|
4. Push to the branch (`git push origin my-new-feature`)
|
208
208
|
5. Create new Pull Request
|
209
209
|
|
210
|
+
## TODO
|
211
|
+
add jasmine to config/routes.rb # mount JasmineRails::Engine => "/specs" unless Rails.env.production?
|
212
|
+
|
210
213
|
<hr/>
|
211
|
-
[](http://http://www.rafter.com/)
|
212
215
|
RailsBackboneGenerator is maintained by [Chip Miller](/chip-miller) and and funded by [Rafter](http://http://www.rafter.com/)
|
213
216
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'rails/generators'
|
3
3
|
|
4
|
-
module
|
5
|
-
class CollectionGenerator < Rails::Generators::Base
|
4
|
+
module BackboneGenerator
|
5
|
+
class CollectionGenerator < ::Rails::Generators::Base
|
6
6
|
source_root File.expand_path('../templates', __FILE__)
|
7
7
|
desc "Creates a BackboneModel, BackboneCollection, & Jasmine tests/factory\nrails g backbone:collection Navigation::Buttons"
|
8
8
|
argument :raw_collection_name, required: true, type: 'string'
|
@@ -11,12 +11,12 @@ module Backbone
|
|
11
11
|
destination_dir = File.join( ['app/assets/javascripts', namespace, 'collections', "#{collection_name}.coffee"].compact )
|
12
12
|
template 'app/assets/javascripts/%namespace%/collections/%collection_name%.coffee.tt', destination_dir
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
15
|
def create_model
|
16
16
|
destination_dir = File.join( ['app/assets/javascripts', namespace, 'models', "#{model_name}.coffee"].compact )
|
17
17
|
template 'app/assets/javascripts/%namespace%/models/%model_name%.coffee.tt', destination_dir
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
def create_specs
|
21
21
|
destination_dir = File.join( ['spec/javascripts', namespace].compact )
|
22
22
|
spec_paths = ['collections/%collection_name%_spec.coffee', 'factories/%model_name%_factory.coffee', 'models/%model_name%_spec.coffee']
|
@@ -24,10 +24,10 @@ module Backbone
|
|
24
24
|
template "spec/javascripts/%namespace%/#{path}.tt", "spec/javascripts/%namespace%/#{path}"
|
25
25
|
end
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
def print_tree
|
29
29
|
tree = <<-TREE
|
30
|
-
|
30
|
+
|
31
31
|
app/assets/javascripts/dashboard
|
32
32
|
├── collections
|
33
33
|
│ └── widgets.coffee
|
@@ -44,19 +44,19 @@ module Backbone
|
|
44
44
|
TREE
|
45
45
|
say tree.gsub(/dashboard/, namespace.to_s).gsub(/widget/, model_name)
|
46
46
|
end
|
47
|
-
|
47
|
+
|
48
48
|
# Helpers
|
49
49
|
def collection_name(classify=false)
|
50
50
|
style = classify ? :camelize : :underscore
|
51
51
|
_collection_name, _namespace = raw_collection_name.split('::').reverse
|
52
52
|
_collection_name.pluralize.send(style)
|
53
53
|
end
|
54
|
-
|
54
|
+
|
55
55
|
# Use the extended class if availiable ( recommended )
|
56
56
|
def collection_base_class
|
57
57
|
File.exists?(Rails.root.join('app/assets/javascripts/shared/core_extentions/collections_extentions.coffee')) ? 'Backbone.ExtendedCollection' : 'Backbone.Collection'
|
58
58
|
end
|
59
|
-
|
59
|
+
|
60
60
|
def namespace(classify=false)
|
61
61
|
style = classify ? :camelize : :underscore
|
62
62
|
_collection_name, _namespace = raw_collection_name.split('::').reverse
|
@@ -1,17 +1,17 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'rails/generators'
|
3
3
|
|
4
|
-
module
|
5
|
-
class ModelGenerator < Rails::Generators::Base
|
4
|
+
module BackboneGenerator
|
5
|
+
class ModelGenerator < ::Rails::Generators::Base
|
6
6
|
source_root File.expand_path('../templates', __FILE__)
|
7
7
|
desc "Creates a BackboneModel, Jasmine tests/factory"
|
8
8
|
argument :raw_model_name, required: true, type: 'string'
|
9
|
-
|
9
|
+
|
10
10
|
def create_model
|
11
11
|
destination_dir = File.join( ['app/assets/javascripts', namespace, "models/#{model_name}.coffee"].compact )
|
12
12
|
template 'app/assets/javascripts/%namespace%/models/%model_name%.coffee.tt', destination_dir
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
15
|
def create_specs
|
16
16
|
destination_dir = File.join( ['spec/javascripts', namespace].compact )
|
17
17
|
spec_paths = ['factories/%model_name%_factory.coffee', 'models/%model_name%_spec.coffee']
|
@@ -19,10 +19,10 @@ module Backbone
|
|
19
19
|
template "spec/javascripts/%namespace%/#{path}.tt", "spec/javascripts/%namespace%/#{path}"
|
20
20
|
end
|
21
21
|
end
|
22
|
-
|
22
|
+
|
23
23
|
def print_tree
|
24
24
|
tree = <<-TREE
|
25
|
-
|
25
|
+
|
26
26
|
app/assets/javascript/dashboard
|
27
27
|
└── models
|
28
28
|
└── widget.coffee
|
@@ -35,7 +35,7 @@ module Backbone
|
|
35
35
|
TREE
|
36
36
|
say tree.gsub(/\/dashboard/, namespace.to_s).gsub(/widget/, model_name)
|
37
37
|
end
|
38
|
-
|
38
|
+
|
39
39
|
# Helpers
|
40
40
|
def namespace(classify=false)
|
41
41
|
@model_name, @namespace = raw_model_name.split('::').reverse
|
@@ -48,9 +48,9 @@ module Backbone
|
|
48
48
|
style = classify ? :camelize : :underscore
|
49
49
|
@model_name.singularize.send(style)
|
50
50
|
end
|
51
|
-
|
52
|
-
def collection_name(classify=false)
|
51
|
+
|
52
|
+
def collection_name(classify=false)
|
53
53
|
end
|
54
|
-
|
54
|
+
|
55
55
|
end
|
56
56
|
end
|
@@ -2,37 +2,34 @@
|
|
2
2
|
require 'rails/generators'
|
3
3
|
require 'find'
|
4
4
|
|
5
|
-
module
|
6
|
-
class NamespaceGenerator < Rails::Generators::Base
|
5
|
+
module BackboneGenerator
|
6
|
+
class NamespaceGenerator < ::Rails::Generators::Base
|
7
7
|
source_root File.expand_path('../templates', __FILE__)
|
8
8
|
desc "Setup a Backbone namespace"
|
9
9
|
argument :raw_namespace, :type => :string, :required => true
|
10
|
-
|
10
|
+
|
11
11
|
def setup_dir_structure
|
12
|
-
Dir.glob(File.join(source_paths, "**/.gitkeep")) do |keep_path|
|
12
|
+
Dir.glob(File.join(source_paths, "**/.gitkeep")) do |keep_path|
|
13
13
|
template keep_path, keep_path.gsub(/^.*backbone\/templates\//, "")
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
# build and require a namespace initializer
|
17
17
|
template "app/assets/javascripts/%namespace%.coffee.tt", "app/assets/javascripts/%namespace%.coffee"
|
18
18
|
path = File.join(destination_root, 'app/assets/javascripts/application.js')
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
end )
|
27
|
-
File.open(path, 'wb') { |file| file.write(content) }
|
28
|
-
say_status :gsub, 'app/assets/javascripts/application.js'
|
19
|
+
if behavior == :revoke # destroy
|
20
|
+
gsub_file path, /\/\/= require \.\/#{namespace}\n/, ''
|
21
|
+
else
|
22
|
+
gsub_file 'app/assets/javascripts/application.js', /\/\/.*\n\s/ do |match|
|
23
|
+
match.sub /\n\s/, "\n//= require ./#{namespace}\n\n"
|
24
|
+
end
|
25
|
+
end
|
29
26
|
end
|
30
|
-
|
31
|
-
|
32
|
-
|
27
|
+
|
28
|
+
|
29
|
+
|
33
30
|
def print_tree
|
34
31
|
tree = <<-TREE
|
35
|
-
|
32
|
+
|
36
33
|
app/assets/javascripts/dashboard
|
37
34
|
│ ├── collections
|
38
35
|
│ ├── models
|
@@ -50,12 +47,12 @@ module Backbone
|
|
50
47
|
TREE
|
51
48
|
say tree.gsub(/dashboard/, namespace).gsub(/widget/, model_name)
|
52
49
|
end
|
53
|
-
|
50
|
+
|
54
51
|
def namespace(classify=false)
|
55
52
|
style = classify ? :camelize : :underscore
|
56
53
|
raw_namespace.send(style)
|
57
54
|
end
|
58
|
-
|
55
|
+
|
59
56
|
def model_name(classify=false); '__delte__' ;end
|
60
57
|
def collection_name(classify=false); '__delte__' ;end
|
61
58
|
end
|
@@ -1,17 +1,18 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'rails/generators'
|
3
3
|
|
4
|
-
module
|
5
|
-
class SetupGenerator < Rails::Generators::Base
|
4
|
+
module BackboneGenerator
|
5
|
+
class SetupGenerator < ::Rails::Generators::Base
|
6
6
|
source_root File.expand_path('../setup_generator/templates', __FILE__)
|
7
7
|
desc "Setup a Backbone Application"
|
8
|
-
|
8
|
+
|
9
9
|
def setup_app
|
10
10
|
directory '.'
|
11
11
|
end
|
12
|
-
|
13
|
-
def add_development_gems
|
12
|
+
|
13
|
+
def add_development_gems
|
14
14
|
testing_gems = <<-TESTING_GEMS
|
15
|
+
|
15
16
|
group :development, :test do
|
16
17
|
|
17
18
|
# Jasmine
|
@@ -29,17 +30,17 @@ group :test do
|
|
29
30
|
gem 'therubyracer', :platform => :ruby
|
30
31
|
end
|
31
32
|
TESTING_GEMS
|
32
|
-
|
33
|
+
|
33
34
|
append_to_file 'Gemfile', testing_gems
|
34
35
|
say testing_gems
|
35
36
|
run 'bundle'# in_root { `bundle` }
|
36
37
|
end
|
37
|
-
|
38
|
+
|
38
39
|
def print_tree
|
39
40
|
tree = <<-TREE
|
40
41
|
Gemfile (updated)
|
41
42
|
Guardfile
|
42
|
-
|
43
|
+
|
43
44
|
app/assets/javascripts
|
44
45
|
├── application.js
|
45
46
|
└── shared
|
@@ -47,7 +48,7 @@ TESTING_GEMS
|
|
47
48
|
│ └── collections_extentions.coffee
|
48
49
|
├── helpers
|
49
50
|
└── utils
|
50
|
-
|
51
|
+
|
51
52
|
spec/javascripts/
|
52
53
|
├── fixtures
|
53
54
|
├── helpers
|
@@ -57,34 +58,34 @@ TESTING_GEMS
|
|
57
58
|
│ └── headless_webkit_helper.coffee
|
58
59
|
└── support
|
59
60
|
└── jasmine.yml
|
60
|
-
|
61
|
+
|
61
62
|
vendor/javascripts/
|
62
63
|
├── backbone
|
63
|
-
│ ├── backbone-
|
64
|
-
│ ├── backbone-bind-to-1.
|
64
|
+
│ ├── backbone-1.1.0.js
|
65
|
+
│ ├── backbone-bind-to-1.1.0.coffee
|
65
66
|
│ ├── backbone-handlebars-1.0.0.coffee
|
66
|
-
│ ├── backbone-query-0.
|
67
|
-
│ ├── backbone-relational-0.6.
|
68
|
-
│ ├── handlebars-1.
|
69
|
-
│ └── underscore-1.
|
67
|
+
│ ├── backbone-query-0.2.3.coffee
|
68
|
+
│ ├── backbone-relational-0.8.6.js
|
69
|
+
│ ├── handlebars-1.1.2.js
|
70
|
+
│ └── underscore-1.5.2.js
|
70
71
|
├── browser_compatibility
|
71
72
|
│ ├── json2.js
|
72
73
|
│ └── localstorage-polyfill.js
|
73
74
|
├── jquery
|
74
|
-
│ ├── jquery-1.
|
75
|
-
│ ├── jquery-ui.
|
75
|
+
│ ├── jquery-1.10.2.js
|
76
|
+
│ ├── jquery-ui-1.10.3.js
|
76
77
|
│ ├── jquery.easing-1.3.js
|
77
78
|
│ └── jquery_ujs.js
|
78
79
|
└── testing
|
79
80
|
├── backbone-factory.js
|
80
|
-
├── jasmine-jquery-1.
|
81
|
-
├── jasmine-sinon.js
|
82
|
-
├── mock-ajax.js
|
83
|
-
└── sinon-1.
|
81
|
+
├── jasmine-jquery-1.5.93.js
|
82
|
+
├── jasmine-sinon-0.2.1.js
|
83
|
+
├── mock-ajax-2.0.0.js
|
84
|
+
└── sinon-1.7.3.js
|
84
85
|
TREE
|
85
86
|
say tree
|
86
87
|
end
|
87
|
-
|
88
|
-
|
88
|
+
|
89
|
+
|
89
90
|
end
|
90
91
|
end
|
@@ -9,7 +9,7 @@ spec_location = "spec/javascripts/%s_spec"
|
|
9
9
|
|
10
10
|
guard 'jasmine-headless-webkit' do
|
11
11
|
watch(%r{^app/views/.*\.jst$})
|
12
|
-
|
12
|
+
|
13
13
|
# Run All
|
14
14
|
watch(%r{^spec/javascripts/factories\..*}) { spec_location }
|
15
15
|
watch(%r{^spec/javascripts/helpers(.*)\.(js|coffee)$}) { spec_location }
|
@@ -29,7 +29,7 @@ end
|
|
29
29
|
# watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
30
30
|
# watch('spec/spec_helper.rb') { "spec" }
|
31
31
|
# watch(%r{spec/factories/.*_factory.rb'}) { "spec" }
|
32
|
-
#
|
32
|
+
#
|
33
33
|
# # Rails example
|
34
34
|
# watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
35
35
|
# watch(%r{^app/(.*)(\.erb|\.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
|
@@ -37,8 +37,8 @@ end
|
|
37
37
|
# watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
|
38
38
|
# watch('config/routes.rb') { "spec/routing" }
|
39
39
|
# watch('app/controllers/application_controller.rb') { "spec/controllers" }
|
40
|
-
#
|
40
|
+
#
|
41
41
|
# # Capybara request specs
|
42
42
|
# watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/requests/#{m[1]}_spec.rb" }
|
43
|
-
#
|
43
|
+
#
|
44
44
|
# end
|
@@ -1,14 +1,14 @@
|
|
1
1
|
// This is a manifest file that'll be compiled into application.js
|
2
2
|
//
|
3
3
|
//= require_tree ../../../vendor/assets/javascripts/browser_compatibility
|
4
|
-
//= require ../../../vendor/assets/javascripts/jquery/jquery-1.
|
5
|
-
//= require ../../../vendor/assets/javascripts/jquery/jquery-ui.
|
4
|
+
//= require ../../../vendor/assets/javascripts/jquery/jquery-1.10.2
|
5
|
+
//= require ../../../vendor/assets/javascripts/jquery/jquery-ui-1.10.3
|
6
6
|
//= require ../../../vendor/assets/javascripts/jquery/jquery.easing-1.3
|
7
|
-
//= require ../../../vendor/assets/javascripts/backbone/handlebars-1.
|
8
|
-
//= require ../../../vendor/assets/javascripts/backbone/underscore-1.
|
9
|
-
//= require ../../../vendor/assets/javascripts/backbone/backbone-
|
10
|
-
//= require ../../../vendor/assets/javascripts/backbone/backbone-relational-0.6
|
7
|
+
//= require ../../../vendor/assets/javascripts/backbone/handlebars-1.1.2
|
8
|
+
//= require ../../../vendor/assets/javascripts/backbone/underscore-1.5.2
|
9
|
+
//= require ../../../vendor/assets/javascripts/backbone/backbone-1.1.0
|
10
|
+
//= require ../../../vendor/assets/javascripts/backbone/backbone-relational-0.8.6
|
11
11
|
//= require ../../../vendor/assets/javascripts/backbone/backbone-query-0.2.3
|
12
|
-
//= require ../../../vendor/assets/javascripts/backbone/backbone-bind-to-1.
|
12
|
+
//= require ../../../vendor/assets/javascripts/backbone/backbone-bind-to-1.1.0
|
13
13
|
//= require ../../../vendor/assets/javascripts/backbone/backbone-handlebars-1.0.0
|
14
14
|
//= require_tree ./shared
|
@@ -1,5 +1,5 @@
|
|
1
1
|
class Backbone.ExtendedCollection extends Backbone.Collection
|
2
|
-
|
2
|
+
|
3
3
|
# Backwards compatable interface update
|
4
4
|
# Allows the Backbone.Collection#constructor to accept a single hash of attributes.
|
5
5
|
# The 'models' attribute is used as the collection's enumerable
|
@@ -11,20 +11,20 @@ class Backbone.ExtendedCollection extends Backbone.Collection
|
|
11
11
|
#
|
12
12
|
constructor: (models=[], other_options={})->
|
13
13
|
unless models instanceof Array
|
14
|
-
_(other_options).extend( _(models).tap (obj)->
|
14
|
+
_(other_options).extend( _(models).tap (obj)->
|
15
15
|
models = models.models
|
16
|
-
delete obj.options
|
16
|
+
delete obj.options
|
17
17
|
)
|
18
|
-
|
18
|
+
|
19
19
|
# store attributes
|
20
20
|
@attributes = _.clone @defaults || {}
|
21
21
|
_.chain(@attributes).keys().each (attr)=>
|
22
22
|
@attributes[attr]= other_options[attr] if other_options[attr]?
|
23
|
-
|
23
|
+
|
24
24
|
# continue building obj
|
25
25
|
super( models, other_options )
|
26
|
-
|
27
|
-
|
26
|
+
|
27
|
+
|
28
28
|
toJSON: => { collection: @models }
|
29
|
-
|
29
|
+
|
30
30
|
first: => @at(0)
|