rails-backbone-generator 0.1.8 → 0.1.9
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 +5 -13
- data/README.md +2 -2
- data/lib/generators/backbone_generator/collection_generator.rb +10 -4
- data/lib/generators/backbone_generator/model_generator.rb +23 -5
- data/lib/generators/backbone_generator/namespace_generator.rb +2 -2
- data/lib/generators/backbone_generator/setup_generator.rb +2 -2
- data/lib/generators/backbone_generator/setup_generator/templates/app/assets/javascripts/application.js +11 -11
- data/lib/generators/backbone_generator/setup_generator/templates/app/assets/javascripts/shared.coffee +13 -0
- data/lib/generators/backbone_generator/setup_generator/templates/app/assets/javascripts/shared/utils/logger.coffee +55 -0
- data/lib/generators/backbone_generator/setup_generator/templates/app/assets/javascripts/shared/utils/serialize_object.coffee +14 -0
- data/lib/generators/backbone_generator/setup_generator/templates/spec/javascripts/helpers/logger_helper.coffee +2 -0
- data/lib/rails_backbone_generator/version.rb +1 -1
- metadata +14 -10
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
ZjBkNzM4NDhlYWRlMjBmZmU5Y2M2M2JmYjhlYjJkMTYzZGIwMDY4ZA==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 17ff9788804ff78de6b5fee1d4decbb339c6373c
|
4
|
+
data.tar.gz: 559079def95b60f2ab9530668685ac8a50506771
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
YWQwNGY2MTM3YWYyY2EyYmI3NWVlODM0ZTZjYjIyMWViNTJhODI1MjIzMWU3
|
11
|
-
ZGNlOWZkNDE2MmI5NzdjNDg3NTc2NTY0NTM2YjhjMzI0NTBkYWM=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
Y2IyMTYxMDcyZDI5ZGNmZDY3ZTI3MWY2ZGZiYTQ5MTkyYTY0ZGU0NDJjYTQ3
|
14
|
-
NmM4OWExMjMzOTY4MDU3YTRkZjhiOTBmYzJiMGViNWNlMWNiMmY3NjlhZTg3
|
15
|
-
ZWVkYjkzYmQ1ZDQ4MGZiZTFhNjNkYTVmMjFjYWNmMjQ5OWU4ZWM=
|
6
|
+
metadata.gz: bb41bd7af82b7977d657051d5191b6ef9802c3d8915cc489f9d28623d87d442ebbde6ef1ff8059350fe7ac6089183f6eb96b06eae58acc9039aafd191f5b2de3
|
7
|
+
data.tar.gz: d1aa0ff0a87fe31b198c3ffa1982ac21274466a702ed7b3c41c5c6e63a8e1da0b392d5fff12d0bd30cb5a2cba5e143766f9e45861f6a106b0825c5d382b29a14
|
data/README.md
CHANGED
@@ -179,7 +179,7 @@ The generator adds ``Factory.model_name({optional:override})`` and ``Factory.col
|
|
179
179
|
|
180
180
|
## External Docs
|
181
181
|
**[Backbone.js](http://backbonejs.org/)** and it's foundation **[Underscore.js](http://underscorejs.org/)**
|
182
|
-
* [Backbone Relational](
|
182
|
+
* [Backbone Relational](http://backbonerelational.org/): Associations for Backbone Models <tt>Bundle.get('books')</tt>
|
183
183
|
* [Backbone Query](https://github.com/davidgtonge/backbone_query#usage): A query DSL inspired by MongoDB. Includes matchers, logical operators, sorting, and paging.
|
184
184
|
* [Backbone BindTo](https://github.com/RStankov/backbone-bind-to#backbonebindto): Cleans-up the pattern of adding and *removing* event listeners to <tt>Backbone.Views</tt>
|
185
185
|
* [Backbone Handlebars](https://github.com/RStankov/backbone-handlebars/blob/master/README.md#backbonehandlebars): Extension for better integration with [Handlebars.js](http://handlebarsjs.com/) including nested views
|
@@ -194,7 +194,7 @@ The generator adds ``Factory.model_name({optional:override})`` and ``Factory.col
|
|
194
194
|
* [Sinon-Jasmine](https://github.com/froots/jasmine-sinon#sinonjs-matchers): Test expectations for mocks and stubs
|
195
195
|
|
196
196
|
**Best Practices**: [Backbone Patterns](http://ricostacruz.com/backbone-patterns/)
|
197
|
-
**Testing Backbone**: [Part 1: Introduction](http://tinnedfruit.com/2011/03/03/testing-backbone-apps-with-jasmine-sinon.html) | [Part 2: Models & Collections](http://tinnedfruit.com/2011/03/25/testing-backbone-apps-with-jasmine-sinon-2.html) | [Part 3: Routers & Views](http://tinnedfruit.com/2011/04/26/testing-backbone-apps-with-jasmine-sinon-3.html)
|
197
|
+
**Testing Backbone**: [Part 1: Introduction](http://tinnedfruit.com/2011/03/03/testing-backbone-apps-with-jasmine-sinon.html) | [Part 2: Models & Collections](http://tinnedfruit.com/2011/03/25/testing-backbone-apps-with-jasmine-sinon-2.html) | [Part 3: Routers & Views](http://tinnedfruit.com/2011/04/26/testing-backbone-apps-with-jasmine-sinon-3.html)
|
198
198
|
**Hackers Guide to Backbone**: [Part 1: Models & Events](http://dailyjs.com/2012/07/19/mvstar-2/) | [Part 2: Collections](http://dailyjs.com/2012/07/26/mvstar-3/) | [Part 3: Router and History](http://dailyjs.com/2012/08/02/mvstar-4/) | [Part 4: Sync](http://dailyjs.com/2012/08/09/mvstar-5/)
|
199
199
|
|
200
200
|
|
@@ -42,7 +42,7 @@ module BackboneGenerator
|
|
42
42
|
└── models
|
43
43
|
└── widget_spec.coffee
|
44
44
|
TREE
|
45
|
-
say tree.gsub(
|
45
|
+
say tree.gsub(/\/dashboard/, (namespace && "/#{namespace}").to_s).gsub(/widget/, model_name)
|
46
46
|
end
|
47
47
|
|
48
48
|
# Helpers
|
@@ -58,9 +58,15 @@ module BackboneGenerator
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def namespace(classify=false)
|
61
|
-
style
|
62
|
-
|
63
|
-
|
61
|
+
style = classify ? :camelize : :underscore
|
62
|
+
join_style = classify ? '.' : '/'
|
63
|
+
|
64
|
+
_namespaces = raw_collection_name.split('::')
|
65
|
+
_collection_name = _namespaces.pop
|
66
|
+
unless _namespaces.empty?
|
67
|
+
_namespaces = _namespaces.map {|ns| ns.singularize.send(style)}
|
68
|
+
end
|
69
|
+
_namespaces.join(join_style)
|
64
70
|
end
|
65
71
|
|
66
72
|
def model_name(classify=false)
|
@@ -23,7 +23,7 @@ module BackboneGenerator
|
|
23
23
|
def print_tree
|
24
24
|
tree = <<-TREE
|
25
25
|
|
26
|
-
app/assets/
|
26
|
+
app/assets/javascripts/dashboard
|
27
27
|
└── models
|
28
28
|
└── widget.coffee
|
29
29
|
|
@@ -33,15 +33,33 @@ module BackboneGenerator
|
|
33
33
|
└── models
|
34
34
|
└── widget_spec.coffee
|
35
35
|
TREE
|
36
|
-
say tree.gsub(/\/dashboard/, namespace.to_s).gsub(/widget/, model_name)
|
36
|
+
say tree.gsub(/\/dashboard/, (namespace && "/#{namespace}").to_s).gsub(/widget/, model_name)
|
37
37
|
end
|
38
38
|
|
39
39
|
# Helpers
|
40
40
|
def namespace(classify=false)
|
41
|
-
|
42
|
-
|
43
|
-
|
41
|
+
style = classify ? :camelize : :underscore
|
42
|
+
join_style = classify ? '.' : '/'
|
43
|
+
|
44
|
+
_namespaces = raw_model_name.split('::')
|
45
|
+
@model_name = _namespaces.pop
|
46
|
+
unless _namespaces.empty?
|
47
|
+
_namespaces = _namespaces.map {|ns| ns.singularize.send(style)}
|
48
|
+
@namespace = _namespaces.join(join_style)
|
49
|
+
end
|
44
50
|
end
|
51
|
+
|
52
|
+
# def namespace(classify=false)
|
53
|
+
# style = classify ? :camelize : :underscore
|
54
|
+
# join_style = classify ? '.' : '/'
|
55
|
+
#
|
56
|
+
# _namespaces = raw_collection_name.split('::')
|
57
|
+
# _collection_name = _namespaces.pop
|
58
|
+
# unless _namespaces.empty?
|
59
|
+
# _namespaces = _namespaces.map {|ns| ns.singularize.send(style)}
|
60
|
+
# end
|
61
|
+
# _namespaces.join(join_style)
|
62
|
+
# end
|
45
63
|
|
46
64
|
def model_name(classify=false)
|
47
65
|
@model_name, @namespace = raw_model_name.split('::').reverse
|
@@ -41,13 +41,13 @@ module BackboneGenerator
|
|
41
41
|
└── dashboard.coffee
|
42
42
|
|
43
43
|
|
44
|
-
spec/javascripts/dashboard
|
44
|
+
spec/javascripts/dashboard
|
45
45
|
├── collections
|
46
46
|
├── factories
|
47
47
|
├── models
|
48
48
|
└── views
|
49
49
|
TREE
|
50
|
-
say tree.gsub(/dashboard/, namespace)
|
50
|
+
say tree.gsub(/dashboard/, namespace)
|
51
51
|
end
|
52
52
|
|
53
53
|
def namespace(classify=false)
|
@@ -49,7 +49,7 @@ TESTING_GEMS
|
|
49
49
|
├── helpers
|
50
50
|
└── utils
|
51
51
|
|
52
|
-
spec/javascripts
|
52
|
+
spec/javascripts
|
53
53
|
├── fixtures
|
54
54
|
├── helpers
|
55
55
|
│ ├── association_helpers.coffee
|
@@ -59,7 +59,7 @@ TESTING_GEMS
|
|
59
59
|
└── support
|
60
60
|
└── jasmine.yml
|
61
61
|
|
62
|
-
vendor/javascripts
|
62
|
+
vendor/javascripts
|
63
63
|
├── backbone
|
64
64
|
│ ├── backbone-1.1.0.js
|
65
65
|
│ ├── backbone-bind-to-1.1.0.coffee
|
@@ -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
|
5
|
-
//= require
|
6
|
-
//= require
|
7
|
-
//= require
|
8
|
-
//= require
|
9
|
-
//= require
|
10
|
-
//= require
|
11
|
-
//= require
|
12
|
-
//= require
|
13
|
-
//= require
|
14
|
-
//=
|
4
|
+
//= require jquery/jquery-1.10.2
|
5
|
+
//= require jquery/jquery-ui-1.10.3
|
6
|
+
//= require jquery/jquery.easing-1.3
|
7
|
+
//= require backbone/handlebars-1.1.2
|
8
|
+
//= require backbone/underscore-1.5.2
|
9
|
+
//= require backbone/backbone-1.1.0
|
10
|
+
//= require backbone/backbone-relational-0.8.6
|
11
|
+
//= require backbone/backbone-query-0.2.3
|
12
|
+
//= require backbone/backbone-bind-to-1.1.0
|
13
|
+
//= require backbone/backbone-handlebars-1.0.0
|
14
|
+
//= require shared
|
@@ -0,0 +1,55 @@
|
|
1
|
+
unless console? && console.log? # Bugfix for browsers without console.log
|
2
|
+
console.log = ->
|
3
|
+
|
4
|
+
class Shared.Utils.Logger
|
5
|
+
|
6
|
+
constructor: (@environment) ->
|
7
|
+
@noisy = localStorage['logger_noisy']?
|
8
|
+
@silentModes = _(['production', 'test'])
|
9
|
+
@alwaysPrint = _(['error', 'debug'])
|
10
|
+
|
11
|
+
if @noisy
|
12
|
+
dashes = ('-' for each in [1..@environment.length]).join('')
|
13
|
+
console.log("----------------------#{dashes}-----")
|
14
|
+
console.log("Logger initialized in #{@environment} mode")
|
15
|
+
console.log("----------------------#{dashes}-----")
|
16
|
+
|
17
|
+
log: (type, input) ->
|
18
|
+
return if @silentModes.include(@environment) && !@alwaysPrint.include(type)
|
19
|
+
|
20
|
+
output = for msg in _.toArray(input)
|
21
|
+
prefix = [type.toUpperCase()]
|
22
|
+
prefix.push('RAW') if typeof(msg) == 'object'
|
23
|
+
if typeof(msg) is 'function'
|
24
|
+
msg.call()
|
25
|
+
else
|
26
|
+
console.log("#{prefix.join(' ')}:", msg)
|
27
|
+
undefined
|
28
|
+
|
29
|
+
verbose: ->
|
30
|
+
@log('verbose', arguments) if @noisy
|
31
|
+
|
32
|
+
info: ->
|
33
|
+
@log('info', arguments)
|
34
|
+
|
35
|
+
fixme: ->
|
36
|
+
@log('fixme', arguments)
|
37
|
+
|
38
|
+
debug: ->
|
39
|
+
@log('debug', arguments)
|
40
|
+
|
41
|
+
warn: ->
|
42
|
+
@log('warn', arguments)
|
43
|
+
|
44
|
+
error: ->
|
45
|
+
@log('error', arguments)
|
46
|
+
|
47
|
+
verbose_mode: (on_off) ->
|
48
|
+
if on_off
|
49
|
+
localStorage['logger_env']= 'development'
|
50
|
+
localStorage['logger_noisy'] = true
|
51
|
+
'Verbose Mode ON'
|
52
|
+
else
|
53
|
+
localStorage.removeItem('logger_env')
|
54
|
+
localStorage.removeItem('logger_noisy')
|
55
|
+
'Verbose Mode OFF'
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# $('form').serializeObject()
|
2
|
+
# => {name:'Craig', hobby:'Pro Pogo'}
|
3
|
+
|
4
|
+
$.fn.serializeObject = ->
|
5
|
+
o = {}
|
6
|
+
a = @serializeArray()
|
7
|
+
$.each a, ->
|
8
|
+
if o[@name] isnt `undefined`
|
9
|
+
o[@name] = [o[@name]] unless o[@name].push
|
10
|
+
o[@name].push @value or ""
|
11
|
+
else
|
12
|
+
o[@name] = @value or ""
|
13
|
+
|
14
|
+
o
|
metadata
CHANGED
@@ -1,41 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-backbone-generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chip Miller
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-10-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.0.0
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rails
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 3.0.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 3.0.0
|
41
41
|
description: Generates Backbone.js models and collections with BackboneFactory and
|
@@ -46,7 +46,7 @@ executables: []
|
|
46
46
|
extensions: []
|
47
47
|
extra_rdoc_files: []
|
48
48
|
files:
|
49
|
-
- .gitignore
|
49
|
+
- ".gitignore"
|
50
50
|
- Gemfile
|
51
51
|
- LICENSE
|
52
52
|
- README.md
|
@@ -58,15 +58,19 @@ files:
|
|
58
58
|
- lib/generators/backbone_generator/setup_generator.rb
|
59
59
|
- lib/generators/backbone_generator/setup_generator/templates/Guardfile
|
60
60
|
- lib/generators/backbone_generator/setup_generator/templates/app/assets/javascripts/application.js
|
61
|
+
- lib/generators/backbone_generator/setup_generator/templates/app/assets/javascripts/shared.coffee
|
61
62
|
- lib/generators/backbone_generator/setup_generator/templates/app/assets/javascripts/shared/core_extentions/collections_extentions.coffee
|
62
63
|
- lib/generators/backbone_generator/setup_generator/templates/app/assets/javascripts/shared/helpers/.gitkeep
|
63
64
|
- lib/generators/backbone_generator/setup_generator/templates/app/assets/javascripts/shared/utils/.gitkeep
|
65
|
+
- lib/generators/backbone_generator/setup_generator/templates/app/assets/javascripts/shared/utils/logger.coffee
|
66
|
+
- lib/generators/backbone_generator/setup_generator/templates/app/assets/javascripts/shared/utils/serialize_object.coffee
|
64
67
|
- lib/generators/backbone_generator/setup_generator/templates/spec/javascripts/fixtures/.gitkeep
|
65
68
|
- lib/generators/backbone_generator/setup_generator/templates/spec/javascripts/helpers/association_helpers.coffee
|
66
69
|
- lib/generators/backbone_generator/setup_generator/templates/spec/javascripts/helpers/common_helpers.coffee
|
67
70
|
- lib/generators/backbone_generator/setup_generator/templates/spec/javascripts/helpers/factory_helper.coffee
|
68
71
|
- lib/generators/backbone_generator/setup_generator/templates/spec/javascripts/helpers/fake_host.coffee
|
69
72
|
- lib/generators/backbone_generator/setup_generator/templates/spec/javascripts/helpers/headless_webkit_helper.coffee
|
73
|
+
- lib/generators/backbone_generator/setup_generator/templates/spec/javascripts/helpers/logger_helper.coffee
|
70
74
|
- lib/generators/backbone_generator/setup_generator/templates/spec/javascripts/support/jasmine.yml
|
71
75
|
- lib/generators/backbone_generator/setup_generator/templates/vendor/assets/javascripts/backbone/backbone-1.1.0.js
|
72
76
|
- lib/generators/backbone_generator/setup_generator/templates/vendor/assets/javascripts/backbone/backbone-bind-to-1.1.0.coffee
|
@@ -113,17 +117,17 @@ require_paths:
|
|
113
117
|
- lib
|
114
118
|
required_ruby_version: !ruby/object:Gem::Requirement
|
115
119
|
requirements:
|
116
|
-
- -
|
120
|
+
- - ">="
|
117
121
|
- !ruby/object:Gem::Version
|
118
122
|
version: '0'
|
119
123
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
120
124
|
requirements:
|
121
|
-
- -
|
125
|
+
- - ">="
|
122
126
|
- !ruby/object:Gem::Version
|
123
127
|
version: '0'
|
124
128
|
requirements: []
|
125
129
|
rubyforge_project:
|
126
|
-
rubygems_version: 2.
|
130
|
+
rubygems_version: 2.4.2
|
127
131
|
signing_key:
|
128
132
|
specification_version: 4
|
129
133
|
summary: Inspired by rails generate - Generates Backbone.js models and collections
|