backbone-jasmine 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.
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Explain the generator
3
+
4
+ Example:
5
+ rails generate backbone_jasmine Thing
6
+
7
+ This will create:
8
+ what/will/it/create
@@ -0,0 +1,18 @@
1
+ require 'generators/backbone_jasmine'
2
+
3
+ module BackboneJasmine
4
+ module Generators
5
+ class ModelGenerator < Base
6
+
7
+ argument :model_name, :type => :string, :banner => 'model_name'
8
+
9
+ def generate_model_test
10
+
11
+ template "model_no_collection.js", "spec/javascripts/models/#{model_name}_spec.js"
12
+ end
13
+
14
+ private
15
+
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,38 @@
1
+ describe('<%= model_name %> model', function() {
2
+
3
+ beforeEach(function() {
4
+
5
+ this.<%=model_name%> = new <%=model_name.capitalize%>({
6
+ my_attribute: "my_value"
7
+ });
8
+
9
+ });
10
+
11
+ describe('when instantiated with an attribute', function() {
12
+ it('should see an attribute', function() {
13
+ expect(this.<%=model_name%>.get('my_attribute')).toEqual("my_value");
14
+ });
15
+
16
+ });
17
+
18
+ describe("url", function() {
19
+ beforeEach(function() {
20
+ var collection = {
21
+ url: "/collection"
22
+ };
23
+ this.<%=model_name%>.collection = collection;
24
+ });
25
+ describe("when no id is set", function() {
26
+ it("should return the collection URL", function() {
27
+ expect(this.<%=model_name%>.url()).toEqual("/collection");
28
+ });
29
+ });
30
+
31
+ describe("when id is set", function() {
32
+ it("should return the collection URL and id", function() {
33
+ this.<%=model_name%>.id = 1;
34
+ expect(this.<%=model_name%>.url()).toEqual("/collection/1");
35
+ });
36
+ });
37
+ });
38
+ });
@@ -0,0 +1,38 @@
1
+ describe('<%= model_name %> model', function() {
2
+
3
+ beforeEach(function() {
4
+
5
+ this.<%=model_name%> = new <%=model_name.capitalize%>({
6
+ my_attribute: "my_value"
7
+ });
8
+
9
+ });
10
+
11
+ describe('when instantiated with an attribute', function() {
12
+ it('should see an attribute', function() {
13
+ expect(this.<%=model_name%>.get('my_attribute')).toEqual("my_value");
14
+ });
15
+
16
+ });
17
+
18
+ describe("url", function() {
19
+ beforeEach(function() {
20
+ var collection = {
21
+ url: "/collection"
22
+ };
23
+ this.<%=model_name%>.collection = collection;
24
+ });
25
+ describe("when no id is set", function() {
26
+ it("should return the collection URL", function() {
27
+ expect(this.<%=model_name%>.url()).toEqual("/collection");
28
+ });
29
+ });
30
+
31
+ describe("when id is set", function() {
32
+ it("should return the collection URL and id", function() {
33
+ this.<%=model_name%>.id = 1;
34
+ expect(this.<%=model_name%>.url()).toEqual("/collection/1");
35
+ });
36
+ });
37
+ });
38
+ });
@@ -0,0 +1,33 @@
1
+ describe('<%= model_name %> model', function() {
2
+
3
+ beforeEach(function() {
4
+
5
+ this.<%=model_name%> = new <%=model_name.capitalize%>({
6
+ my_attribute: "my_value"
7
+ });
8
+
9
+ });
10
+
11
+ describe('when instantiated with an attribute', function() {
12
+ it('should see an attribute', function() {
13
+ expect(this.<%=model_name%>.get('my_attribute')).toEqual("my_value");
14
+ });
15
+
16
+ });
17
+
18
+ describe("url", function() {
19
+
20
+ describe("when no id is set", function() {
21
+ it("should return the collection URL", function() {
22
+ expect(this.<%=model_name%>.url()).toEqual("/<%=model_name%>");
23
+ });
24
+ });
25
+
26
+ describe("when id is set", function() {
27
+ it("should return the collection URL and id", function() {
28
+ this.<%=model_name%>.id = 1;
29
+ expect(this.<%=model_name%>.url()).toEqual("/<%=model_name.pluralize%>/1");
30
+ });
31
+ });
32
+ });
33
+ });
metadata ADDED
@@ -0,0 +1,101 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: backbone-jasmine
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Wavell Watson
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-05-07 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: jquery-rails
16
+ requirement: &2151817460 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *2151817460
25
+ - !ruby/object:Gem::Dependency
26
+ name: backbone-on-rails
27
+ requirement: &2151816180 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *2151816180
36
+ - !ruby/object:Gem::Dependency
37
+ name: jasmine
38
+ requirement: &2151814960 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *2151814960
47
+ description: Generates tests for backbone.js within rails
48
+ email:
49
+ - wavell.watson@gmail.com
50
+ executables: []
51
+ extensions: []
52
+ extra_rdoc_files: []
53
+ files:
54
+ - lib/backbone-jasmine/version.rb
55
+ - lib/backbone-jasmine.rb
56
+ - lib/generators/backbone_jasmine/collection/collection_generator.rb
57
+ - lib/generators/backbone_jasmine/collection/templates/collection_without_model.js
58
+ - lib/generators/backbone_jasmine/collection/USAGE
59
+ - lib/generators/backbone_jasmine/install/install_generator.rb
60
+ - lib/generators/backbone_jasmine/install/templates/jasmine-html.js
61
+ - lib/generators/backbone_jasmine/install/templates/jasmine-jquery-1.3.1.js
62
+ - lib/generators/backbone_jasmine/install/templates/jasmine-sinon.js
63
+ - lib/generators/backbone_jasmine/install/templates/jasmine.yml
64
+ - lib/generators/backbone_jasmine/install/templates/jasmine_config.rb
65
+ - lib/generators/backbone_jasmine/install/templates/jasmine_runner.rb
66
+ - lib/generators/backbone_jasmine/install/templates/sinon-1.1.1.js
67
+ - lib/generators/backbone_jasmine/model/model_generator.rb
68
+ - lib/generators/backbone_jasmine/model/templates/model.js
69
+ - lib/generators/backbone_jasmine/model/templates/model_no_collection.js
70
+ - lib/generators/backbone_jasmine/model/templates/model_with_collection.js
71
+ - lib/generators/backbone_jasmine/model/USAGE
72
+ - lib/generators/backbone_jasmine.rb
73
+ - Gemfile
74
+ - LICENSE
75
+ - Rakefile
76
+ - README.md
77
+ homepage: https://github.com/wavell/backbone-jasmine
78
+ licenses: []
79
+ post_install_message:
80
+ rdoc_options: []
81
+ require_paths:
82
+ - lib
83
+ required_ruby_version: !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ required_rubygems_version: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ requirements: []
96
+ rubyforge_project:
97
+ rubygems_version: 1.8.17
98
+ signing_key:
99
+ specification_version: 3
100
+ summary: Generates tests using Jasmine and Sinon
101
+ test_files: []