apipie-rails 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -1
- data/README.rst +1 -0
- data/lib/apipie/application.rb +2 -2
- data/lib/apipie/error_description.rb +9 -2
- data/lib/apipie/errors.rb +3 -0
- data/lib/apipie/version.rb +1 -1
- data/spec/controllers/users_controller_spec.rb +8 -0
- data/spec/dummy/app/controllers/users_controller.rb +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 21e987c452e1e522365932db32bb06b9d4dabf51
|
4
|
+
data.tar.gz: 92d447975ab9539f24b52c19e0fa22875b0fe039
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 097757c953763f1a70eb1005dda15fb0734e6e9670e235a6b534a0ef3a109ab087e7e7e01459edb822cc4f887009d57ad17a733c081c14eac72deae2d384bb6f
|
7
|
+
data.tar.gz: 2ef85b2507dc949756c8816c31c340efdc4f59f259c92fe0342972f4f799240c1443f637ca2f4e91114fbfbd283ed3a30a3afdbd553a95307444e32531cd5fed
|
data/CHANGELOG.md
CHANGED
@@ -1,7 +1,12 @@
|
|
1
|
-
===========
|
2
1
|
Changelog
|
3
2
|
===========
|
4
3
|
|
4
|
+
v0.5.1
|
5
|
+
------
|
6
|
+
|
7
|
+
- Use AD::Reloader on Rails 4, app.reloader only on Rails 5+ [\#541](https://github.com/Apipie/apipie-rails/pull/541) ([domcleal](https://github.com/domcleal))
|
8
|
+
- Recognize Rack Symbols as Status Codes [\#468](https://github.com/Apipie/apipie-rails/pull/468)([alex-tan](https://github.com/alex-tan))
|
9
|
+
|
5
10
|
v0.5.0
|
6
11
|
------
|
7
12
|
|
data/README.rst
CHANGED
@@ -152,6 +152,7 @@ Example:
|
|
152
152
|
api_version "development"
|
153
153
|
error 404, "Missing"
|
154
154
|
error 500, "Server crashed for some <%= reason %>", :meta => {:anything => "you can think of"}
|
155
|
+
error :unprocessable_entity, "Could not save the entity."
|
155
156
|
meta :author => {:name => 'John', :surname => 'Doe'}
|
156
157
|
description <<-EOS
|
157
158
|
== Long description
|
data/lib/apipie/application.rb
CHANGED
@@ -424,10 +424,10 @@ module Apipie
|
|
424
424
|
# as this would break loading of the controllers.
|
425
425
|
def rails_mark_classes_for_reload
|
426
426
|
unless Rails.application.config.cache_classes
|
427
|
-
Rails.application.reloader.reload!
|
427
|
+
Rails::VERSION::MAJOR == 4 ? ActionDispatch::Reloader.cleanup! : Rails.application.reloader.reload!
|
428
428
|
init_env
|
429
429
|
reload_examples
|
430
|
-
Rails.application.reloader.prepare!
|
430
|
+
Rails::VERSION::MAJOR == 4 ? ActionDispatch::Reloader.prepare! : Rails.application.reloader.prepare!
|
431
431
|
end
|
432
432
|
end
|
433
433
|
|
@@ -1,7 +1,6 @@
|
|
1
1
|
module Apipie
|
2
2
|
|
3
3
|
class ErrorDescription
|
4
|
-
|
5
4
|
attr_reader :code, :description, :metadata
|
6
5
|
|
7
6
|
def self.from_dsl_data(args)
|
@@ -18,7 +17,15 @@ module Apipie
|
|
18
17
|
@metadata = code_or_options[:meta]
|
19
18
|
@description = code_or_options[:desc] || code_or_options[:description]
|
20
19
|
else
|
21
|
-
@code =
|
20
|
+
@code =
|
21
|
+
if code_or_options.is_a? Symbol
|
22
|
+
Rack::Utils::SYMBOL_TO_STATUS_CODE[code_or_options]
|
23
|
+
else
|
24
|
+
code_or_options
|
25
|
+
end
|
26
|
+
|
27
|
+
raise UnknownCode, code_or_options unless @code
|
28
|
+
|
22
29
|
@metadata = options[:meta]
|
23
30
|
@description = desc
|
24
31
|
end
|
data/lib/apipie/errors.rb
CHANGED
data/lib/apipie/version.rb
CHANGED
@@ -451,6 +451,14 @@ describe UsersController do
|
|
451
451
|
expect(a.errors[2].description).to eq("Not Found")
|
452
452
|
end
|
453
453
|
|
454
|
+
it 'should recognize Rack symbols as error codes' do
|
455
|
+
a = Apipie.get_method_description(UsersController, :create)
|
456
|
+
|
457
|
+
error = a.errors.find { |e| e.code == 422 }
|
458
|
+
expect(error).to be
|
459
|
+
expect(error.description).to include("Unprocessable Entity")
|
460
|
+
end
|
461
|
+
|
454
462
|
it "should contain all params description" do
|
455
463
|
a = Apipie.get_method_description(UsersController, :show)
|
456
464
|
expect(a.params.count).to eq(12)
|
@@ -222,6 +222,7 @@ class UsersController < ApplicationController
|
|
222
222
|
end
|
223
223
|
param :facts, Hash, :desc => "Additional optional facts about the user", :allow_nil => true
|
224
224
|
param :age, :number, :desc => "Age is just a number", :allow_blank => true
|
225
|
+
error :unprocessable_entity, 'Unprocessable Entity'
|
225
226
|
def create
|
226
227
|
render :plain => "OK #{params.inspect}"
|
227
228
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apipie-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Pokorny
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-04-
|
12
|
+
date: 2017-04-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|