sinatra-backbone 0.1.0.rc2 → 0.1.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,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: []