sinatra-backbone 0.1.0.rc2 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/.travis.yml +10 -0
- data/Gemfile +8 -0
- data/HISTORY.md +10 -0
- data/NOTES.md +18 -0
- data/README.md +7 -3
- data/Rakefile +8 -5
- data/examples/jstpages/app.rb +21 -0
- data/examples/jstpages/config.ru +3 -0
- data/examples/jstpages/public/app.js +20 -0
- data/examples/jstpages/views/hello.jst.tpl +6 -0
- data/examples/jstpages/views/home.erb +25 -0
- data/examples/restapi/app.rb +1 -1
- data/lib/sinatra/backbone.rb +1 -1
- data/lib/sinatra/jstpages.rb +52 -24
- data/lib/sinatra/restapi.rb +12 -3
- data/sinatra-backbone.gemspec +5 -4
- data/test/app_test.rb +1 -1
- data/test/arity_test.rb +1 -0
- data/test/emulate_test.rb +3 -1
- data/test/test_helper.rb +2 -0
- metadata +75 -39
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: bcedfa3b2d562cb41eb59862c2ec4a6f1b386766
|
4
|
+
data.tar.gz: 354eb0281a8a5a698683fdb5ec0470d83bedff3a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 32e495b1538b46ff02dfd27a389ea880a511581f8d3f5e0e0754d5cc66e302f3778d0dacfc140339cfd22f5ee10bc2cca1a4a60f98ab5de1d9462510ce493fbf
|
7
|
+
data.tar.gz: da7639ea910d6e761ce0aac430f618a3d7efa4814ae7b75f20d56a1b1aafbd5e4d2dc3aefac6a573e7f4e9c89a900c26a0bb4014e752cf1487ac1c320c24250c
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/HISTORY.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
v0.1.1 - Apr 17, 2013
|
2
|
+
---------------------
|
3
|
+
|
4
|
+
* Allow `.jst` file extensions. (in addition to `.jst.eco` and similar)
|
5
|
+
* Check for validity of models on the server.
|
6
|
+
* Documentation updates.
|
7
|
+
* Make the error message helpful if you forget #to_hash.
|
8
|
+
* Refactor rest_resource to split up into rest_edit, rest_delete and rest_get.
|
9
|
+
* Support multiple args in routes.
|
10
|
+
|
1
11
|
v0.1.0.rc2 - Sep 12, 2011
|
2
12
|
-------------------------
|
3
13
|
|
data/NOTES.md
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
Development notes
|
2
|
+
=================
|
3
|
+
|
4
|
+
### Multiple Sinatra version testing
|
5
|
+
|
6
|
+
$ rake test!
|
7
|
+
|
8
|
+
Or a certain version:
|
9
|
+
|
10
|
+
$ sinatra=1.3 bundle exec rake test
|
11
|
+
|
12
|
+
### Documentation
|
13
|
+
|
14
|
+
Install [reacco], then:
|
15
|
+
|
16
|
+
$ rake doc:build
|
17
|
+
|
18
|
+
[reacco]: https://github.com/rstacruz/reacco
|
data/README.md
CHANGED
@@ -21,10 +21,14 @@ Contents
|
|
21
21
|
__Sinatra-backbone__ is comprised of two Sinatra plugins:
|
22
22
|
|
23
23
|
* `Sinatra::JstPages` – Provides support for JavaScript server templates (JST)
|
24
|
-
for use in Backbone views.
|
24
|
+
for use in Backbone views. See [JstPages example][jstx] for a full example
|
25
|
+
application.
|
25
26
|
|
26
27
|
* `Sinatra::RestAPI` – Provides restful API for your models for use in Backbone
|
27
|
-
models.
|
28
|
+
models. See [RestAPI example][restx] for a full example application.
|
29
|
+
|
30
|
+
[jstx]: https://github.com/rstacruz/sinatra-backbone/tree/master/examples/jstpages
|
31
|
+
[restx]: https://github.com/rstacruz/sinatra-backbone/tree/master/examples/restapi
|
28
32
|
|
29
33
|
For usage and API reference, please see http://ricostacruz.com/sinatra-backbone. [](#api_reference)
|
30
34
|
|
@@ -35,7 +39,7 @@ Acknowledgements
|
|
35
39
|
License](http://www.opensource.org/licenses/mit-license.php).
|
36
40
|
|
37
41
|
Sinatra-Backbone is authored and maintained by [Rico Sta. Cruz][rsc] with help
|
38
|
-
from
|
42
|
+
from its [contributors][c]. It is sponsored by my startup, [Sinefunc, Inc][sf].
|
39
43
|
|
40
44
|
* [My website](http://ricostacruz.com) (ricostacruz.com)
|
41
45
|
* [Sinefunc, Inc.](http://sinefunc.com) (sinefunc.com)
|
data/Rakefile
CHANGED
@@ -1,9 +1,11 @@
|
|
1
|
+
require 'bundler/gem_tasks'
|
2
|
+
|
1
3
|
desc "Invokes the test suite in multiple RVM environments"
|
2
4
|
task :'test!' do
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
5
|
+
%w[1.3 1.4 master].each do |version|
|
6
|
+
env = "env sinatra=#{version}"
|
7
|
+
system("rm -f Gemfile.lock; #{env} bundle && #{env} bundle exec rake test") or abort
|
8
|
+
end
|
7
9
|
end
|
8
10
|
|
9
11
|
desc "Runs tests"
|
@@ -18,7 +20,8 @@ namespace :doc do
|
|
18
20
|
desc "Builds documentation"
|
19
21
|
task :build do
|
20
22
|
# github.com/rstacruz/reacco
|
21
|
-
|
23
|
+
analytics = "--analytics #{ENV['ANALYTICS_ID']}" if ENV['ANALYTICS_ID']
|
24
|
+
system "reacco --literate --toc --api lib --github #{repo} #{analytics}"
|
22
25
|
end
|
23
26
|
|
24
27
|
desc "Uploads documentation"
|
@@ -0,0 +1,21 @@
|
|
1
|
+
$:.unshift File.expand_path('../../../lib', __FILE__)
|
2
|
+
|
3
|
+
require 'sinatra/base'
|
4
|
+
require 'sequel'
|
5
|
+
require 'sinatra/backbone'
|
6
|
+
|
7
|
+
class App < Sinatra::Base
|
8
|
+
enable :raise_errors, :logging
|
9
|
+
enable :show_exceptions if development?
|
10
|
+
|
11
|
+
register Sinatra::JstPages
|
12
|
+
serve_jst '/jst.js'
|
13
|
+
|
14
|
+
set :root, File.expand_path('../', __FILE__)
|
15
|
+
set :views, File.expand_path('../views', __FILE__)
|
16
|
+
set :public, File.expand_path('../public', __FILE__)
|
17
|
+
|
18
|
+
get '/' do
|
19
|
+
erb :home
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
// Here is our Backbone model!
|
2
|
+
$(function() {
|
3
|
+
do_test();
|
4
|
+
});
|
5
|
+
|
6
|
+
function do_test() {
|
7
|
+
echo("<h3>Rendering from template:</h3>");
|
8
|
+
echo(JST['hello']({name: "Julie Kitzinger", age: "33"}));
|
9
|
+
echo("<h3>Success!</h3>");
|
10
|
+
}
|
11
|
+
|
12
|
+
// Helper functions
|
13
|
+
function echo(html) {
|
14
|
+
$("#messages").append(html);
|
15
|
+
};
|
16
|
+
|
17
|
+
function onerror() {
|
18
|
+
echo("<p class='error'>Oops... an error occured.</p>");
|
19
|
+
};
|
20
|
+
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8" />
|
5
|
+
<title></title>
|
6
|
+
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/1.6.2/jquery.min.js'></script>
|
7
|
+
<script src='http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.1.7/underscore-min.js'></script>
|
8
|
+
<script src='http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.5.3/backbone-min.js'></script>
|
9
|
+
<style>
|
10
|
+
body { font-family: sans-serif; font-size: 13px; line-height: 1.5; background: #d0d0da; }
|
11
|
+
#messages { width: 400px; margin: 20px auto; background: white; padding: 20px; border: solid 10px #c0c0ca; }
|
12
|
+
h3 { border-top: dotted 1px #ccc; padding: 20px 20px 0 20px; margin: 20px -20px 0 -20px; color: #46a; }
|
13
|
+
h3:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
|
14
|
+
dl { overflow: hidden; }
|
15
|
+
dt { float: left; width: 120px; margin-right: 10px; text-align: right; color: #aaa; }
|
16
|
+
h3 { font-family: palatino; font-size: 1.3em; }
|
17
|
+
</style>
|
18
|
+
</head>
|
19
|
+
<body>
|
20
|
+
<div id="messages">
|
21
|
+
</div>
|
22
|
+
<script src='jst.js'></script>
|
23
|
+
<script src='app.js'></script>
|
24
|
+
</body>
|
25
|
+
</html>
|
data/examples/restapi/app.rb
CHANGED
data/lib/sinatra/backbone.rb
CHANGED
data/lib/sinatra/jstpages.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
|
-
# ##
|
1
|
+
# ## JstPages [module]
|
2
2
|
# A Sinatra plugin that adds support for JST (JavaScript Server Templates).
|
3
|
+
# See [JstPages example][jstx] for a full example application.
|
3
4
|
#
|
4
|
-
#
|
5
|
+
# ### Basic usage
|
5
6
|
# Register the `Sinatra::JstPages` plugin in your application, and use
|
6
7
|
# `serve_jst`. This example serves all JST files found in `/views/**/*.jst.*`
|
7
8
|
# (where `/views` is your views directory as defined in Sinatra's
|
@@ -16,15 +17,16 @@
|
|
16
17
|
#
|
17
18
|
# You will need to link to the JST route in your layout. Make a `<script>` tag
|
18
19
|
# where the `src='...'` attribute is the same path you provide to `serve_jst`.
|
19
|
-
#
|
20
|
+
#
|
20
21
|
# <script type='text/javascript' src='/jst.js'></script>
|
21
22
|
#
|
22
|
-
# So, if you have a JST view
|
23
|
+
# So, if you have a JST view placed in `views/editor/edit.jst.tpl`:
|
23
24
|
#
|
24
|
-
# # views/editor/edit.jst.
|
25
|
-
# h1
|
26
|
-
#
|
27
|
-
#
|
25
|
+
# # views/editor/edit.jst.tpl
|
26
|
+
# <h1>Edit <%= name %></h1>
|
27
|
+
# <form>
|
28
|
+
# <button>Save</button>
|
29
|
+
# </form>
|
28
30
|
#
|
29
31
|
# Now in your browser you may invoke `JST['templatename']`:
|
30
32
|
#
|
@@ -42,23 +44,46 @@
|
|
42
44
|
#
|
43
45
|
# [sap]: http://ricostacruz.com/sinatra-assetpack
|
44
46
|
#
|
45
|
-
#
|
46
|
-
# Currently supports the following templates:
|
47
|
+
# ### Supported templates
|
47
48
|
#
|
48
|
-
#
|
49
|
+
# __[Jade][jade]__ (`.jst.jade`) -- Jade templates. This requires
|
49
50
|
# [jade.js][jade]. For older browsers, you will also need [json2.js][json2],
|
50
51
|
# and an implementation of [String.prototype.trim][trim].
|
51
52
|
#
|
52
|
-
#
|
53
|
+
# # views/editor/edit.jst.jade
|
54
|
+
# h1= "Edit "+name
|
55
|
+
# form
|
56
|
+
# button Save
|
57
|
+
#
|
58
|
+
# __[Underscore templates][under_tpl]__ (`.jst.tpl`) -- Simple templates by
|
53
59
|
# underscore. This requires [underscore.js][under], which Backbone also
|
54
60
|
# requires.
|
55
61
|
#
|
56
|
-
#
|
62
|
+
# # views/editor/edit.jst.tpl
|
63
|
+
# <h1>Edit <%= name %></h1>
|
64
|
+
# <form>
|
65
|
+
# <button>Save</button>
|
66
|
+
# </form>
|
67
|
+
#
|
68
|
+
# __[Haml.js][haml]__ (`.jst.haml`) -- A JavaScript implementation of Haml.
|
57
69
|
# Requires [haml.js][haml].
|
58
70
|
#
|
59
|
-
#
|
71
|
+
# # views/editor/edit.jst.haml
|
72
|
+
# %h1= "Edit "+name
|
73
|
+
# %form
|
74
|
+
# %button Save
|
75
|
+
#
|
76
|
+
# __[Eco][eco]__ (`.jst.eco`) -- Embedded CoffeeScript templates. Requires
|
60
77
|
# [eco.js][eco] and [coffee-script.js][cs].
|
61
78
|
#
|
79
|
+
# # views/editor/edit.jst.eco
|
80
|
+
# <h1>Edit <%= name %></h1>
|
81
|
+
# <form>
|
82
|
+
# <button>Save</button>
|
83
|
+
# </form>
|
84
|
+
#
|
85
|
+
# You can add support for more templates by subclassing the `Engine` class.
|
86
|
+
#
|
62
87
|
# [jade]: http://github.com/visionmedia/jade
|
63
88
|
# [json2]: https://github.com/douglascrockford/JSON-js
|
64
89
|
# [trim]: http://snippets.dzone.com/posts/show/701
|
@@ -67,6 +92,7 @@
|
|
67
92
|
# [haml]: https://github.com/creationix/haml-js
|
68
93
|
# [eco]: https://github.com/sstephenson/eco
|
69
94
|
# [cs]: http://coffeescript.org
|
95
|
+
# [jstx]: https://github.com/rstacruz/sinatra-backbone/tree/master/examples/jstpages
|
70
96
|
#
|
71
97
|
module Sinatra
|
72
98
|
module JstPages
|
@@ -86,15 +112,16 @@ module Sinatra
|
|
86
112
|
|
87
113
|
module Helpers
|
88
114
|
# Returns a list of JST files.
|
89
|
-
def jst_files
|
115
|
+
def jst_files(options = {})
|
90
116
|
# Tuples of [ name, Engine instance ]
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
name
|
95
|
-
|
117
|
+
root = options[:root] || settings.views
|
118
|
+
tuples = Dir.chdir(root) {
|
119
|
+
Dir["**/*.jst*"].map { |fn|
|
120
|
+
name = fn.match(%r{^(.*)\.jst})[1]
|
121
|
+
ext = fn.match(%r{\.([^\.]*)$})[1]
|
122
|
+
engine = JstPages.mappings[ext]
|
96
123
|
|
97
|
-
[ name, engine.new(File.join(
|
124
|
+
[ name, engine.new(File.join(root, fn)) ] if engine
|
98
125
|
}.compact
|
99
126
|
}
|
100
127
|
|
@@ -109,7 +136,7 @@ module Sinatra
|
|
109
136
|
def serve_jst(path, options={})
|
110
137
|
get path do
|
111
138
|
content_type :js
|
112
|
-
jsts = jst_files.map { |(name, engine)|
|
139
|
+
jsts = jst_files(options).map { |(name, engine)|
|
113
140
|
%{
|
114
141
|
JST[#{name.inspect}] = function() {
|
115
142
|
if (!c[#{name.inspect}]) c[#{name.inspect}] = (#{engine.function});
|
@@ -132,7 +159,7 @@ module Sinatra
|
|
132
159
|
end
|
133
160
|
|
134
161
|
|
135
|
-
# ##
|
162
|
+
# ## JstPages::Engine [class]
|
136
163
|
# A template engine.
|
137
164
|
#
|
138
165
|
# #### Adding support for new template engines
|
@@ -176,7 +203,7 @@ module Sinatra::JstPages
|
|
176
203
|
end
|
177
204
|
|
178
205
|
class HamlEngine < Engine
|
179
|
-
def function() "Haml
|
206
|
+
def function() "Haml(#{contents.inspect})"; end
|
180
207
|
end
|
181
208
|
|
182
209
|
class JadeEngine < Engine
|
@@ -190,6 +217,7 @@ module Sinatra::JstPages
|
|
190
217
|
end
|
191
218
|
|
192
219
|
register 'tpl', Engine
|
220
|
+
register 'jst', Engine
|
193
221
|
register 'jade', JadeEngine
|
194
222
|
register 'haml', HamlEngine
|
195
223
|
register 'eco', EcoEngine
|
data/lib/sinatra/restapi.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'json'
|
2
2
|
|
3
|
-
# ##
|
3
|
+
# ## RestAPI [module]
|
4
4
|
# A plugin for providing rest API to models. Great for Backbone.js.
|
5
5
|
#
|
6
6
|
# To use this, simply `register` it to your Sinatra Application. You can then
|
@@ -223,7 +223,16 @@ module Sinatra::RestAPI
|
|
223
223
|
# attempts to convert your model instances to JSON by first trying
|
224
224
|
# `object.to_json` on it, then trying `object.to_hash.to_json`.
|
225
225
|
#
|
226
|
-
#
|
226
|
+
# You will need to implement `#to_hash` or `#to_json` in your models.
|
227
|
+
#
|
228
|
+
# class Album < Sequel::Model
|
229
|
+
# def to_hash
|
230
|
+
# { :id => id,
|
231
|
+
# :title => title,
|
232
|
+
# :artist => artist,
|
233
|
+
# :year => year }
|
234
|
+
# end
|
235
|
+
# end
|
227
236
|
|
228
237
|
# ### Helper methods
|
229
238
|
# There are some helper methods that are used internally be `RestAPI`,
|
@@ -284,7 +293,7 @@ module Sinatra::RestAPI
|
|
284
293
|
# Let's hope they redefined to_hash.
|
285
294
|
return obj.to_hash.to_json if obj.respond_to?(:to_hash)
|
286
295
|
|
287
|
-
raise "Can't convert object to JSON"
|
296
|
+
raise "Can't convert object to JSON. Consider implementing #to_hash to #{obj.class.name}."
|
288
297
|
end
|
289
298
|
end
|
290
299
|
end
|
data/sinatra-backbone.gemspec
CHANGED
@@ -11,9 +11,10 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.executables = Dir["bin/*"].map { |f| File.basename(f) }
|
12
12
|
|
13
13
|
s.add_dependency "sinatra"
|
14
|
+
s.add_development_dependency "rake"
|
14
15
|
s.add_development_dependency "sequel", ">= 3.25.0"
|
15
|
-
s.add_development_dependency "sqlite3", "
|
16
|
-
s.add_development_dependency "contest"
|
17
|
-
s.add_development_dependency "mocha"
|
18
|
-
s.add_development_dependency "rack-test"
|
16
|
+
s.add_development_dependency "sqlite3", "~> 1.3.4"
|
17
|
+
s.add_development_dependency "contest", "~> 0.1.3"
|
18
|
+
s.add_development_dependency "mocha", "~> 0.13.3"
|
19
|
+
s.add_development_dependency "rack-test", "~> 0.6.2"
|
19
20
|
end
|
data/test/app_test.rb
CHANGED
data/test/arity_test.rb
CHANGED
@@ -31,6 +31,7 @@ class ArityTest < UnitTest
|
|
31
31
|
|
32
32
|
test "put/post" do
|
33
33
|
FauxModel.any_instance.expects(:x=).times(1).returns(true)
|
34
|
+
FauxModel.any_instance.expects(:valid?).times(1).returns(true)
|
34
35
|
FauxModel.any_instance.expects(:save).times(1).returns(true)
|
35
36
|
|
36
37
|
header 'Accept', 'application/json, */*'
|
data/test/emulate_test.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require File.expand_path('../test_helper', __FILE__)
|
2
|
+
require 'ostruct'
|
2
3
|
|
3
4
|
class EmulateTest < UnitTest
|
4
5
|
class App < Sinatra::Base
|
@@ -6,7 +7,7 @@ class EmulateTest < UnitTest
|
|
6
7
|
disable :show_exceptions
|
7
8
|
enable :raise_errors
|
8
9
|
|
9
|
-
rest_resource("/api/:id") { |id| FauxModel.new
|
10
|
+
rest_resource("/api/:id") { |id| FauxModel.new }
|
10
11
|
end
|
11
12
|
|
12
13
|
def app() App; end
|
@@ -18,6 +19,7 @@ class EmulateTest < UnitTest
|
|
18
19
|
test "emulate json and emulate http" do
|
19
20
|
FauxModel.any_instance.expects(:two=).times(1).returns(true)
|
20
21
|
FauxModel.any_instance.expects(:save).times(1).returns(true)
|
22
|
+
FauxModel.any_instance.expects(:valid?).times(1).returns(true)
|
21
23
|
FauxModel.any_instance.expects(:to_hash).times(1).returns('a' => 'b')
|
22
24
|
|
23
25
|
post "/api/2", :model => { :two => 2 }.to_json
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,83 +1,113 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra-backbone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease: 6
|
4
|
+
version: 0.1.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Rico Sta. Cruz
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
13
|
-
default_executable:
|
11
|
+
date: 2013-04-17 00:00:00.000000000 Z
|
14
12
|
dependencies:
|
15
13
|
- !ruby/object:Gem::Dependency
|
16
14
|
name: sinatra
|
17
|
-
requirement:
|
18
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
19
16
|
requirements:
|
20
|
-
- -
|
17
|
+
- - '>='
|
21
18
|
- !ruby/object:Gem::Version
|
22
19
|
version: '0'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
26
41
|
- !ruby/object:Gem::Dependency
|
27
42
|
name: sequel
|
28
|
-
requirement:
|
29
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
|
-
- -
|
45
|
+
- - '>='
|
32
46
|
- !ruby/object:Gem::Version
|
33
47
|
version: 3.25.0
|
34
48
|
type: :development
|
35
49
|
prerelease: false
|
36
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 3.25.0
|
37
55
|
- !ruby/object:Gem::Dependency
|
38
56
|
name: sqlite3
|
39
|
-
requirement:
|
40
|
-
none: false
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
41
58
|
requirements:
|
42
|
-
- -
|
59
|
+
- - ~>
|
43
60
|
- !ruby/object:Gem::Version
|
44
61
|
version: 1.3.4
|
45
62
|
type: :development
|
46
63
|
prerelease: false
|
47
|
-
version_requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.3.4
|
48
69
|
- !ruby/object:Gem::Dependency
|
49
70
|
name: contest
|
50
|
-
requirement:
|
51
|
-
none: false
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
52
72
|
requirements:
|
53
|
-
- -
|
73
|
+
- - ~>
|
54
74
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
75
|
+
version: 0.1.3
|
56
76
|
type: :development
|
57
77
|
prerelease: false
|
58
|
-
version_requirements:
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.1.3
|
59
83
|
- !ruby/object:Gem::Dependency
|
60
84
|
name: mocha
|
61
|
-
requirement:
|
62
|
-
none: false
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
63
86
|
requirements:
|
64
|
-
- -
|
87
|
+
- - ~>
|
65
88
|
- !ruby/object:Gem::Version
|
66
|
-
version:
|
89
|
+
version: 0.13.3
|
67
90
|
type: :development
|
68
91
|
prerelease: false
|
69
|
-
version_requirements:
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.13.3
|
70
97
|
- !ruby/object:Gem::Dependency
|
71
98
|
name: rack-test
|
72
|
-
requirement:
|
73
|
-
none: false
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
74
100
|
requirements:
|
75
|
-
- -
|
101
|
+
- - ~>
|
76
102
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
103
|
+
version: 0.6.2
|
78
104
|
type: :development
|
79
105
|
prerelease: false
|
80
|
-
version_requirements:
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ~>
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.6.2
|
81
111
|
description: Provides Rest API access to your models and serves JST pages.
|
82
112
|
email:
|
83
113
|
- rico@sinefunc.com
|
@@ -86,9 +116,17 @@ extensions: []
|
|
86
116
|
extra_rdoc_files: []
|
87
117
|
files:
|
88
118
|
- .gitignore
|
119
|
+
- .travis.yml
|
120
|
+
- Gemfile
|
89
121
|
- HISTORY.md
|
122
|
+
- NOTES.md
|
90
123
|
- README.md
|
91
124
|
- Rakefile
|
125
|
+
- examples/jstpages/app.rb
|
126
|
+
- examples/jstpages/config.ru
|
127
|
+
- examples/jstpages/public/app.js
|
128
|
+
- examples/jstpages/views/hello.jst.tpl
|
129
|
+
- examples/jstpages/views/home.erb
|
92
130
|
- examples/restapi/app.rb
|
93
131
|
- examples/restapi/config.ru
|
94
132
|
- examples/restapi/home.erb
|
@@ -105,29 +143,27 @@ files:
|
|
105
143
|
- test/jst_test.rb
|
106
144
|
- test/test_helper.rb
|
107
145
|
- test/to_json_test.rb
|
108
|
-
has_rdoc: true
|
109
146
|
homepage: http://github.com/rstacruz/sinatra-backbone
|
110
147
|
licenses: []
|
148
|
+
metadata: {}
|
111
149
|
post_install_message:
|
112
150
|
rdoc_options: []
|
113
151
|
require_paths:
|
114
152
|
- lib
|
115
153
|
required_ruby_version: !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
154
|
requirements:
|
118
|
-
- -
|
155
|
+
- - '>='
|
119
156
|
- !ruby/object:Gem::Version
|
120
157
|
version: '0'
|
121
158
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
159
|
requirements:
|
124
|
-
- -
|
160
|
+
- - '>='
|
125
161
|
- !ruby/object:Gem::Version
|
126
|
-
version:
|
162
|
+
version: '0'
|
127
163
|
requirements: []
|
128
164
|
rubyforge_project:
|
129
|
-
rubygems_version:
|
165
|
+
rubygems_version: 2.0.0
|
130
166
|
signing_key:
|
131
|
-
specification_version:
|
167
|
+
specification_version: 4
|
132
168
|
summary: Helpful stuff using Sinatra with Backbone.
|
133
169
|
test_files: []
|