jsonatra 1.0.3 → 1.0.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d4723e5550565a74308859e83aeed704486619e0
4
- data.tar.gz: 49b9dea90d58c43652b3844d771ce3b4527ec558
3
+ metadata.gz: b0d8d44af79ab5cf6dee75d62af27c876641e24f
4
+ data.tar.gz: 0968b006ea9a44217ed38cff192626f862c73999
5
5
  SHA512:
6
- metadata.gz: e532d12850c38167b97125ea184a7bec3b79a63a7ac473779d503b102af854c63359d98e12dc895fc32f19bb9f57fb780160068170307086aeb49a22cb4d92c4
7
- data.tar.gz: 037a05c9f169b3c6722cfab4f37a6668955464485568445e8f415648209d8e1810c6492f490a51f83711e3be91706d081aee01a829a9177911db3a01c5b9d269
6
+ metadata.gz: 055915bb1afe2f636053cb156a6dea217ed6271e8400c3c7394b15c9fd47b72e76fad56eb10bcae9c86f60fbd9e177e6f9cd4213bdf10690e4d892c18806e35e
7
+ data.tar.gz: 290faa9e84a16a0356bc6e00bc966ae02ed922607c8d20309c61a5bb7bdef0421f4a3c8b700d078b12e777fa6b5658da8d632769d306d5b11a48f436039eb753
data/README.md CHANGED
@@ -7,14 +7,13 @@ This is a very opinionated gem. Some of its strongly held views:
7
7
 
8
8
  * [Sinatra](http://sinatrarb.com) is the BEST.
9
9
  * JSON is awesome!
10
- * REST is fo' suckas.
11
10
  * HTTP status codes are for **transport**!
12
11
 
13
12
  To that end, this gem subclasses `Sinatra::Base` and `Sinatra::Response` adding
14
13
  some helpful defaults to achieve the following goals:
15
14
 
16
15
  * always respond with JSON, route blocks' return hashes are automatically converted
17
- * all GET routes also respond to POST for large query values
16
+ * all GET routes also respond to POST for large query values (`require 'jsonatra/break_rest'`)
18
17
  * accept form encoded **OR** JSON POST body parameters
19
18
  * always supply CORS headers
20
19
  * short-circuit OPTIONS requests
data/jsonatra.gemspec CHANGED
@@ -4,7 +4,7 @@ require File.expand_path('../lib/jsonatra/version', __FILE__)
4
4
  Gem::Specification.new do |gem|
5
5
  gem.authors = ["Kenichi Nakamura"]
6
6
  gem.email = ["kenichi.nakamura@gmail.com"]
7
- gem.description = gem.summary = "An opinionated, non-ReST, JSON API extension for Sinatra"
7
+ gem.description = gem.summary = "JSON API extension for Sinatra"
8
8
  gem.homepage = "https://github.com/esripdx/jsonatra"
9
9
  gem.files = `git ls-files | grep -Ev '^(myapp|examples)'`.split("\n")
10
10
  gem.test_files = `git ls-files -- test/*`.split("\n")
@@ -0,0 +1,18 @@
1
+ module Jsonatra
2
+ class Base < Sinatra::Base
3
+
4
+ class << self
5
+
6
+ # because some parameters can be too large for normal GET query strings,
7
+ # all GET routes also accept a POST with body data, with the same parameter
8
+ # names and behavior
9
+ #
10
+ alias_method :sinatra_get, :get
11
+ def get(*args, &block)
12
+ sinatra_get *args, &block
13
+ post *args, &block
14
+ end
15
+ end
16
+
17
+ end
18
+ end
@@ -45,6 +45,7 @@ module Jsonatra
45
45
  end
46
46
 
47
47
  end
48
+ @_params_hash.merge! @params
48
49
  @_params_hash
49
50
  end
50
51
 
@@ -1,3 +1,3 @@
1
1
  module Jsonatra
2
- VERSION = '1.0.3'
2
+ VERSION = '1.0.4'
3
3
  end
data/lib/jsonatra.rb CHANGED
@@ -108,19 +108,6 @@ module Jsonatra
108
108
  }
109
109
  end
110
110
 
111
- class << self
112
-
113
- # because some parameters can be too large for normal GET query strings,
114
- # all GET routes also accept a POST with body data, with the same parameter
115
- # names and behavior
116
- #
117
- alias_method :sinatra_get, :get
118
- def get(*args, &block)
119
- sinatra_get *args, &block
120
- post *args, &block
121
- end
122
- end
123
-
124
111
  end
125
112
 
126
113
  end
@@ -1,4 +1,5 @@
1
1
  require_relative './helper'
2
+ require 'jsonatra/break_rest'
2
3
 
3
4
  describe Jsonatra::Base do
4
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jsonatra
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenichi Nakamura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-15 00:00:00.000000000 Z
11
+ date: 2014-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra
@@ -24,7 +24,7 @@ dependencies:
24
24
  - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- description: An opinionated, non-ReST, JSON API extension for Sinatra
27
+ description: JSON API extension for Sinatra
28
28
  email:
29
29
  - kenichi.nakamura@gmail.com
30
30
  executables: []
@@ -39,6 +39,7 @@ files:
39
39
  - Rakefile
40
40
  - jsonatra.gemspec
41
41
  - lib/jsonatra.rb
42
+ - lib/jsonatra/break_rest.rb
42
43
  - lib/jsonatra/helpers/error.rb
43
44
  - lib/jsonatra/helpers/params.rb
44
45
  - lib/jsonatra/response.rb
@@ -67,12 +68,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
67
68
  version: '0'
68
69
  requirements: []
69
70
  rubyforge_project:
70
- rubygems_version: 2.0.3
71
+ rubygems_version: 2.0.14
71
72
  signing_key:
72
73
  specification_version: 4
73
- summary: An opinionated, non-ReST, JSON API extension for Sinatra
74
+ summary: JSON API extension for Sinatra
74
75
  test_files:
75
76
  - test/helper.rb
76
77
  - test/helpers/error_spec.rb
77
78
  - test/helpers/params_spec.rb
78
79
  - test/jsonatra_spec.rb
80
+ has_rdoc: