eyeballs 0.5.12.1 → 0.5.13
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/app.rb +19 -1
- data/eyeballs.gemspec +5 -3
- data/spec/model_generator_spec.rb +1 -1
- data/spec/scaffold_generator_spec.rb +1 -1
- data/src/drivers/jquery/adapters/o_O.rest.js +24 -3
- data/templates/initializer.js +1 -0
- data/test/run_unit_tests.html +9 -0
- data/test/unit/run_all.js +17 -0
- data/test/unit/test_binding.html +3 -1
- data/test/unit/test_controller.html +3 -0
- data/test/unit/test_dom.html +3 -0
- data/test/unit/test_dom_with_callbacks.html +3 -0
- data/test/unit/test_localstorage.html +3 -0
- data/test/unit/test_model.html +3 -0
- data/test/unit/test_model_with_callbacks.html +3 -0
- data/test/unit/test_params.html +3 -0
- data/test/unit/test_rest.html +22 -11
- data/test/unit/test_rest_global_config.html +61 -0
- data/test/unit/test_routing.html +8 -2
- metadata +7 -6
- data/test/index.html +0 -0
data/Rakefile
CHANGED
data/app.rb
CHANGED
@@ -3,6 +3,15 @@ require 'sinatra'
|
|
3
3
|
set :static, true
|
4
4
|
set :public, Proc.new { File.expand_path('.') }
|
5
5
|
|
6
|
+
get '/tests.js' do
|
7
|
+
content_type 'application/javascript'
|
8
|
+
files = []
|
9
|
+
Dir["#{File.join(File.expand_path('.'), 'test', 'unit')}/*.html"].each do |file|
|
10
|
+
files << "'#{File.basename(file)}'"
|
11
|
+
end
|
12
|
+
"var test_files = [#{files.join(',')}];"
|
13
|
+
end
|
14
|
+
|
6
15
|
get '/reviews' do
|
7
16
|
'[{"id": "1", "title":"Local, baby"}]'
|
8
17
|
end
|
@@ -40,12 +49,21 @@ end
|
|
40
49
|
|
41
50
|
post '/rails_reviews' do
|
42
51
|
if params[:rails_review]
|
43
|
-
'
|
52
|
+
'{"rails_review": {"id":"1"}}'
|
44
53
|
else
|
45
54
|
'fail'
|
46
55
|
end
|
47
56
|
end
|
48
57
|
|
58
|
+
get '/rails_reviews/1' do
|
59
|
+
'{"rails_review": {"id":"1"}}'
|
60
|
+
end
|
61
|
+
|
62
|
+
get '/alternate_rails_reviews/1' do
|
63
|
+
'{"alternate_rails_review": {"id":"1"}}'
|
64
|
+
end
|
65
|
+
|
66
|
+
|
49
67
|
post '/alternate_rails_reviews' do
|
50
68
|
if params[:alternate_object]
|
51
69
|
'ok'
|
data/eyeballs.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{eyeballs}
|
8
|
-
s.version = "0.5.
|
8
|
+
s.version = "0.5.13"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Paul Campbell"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-12-01}
|
13
13
|
s.default_executable = %q{eyeballs}
|
14
14
|
s.email = %q{paul@rslw.com}
|
15
15
|
s.executables = ["eyeballs"]
|
@@ -57,9 +57,10 @@ Gem::Specification.new do |s|
|
|
57
57
|
"templates/scaffold_edit.html.mustache",
|
58
58
|
"templates/scaffold_index.html",
|
59
59
|
"templates/scaffold_partial.html.mustache",
|
60
|
-
"test/
|
60
|
+
"test/run_unit_tests.html",
|
61
61
|
"test/unit/qunit.css",
|
62
62
|
"test/unit/qunit.js",
|
63
|
+
"test/unit/run_all.js",
|
63
64
|
"test/unit/test_binding.html",
|
64
65
|
"test/unit/test_controller.html",
|
65
66
|
"test/unit/test_dom.html",
|
@@ -69,6 +70,7 @@ Gem::Specification.new do |s|
|
|
69
70
|
"test/unit/test_model_with_callbacks.html",
|
70
71
|
"test/unit/test_params.html",
|
71
72
|
"test/unit/test_rest.html",
|
73
|
+
"test/unit/test_rest_global_config.html",
|
72
74
|
"test/unit/test_routing.html"
|
73
75
|
]
|
74
76
|
s.homepage = %q{http://www.github.com/paulca/eyeballs.js}
|
@@ -21,7 +21,7 @@ describe Eyeballs::ModelGenerator do
|
|
21
21
|
end
|
22
22
|
|
23
23
|
it "should fill out the model file" do
|
24
|
-
model_file.read.should include("o_O('Review', function(
|
24
|
+
model_file.read.should include("o_O('Review', function(){")
|
25
25
|
end
|
26
26
|
|
27
27
|
it "should fill out the controller file" do
|
@@ -1,5 +1,10 @@
|
|
1
1
|
// REST & Rails, woop!
|
2
2
|
o_O.rest = {
|
3
|
+
include_json_root: function(object){
|
4
|
+
return !!( o_O.config.include_json_root &&
|
5
|
+
window[object.model_name]['include_json_root'] == void(0)) ||
|
6
|
+
( window[object.model_name]['include_json_root'] === true )
|
7
|
+
},
|
3
8
|
figure_url: function(original_callback, object){
|
4
9
|
if(typeof original_callback.url === 'string')
|
5
10
|
{
|
@@ -47,13 +52,24 @@ o_O.rest = {
|
|
47
52
|
{
|
48
53
|
var object_to_save = {};
|
49
54
|
var url;
|
55
|
+
var include_json_root = this.include_json_root(object)
|
50
56
|
for(var i = 0; i < object.attributes.length; i++)
|
51
57
|
{
|
52
58
|
object_to_save[object.attributes[i]] = object[object.attributes[i]];
|
53
59
|
}
|
54
60
|
var respond = function(response){
|
55
61
|
try{
|
56
|
-
|
62
|
+
if(typeof response === 'string') {
|
63
|
+
response = JSON.parse(response);
|
64
|
+
}
|
65
|
+
|
66
|
+
var saved_object = null;
|
67
|
+
if(include_json_root) {
|
68
|
+
saved_object = response[object.model_name.underscore()];
|
69
|
+
} else {
|
70
|
+
saved_object = response;
|
71
|
+
}
|
72
|
+
|
57
73
|
for(var attribute in saved_object)
|
58
74
|
{
|
59
75
|
object_to_save[attribute] = saved_object[attribute];
|
@@ -70,8 +86,8 @@ o_O.rest = {
|
|
70
86
|
}
|
71
87
|
}
|
72
88
|
url = this.figure_url(original_callback, object);
|
73
|
-
|
74
|
-
if(
|
89
|
+
|
90
|
+
if(this.include_json_root(object))
|
75
91
|
{
|
76
92
|
var object_name;
|
77
93
|
new_object_to_save = {};
|
@@ -107,6 +123,7 @@ o_O.rest = {
|
|
107
123
|
find: function(model, id, callback, options)
|
108
124
|
{
|
109
125
|
var url = this.figure_url(options, model) + '/' + id;
|
126
|
+
var include_json_root = this.include_json_root(model)
|
110
127
|
$.get(url, function(response){
|
111
128
|
if(typeof response === 'object')
|
112
129
|
{
|
@@ -116,6 +133,10 @@ o_O.rest = {
|
|
116
133
|
{
|
117
134
|
try{
|
118
135
|
var retrieved_object = JSON.parse(response);
|
136
|
+
if(include_json_root)
|
137
|
+
{
|
138
|
+
retrieved_object = retrieved_object[model.model_name.underscore()]
|
139
|
+
}
|
119
140
|
}
|
120
141
|
catch(e){
|
121
142
|
var retrieved_object = model.initialize({id: id});
|
data/templates/initializer.js
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
o_O.model.adapter = o_O.rest;
|
5
5
|
o_O.config.authenticity_token = $('meta[name=csrf-token]').attr('content')
|
6
6
|
o_O.config.template_path = '/javascripts/app/views';
|
7
|
+
o_O.config.include_json_root = true;
|
7
8
|
|
8
9
|
jQuery.ajaxSetup({
|
9
10
|
'beforeSend': function(xhr) {xhr.setRequestHeader("Accept",
|
@@ -0,0 +1,17 @@
|
|
1
|
+
var current_test = document.location.pathname.split('/')[document.location.pathname.split('/').length - 1];
|
2
|
+
var index = test_files.indexOf(current_test)
|
3
|
+
|
4
|
+
if(index > -1 && document.location.hash === '#run_all')
|
5
|
+
{
|
6
|
+
setInterval(next_test_if_complete, 20)
|
7
|
+
}
|
8
|
+
|
9
|
+
function next_test_if_complete(){
|
10
|
+
if($('li.pass').length > 0 && $('li.fail').length === 0 && $('p#qunit-testresult'))
|
11
|
+
{
|
12
|
+
if(test_files[index+1])
|
13
|
+
{
|
14
|
+
document.location.href = test_files[index+1] + '#run_all'
|
15
|
+
}
|
16
|
+
}
|
17
|
+
}
|
data/test/unit/test_binding.html
CHANGED
@@ -5,6 +5,8 @@
|
|
5
5
|
<script src="../../dist/jquery/jquery-1.4.2.min.js"></script>
|
6
6
|
<script src="../../src/o_O.js"></script>
|
7
7
|
<script src="../../src/modules/o_O.model.js"></script>
|
8
|
+
<script src="/tests.js"></script>
|
9
|
+
<script src="run_all.js"></script>
|
8
10
|
|
9
11
|
<link rel="stylesheet" href="qunit.css" type="text/css" media="screen" />
|
10
12
|
<script type="text/javascript" src="qunit.js"></script>
|
@@ -15,7 +17,7 @@
|
|
15
17
|
|
16
18
|
o_O.config.bind_to = MyApp;
|
17
19
|
|
18
|
-
o_O('Review');
|
20
|
+
o_O('Review', function(){});
|
19
21
|
|
20
22
|
$(document).ready(function(){
|
21
23
|
|
@@ -5,6 +5,9 @@
|
|
5
5
|
<script src="../../dist/jquery/jquery-1.4.2.min.js"></script>
|
6
6
|
<script src="../../src/o_O.js"></script>
|
7
7
|
<script src="../../src/drivers/jquery/modules/o_O.controller.js"></script>
|
8
|
+
<script src="/tests.js"></script>
|
9
|
+
<script src="run_all.js"></script>
|
10
|
+
|
8
11
|
<link rel="stylesheet" href="qunit.css" type="text/css" media="screen" />
|
9
12
|
<script type="text/javascript" src="qunit.js"></script>
|
10
13
|
|
data/test/unit/test_dom.html
CHANGED
@@ -9,6 +9,9 @@
|
|
9
9
|
<script src="../../src/drivers/jquery/adapters/o_O.dom.js"></script>
|
10
10
|
<script src="../../src/drivers/jquery/modules/o_O.controller.js"></script>
|
11
11
|
<script src="../../src/drivers/jquery/modules/o_O.support.js"></script>
|
12
|
+
<script src="/tests.js"></script>
|
13
|
+
<script src="run_all.js"></script>
|
14
|
+
|
12
15
|
<link rel="stylesheet" href="qunit.css" type="text/css" media="screen" />
|
13
16
|
<script type="text/javascript" src="qunit.js"></script>
|
14
17
|
|
@@ -9,6 +9,9 @@
|
|
9
9
|
<script src="../../src/drivers/jquery/adapters/o_O.dom.js"></script>
|
10
10
|
<script src="../../src/drivers/jquery/modules/o_O.controller.js"></script>
|
11
11
|
<script src="../../src/drivers/jquery/modules/o_O.support.js"></script>
|
12
|
+
<script src="/tests.js"></script>
|
13
|
+
<script src="run_all.js"></script>
|
14
|
+
|
12
15
|
<link rel="stylesheet" href="qunit.css" type="text/css" media="screen" />
|
13
16
|
<script type="text/javascript" src="qunit.js"></script>
|
14
17
|
|
@@ -9,6 +9,9 @@
|
|
9
9
|
<script src="../../src/adapters/o_O.localstorage.js"></script>
|
10
10
|
<script src="../../src/drivers/jquery/modules/o_O.controller.js"></script>
|
11
11
|
<script src="../../src/drivers/jquery/modules/o_O.support.js"></script>
|
12
|
+
<script src="/tests.js"></script>
|
13
|
+
<script src="run_all.js"></script>
|
14
|
+
|
12
15
|
<link rel="stylesheet" href="qunit.css" type="text/css" media="screen" />
|
13
16
|
<script type="text/javascript" src="qunit.js"></script>
|
14
17
|
|
data/test/unit/test_model.html
CHANGED
@@ -9,6 +9,9 @@
|
|
9
9
|
<script src="../../src/drivers/jquery/adapters/o_O.dom.js"></script>
|
10
10
|
<script src="../../src/drivers/jquery/modules/o_O.controller.js"></script>
|
11
11
|
<script src="../../src/drivers/jquery/modules/o_O.support.js"></script>
|
12
|
+
<script src="/tests.js"></script>
|
13
|
+
<script src="run_all.js"></script>
|
14
|
+
|
12
15
|
<link rel="stylesheet" href="qunit.css" type="text/css" media="screen" />
|
13
16
|
<script type="text/javascript" src="qunit.js"></script>
|
14
17
|
|
@@ -9,6 +9,9 @@
|
|
9
9
|
<script src="../../src/drivers/jquery/adapters/o_O.dom.js"></script>
|
10
10
|
<script src="../../src/drivers/jquery/modules/o_O.controller.js"></script>
|
11
11
|
<script src="../../src/drivers/jquery/modules/o_O.support.js"></script>
|
12
|
+
<script src="/tests.js"></script>
|
13
|
+
<script src="run_all.js"></script>
|
14
|
+
|
12
15
|
<link rel="stylesheet" href="qunit.css" type="text/css" media="screen" />
|
13
16
|
<script type="text/javascript" src="qunit.js"></script>
|
14
17
|
|
data/test/unit/test_params.html
CHANGED
@@ -10,6 +10,9 @@
|
|
10
10
|
<script src="../../src/drivers/jquery/adapters/o_O.dom.js"></script>
|
11
11
|
<script src="../../src/drivers/jquery/modules/o_O.controller.js"></script>
|
12
12
|
<script src="../../src/drivers/jquery/modules/o_O.support.js"></script>
|
13
|
+
<script src="/tests.js"></script>
|
14
|
+
<script src="run_all.js"></script>
|
15
|
+
|
13
16
|
<link rel="stylesheet" href="qunit.css" type="text/css" media="screen" />
|
14
17
|
<script type="text/javascript" src="qunit.js"></script>
|
15
18
|
|
data/test/unit/test_rest.html
CHANGED
@@ -10,6 +10,9 @@
|
|
10
10
|
<script src="../../src/drivers/jquery/adapters/o_O.rest.js"></script>
|
11
11
|
<script src="../../src/drivers/jquery/modules/o_O.controller.js"></script>
|
12
12
|
<script src="../../src/drivers/jquery/modules/o_O.support.js"></script>
|
13
|
+
<script src="/tests.js"></script>
|
14
|
+
<script src="run_all.js"></script>
|
15
|
+
|
13
16
|
<link rel="stylesheet" href="qunit.css" type="text/css" media="screen" />
|
14
17
|
<script type="text/javascript" src="qunit.js"></script>
|
15
18
|
|
@@ -27,9 +30,10 @@
|
|
27
30
|
fake_review.url = '/reviews'
|
28
31
|
});
|
29
32
|
|
30
|
-
asyncTest('storing a basic basic thing', 3, function(){
|
33
|
+
asyncTest('Review.save() storing a basic basic thing', 3, function(){
|
31
34
|
var review = Review.initialize({title: 'Magic!'})
|
32
35
|
review.save(function(saved_review){
|
36
|
+
console.log(saved_review)
|
33
37
|
equals(saved_review.title, review.title, 'title should match');
|
34
38
|
equals(saved_review.id, '1', "Rails should give back the ID");
|
35
39
|
equals(saved_review.model_name, 'Review', 'should save the model name');
|
@@ -37,7 +41,7 @@
|
|
37
41
|
});
|
38
42
|
});
|
39
43
|
|
40
|
-
asyncTest('storing a basic basic thing with custom URL set in the model', function(){
|
44
|
+
asyncTest('FakeReview.create() storing a basic basic thing with custom URL set in the model', function(){
|
41
45
|
FakeReview.create({title: 'Magic!'}, function(saved_review){
|
42
46
|
equals(FakeReview.url, '/reviews', 'Should be set');
|
43
47
|
equals(saved_review.title, 'Magic!', 'title should match');
|
@@ -46,7 +50,7 @@
|
|
46
50
|
});
|
47
51
|
});
|
48
52
|
|
49
|
-
asyncTest('storing a basic basic thing with a custom URL set in the save', function(){
|
53
|
+
asyncTest('review.save() storing a basic basic thing with a custom URL set in the save', function(){
|
50
54
|
var review = Review.initialize({title: 'Magic!'})
|
51
55
|
review.save({
|
52
56
|
url: "/alternate_reviews",
|
@@ -66,20 +70,27 @@
|
|
66
70
|
review.json_root_name = 'alternate_object'
|
67
71
|
});
|
68
72
|
|
69
|
-
asyncTest('storing a basic basic thing with include_root', function(){
|
73
|
+
asyncTest('RailsReview.create() storing a basic basic thing with include_root', function(){
|
70
74
|
RailsReview.create({title: "Awesome"},function(review, response){
|
71
|
-
equals(
|
75
|
+
equals(review.id, '1', 'should fetch a tasty RailsReview');
|
76
|
+
start();
|
77
|
+
});
|
78
|
+
});
|
79
|
+
|
80
|
+
asyncTest('fetching with include_root', function(){
|
81
|
+
RailsReview.find(1,function(review, response){
|
82
|
+
equals(review.id, '1', 'should fetch a tasty RailsReview');
|
72
83
|
start();
|
73
84
|
});
|
74
85
|
});
|
75
86
|
|
76
|
-
asyncTest('specifying a custom json_root_name', function(){
|
77
|
-
AlternateRailsReview.
|
78
|
-
equals(
|
87
|
+
asyncTest('fetching while specifying a custom json_root_name', function(){
|
88
|
+
AlternateRailsReview.find(1,function(review, response){
|
89
|
+
equals(review.id, '1', 'should get an alternate_rails_review back');
|
79
90
|
start();
|
80
91
|
});
|
81
92
|
});
|
82
|
-
|
93
|
+
|
83
94
|
o_O.config.authenticity_token = 'a12345';
|
84
95
|
asyncTest('CSRF token', function(){
|
85
96
|
RailsReview.create({title: "Unnecessary"}, {
|
@@ -142,7 +153,7 @@
|
|
142
153
|
});
|
143
154
|
});
|
144
155
|
|
145
|
-
asyncTest('pulling something in', 2, function(){
|
156
|
+
asyncTest('Review.initialize(...).save(...) pulling something in', 2, function(){
|
146
157
|
var review = Review.initialize({title: 'More Magic!'});
|
147
158
|
review.save(function(){
|
148
159
|
found_review = Review.find(review.id, function(found_review){
|
@@ -153,7 +164,7 @@
|
|
153
164
|
});
|
154
165
|
})
|
155
166
|
|
156
|
-
asyncTest('pulling something in by itself', 1, function(){
|
167
|
+
asyncTest('Review.find(2) pulling something in by itself', 1, function(){
|
157
168
|
Review.find(2, {success: function(found_review){
|
158
169
|
equals(found_review.title, 'funtimes');
|
159
170
|
start();
|
@@ -0,0 +1,61 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/html4/loose.dtd">
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<script src="../../dist/jquery/jquery-1.4.2.min.js"></script>
|
6
|
+
|
7
|
+
<script src="../../src/o_O.js"></script>
|
8
|
+
<script src="../../src/modules/o_O.model.js"></script>
|
9
|
+
<script src="../../src/modules/o_O.validations.js"></script>
|
10
|
+
<script src="../../src/drivers/jquery/adapters/o_O.rest.js"></script>
|
11
|
+
<script src="../../src/drivers/jquery/modules/o_O.controller.js"></script>
|
12
|
+
<script src="../../src/drivers/jquery/modules/o_O.support.js"></script>
|
13
|
+
<script src="/tests.js"></script>
|
14
|
+
<script src="run_all.js"></script>
|
15
|
+
|
16
|
+
<link rel="stylesheet" href="qunit.css" type="text/css" media="screen" />
|
17
|
+
<script type="text/javascript" src="qunit.js"></script>
|
18
|
+
|
19
|
+
<script>
|
20
|
+
|
21
|
+
|
22
|
+
$(document).ready(function(){
|
23
|
+
|
24
|
+
o_O.model.adapter = o_O.rest;
|
25
|
+
|
26
|
+
module("REST Interface Test (with jQuery) testing Global config");
|
27
|
+
|
28
|
+
o_O.config.include_json_root = true
|
29
|
+
|
30
|
+
o_O('RailsReview', function(){
|
31
|
+
});
|
32
|
+
o_O('AlternateRailsReview', function(){
|
33
|
+
this.json_root_name = 'alternate_object'
|
34
|
+
});
|
35
|
+
|
36
|
+
asyncTest('RailsReview.create() storing a basic basic thing with include_root', function(){
|
37
|
+
RailsReview.create({title: "Awesome"},function(review, response){
|
38
|
+
equals(review.id, '1', 'should send things with a root');
|
39
|
+
start();
|
40
|
+
});
|
41
|
+
});
|
42
|
+
|
43
|
+
asyncTest('specifying a custom json_root_name', function(){
|
44
|
+
AlternateRailsReview.create({title: "Awesome"},function(review, response){
|
45
|
+
equals(response, 'ok', 'should send things to /alternate_rails_reviews');
|
46
|
+
start();
|
47
|
+
});
|
48
|
+
});
|
49
|
+
|
50
|
+
|
51
|
+
});
|
52
|
+
</script>
|
53
|
+
|
54
|
+
</head>
|
55
|
+
<body>
|
56
|
+
<h1 id="qunit-header">REST Interface Tests (with jQuery)</h1>
|
57
|
+
<h2 id="qunit-banner"></h2>
|
58
|
+
<h2 id="qunit-userAgent"></h2>
|
59
|
+
<ol id="qunit-tests"></ol>
|
60
|
+
</body>
|
61
|
+
</html>
|
data/test/unit/test_routing.html
CHANGED
@@ -11,6 +11,8 @@
|
|
11
11
|
<script src="../../src/drivers/jquery/modules/o_O.controller.js"></script>
|
12
12
|
<script src="../../src/drivers/jquery/modules/o_O.support.js"></script>
|
13
13
|
<script src="../../src/drivers/jquery/modules/o_O.routes.js"></script>
|
14
|
+
<script src="/tests.js"></script>
|
15
|
+
<script src="run_all.js"></script>
|
14
16
|
|
15
17
|
<link rel="stylesheet" href="qunit.css" type="text/css" media="screen" />
|
16
18
|
<script type="text/javascript" src="qunit.js"></script>
|
@@ -87,8 +89,12 @@
|
|
87
89
|
equals(o_O.routes.rules['my/action'].action(), ReviewsController.namespaced_index())
|
88
90
|
})
|
89
91
|
|
90
|
-
|
91
|
-
|
92
|
+
asyncTest('o_O.routes.root', function(){
|
93
|
+
document.location.hash = ''
|
94
|
+
setTimeout(function(){
|
95
|
+
equals($('div#root').html(), 'rooting for you');
|
96
|
+
start()
|
97
|
+
}, 300)
|
92
98
|
})
|
93
99
|
|
94
100
|
asyncTest('map.match',function(){
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eyeballs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
|
11
|
-
version: 0.5.12.1
|
9
|
+
- 13
|
10
|
+
version: 0.5.13
|
12
11
|
platform: ruby
|
13
12
|
authors:
|
14
13
|
- Paul Campbell
|
@@ -16,7 +15,7 @@ autorequire:
|
|
16
15
|
bindir: bin
|
17
16
|
cert_chain: []
|
18
17
|
|
19
|
-
date: 2010-
|
18
|
+
date: 2010-12-01 00:00:00 +00:00
|
20
19
|
default_executable: eyeballs
|
21
20
|
dependencies:
|
22
21
|
- !ruby/object:Gem::Dependency
|
@@ -96,9 +95,10 @@ files:
|
|
96
95
|
- templates/scaffold_edit.html.mustache
|
97
96
|
- templates/scaffold_index.html
|
98
97
|
- templates/scaffold_partial.html.mustache
|
99
|
-
- test/
|
98
|
+
- test/run_unit_tests.html
|
100
99
|
- test/unit/qunit.css
|
101
100
|
- test/unit/qunit.js
|
101
|
+
- test/unit/run_all.js
|
102
102
|
- test/unit/test_binding.html
|
103
103
|
- test/unit/test_controller.html
|
104
104
|
- test/unit/test_dom.html
|
@@ -108,6 +108,7 @@ files:
|
|
108
108
|
- test/unit/test_model_with_callbacks.html
|
109
109
|
- test/unit/test_params.html
|
110
110
|
- test/unit/test_rest.html
|
111
|
+
- test/unit/test_rest_global_config.html
|
111
112
|
- test/unit/test_routing.html
|
112
113
|
- spec/app_generator_spec.rb
|
113
114
|
- spec/controller_generator_spec.rb
|
data/test/index.html
DELETED
File without changes
|