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.
@@ -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
@@ -1 +1,2 @@
1
1
  /doc
2
+ /Gemfile.lock
@@ -0,0 +1,10 @@
1
+ ---
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.2
5
+ - 2.0.0
6
+ matrix:
7
+ include:
8
+ - { rvm: 2.0.0, env: sinatra=1.3 }
9
+ - { rvm: 2.0.0, env: sinatra=1.4 }
10
+ - { rvm: 2.0.0, env: sinatra=master }
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
3
+
4
+ case ENV['sinatra']
5
+ when '1.3' then gem 'sinatra', '~> 1.3.0'
6
+ when '1.4' then gem 'sinatra', '~> 1.4.0'
7
+ when 'master' then gem 'sinatra', :github => 'sinatra/sinatra', :branch => 'master'
8
+ end
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
 
@@ -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 it's [contributors][c]. It is sponsored by my startup, [Sinefunc, Inc][sf].
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
- # Override this by adding RVM_TEST_ENVS=".." in .rvmrc
4
- envs = ENV['RVM_TEST_ENVS'] || '1.9.2@sinatra,1.8.7@sinatra'
5
- puts "* Testing in the following RVM environments: #{envs.gsub(',', ', ')}"
6
- system "rvm #{envs} rake test" or abort
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
- system "reacco -a --api lib --github #{repo}"
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,3 @@
1
+ require './app'
2
+ App.set :run, false
3
+ run App
@@ -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,6 @@
1
+ <p>Hello, this is me:</p>
2
+
3
+ <dl>
4
+ <dt>Name:</dt><dd><%= name %></dd>
5
+ <dt>Age:</dt><dd><%= age %></dd>
6
+ </dl>
@@ -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>
@@ -1,4 +1,4 @@
1
- $:.unshift File.expand_path('../../lib', __FILE__)
1
+ $:.unshift File.expand_path('../../../lib', __FILE__)
2
2
 
3
3
  require 'sinatra/base'
4
4
  require 'sequel'
@@ -1,7 +1,7 @@
1
1
  module Sinatra
2
2
  module Backbone
3
3
  def self.version
4
- "0.1.0.rc2"
4
+ "0.1.1"
5
5
  end
6
6
  end
7
7
 
@@ -1,7 +1,8 @@
1
- # ## Sinatra::JstPages [module]
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
- # #### Basic usage
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 written in Jade, placed in `views/editor/edit.jst.jade`:
23
+ # So, if you have a JST view placed in `views/editor/edit.jst.tpl`:
23
24
  #
24
- # # views/editor/edit.jst.jade
25
- # h1= "Edit "+name
26
- # form
27
- # button Save
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
- # #### Supported templates
46
- # Currently supports the following templates:
47
+ # ### Supported templates
47
48
  #
48
- # * [Jade][jade] (`.jst.jade`) -- Jade templates. This requires
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
- # * [Underscore templates][under_tpl] (`.jst.tpl`) -- Simple templates by
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
- # * [Haml.js][haml] (`.jst.haml`) -- A JavaScript implementation of Haml.
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
- # * [Eco][eco] (`.jst.eco`) -- Embedded CoffeeScript templates. Requires
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
- tuples = Dir.chdir(settings.views) {
92
- Dir["**/*.jst.*"].map { |fn|
93
- fn =~ %r{^(.*)\.jst\.([^\.]+)$}
94
- name, ext = $1, $2
95
- engine = JstPages.mappings[ext]
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(settings.views, fn)) ] if engine
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
- # ## Sinatra::JstPages::Engine [class]
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.compile(#{contents.inspect})"; end
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
@@ -1,6 +1,6 @@
1
1
  require 'json'
2
2
 
3
- # ## Sinatra::RestAPI [module]
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
- # It's recommended you implement `#to_hash` in your models.
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
@@ -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", ">= 1.3.4"
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
@@ -50,7 +50,7 @@ class AppTest < UnitTest
50
50
  test "validation fail" do
51
51
  hash = { :name => "The Claiming of Sleeping Beauty" }
52
52
  post "/book", :model => hash.to_json
53
- p last_response
53
+ assert last_response.status != 200
54
54
  end
55
55
 
56
56
  test "should 404" do
@@ -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, */*'
@@ -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 id }
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
@@ -16,3 +16,5 @@ class UnitTest < Test::Unit::TestCase
16
16
  end
17
17
 
18
18
  DB = Sequel.connect('sqlite::memory:')
19
+
20
+ puts "==> Environment: Sinatra #{Sinatra::VERSION}, Ruby #{RUBY_VERSION}"
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.0.rc2
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: 2011-09-12 00:00:00.000000000 +08:00
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: &2165346540 !ruby/object:Gem::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: *2165346540
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: &2165345800 !ruby/object:Gem::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: *2165345800
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: &2165345140 !ruby/object:Gem::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: *2165345140
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: &2165344580 !ruby/object:Gem::Requirement
51
- none: false
71
+ requirement: !ruby/object:Gem::Requirement
52
72
  requirements:
53
- - - ! '>='
73
+ - - ~>
54
74
  - !ruby/object:Gem::Version
55
- version: '0'
75
+ version: 0.1.3
56
76
  type: :development
57
77
  prerelease: false
58
- version_requirements: *2165344580
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: &2165343740 !ruby/object:Gem::Requirement
62
- none: false
85
+ requirement: !ruby/object:Gem::Requirement
63
86
  requirements:
64
- - - ! '>='
87
+ - - ~>
65
88
  - !ruby/object:Gem::Version
66
- version: '0'
89
+ version: 0.13.3
67
90
  type: :development
68
91
  prerelease: false
69
- version_requirements: *2165343740
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: &2165343140 !ruby/object:Gem::Requirement
73
- none: false
99
+ requirement: !ruby/object:Gem::Requirement
74
100
  requirements:
75
- - - ! '>='
101
+ - - ~>
76
102
  - !ruby/object:Gem::Version
77
- version: '0'
103
+ version: 0.6.2
78
104
  type: :development
79
105
  prerelease: false
80
- version_requirements: *2165343140
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: 1.3.1
162
+ version: '0'
127
163
  requirements: []
128
164
  rubyforge_project:
129
- rubygems_version: 1.6.2
165
+ rubygems_version: 2.0.0
130
166
  signing_key:
131
- specification_version: 3
167
+ specification_version: 4
132
168
  summary: Helpful stuff using Sinatra with Backbone.
133
169
  test_files: []