Skip to content

Commit 52852e0

Browse files
nunosilva800iNecas
authored andcommitted
Fix Rails deprecations for Rails 5.1
1 parent 9c7c5e8 commit 52852e0

11 files changed

+52
-68
lines changed

.travis.yml

-4
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
11
language: ruby
22
sudo: false
33
rvm:
4-
- 1.9.3
54
- 2.0.0
65
- 2.1.7
76
- 2.2.3
87
- 2.3.3
98
gemfile:
10-
- Gemfile.rails40
119
- Gemfile.rails41
1210
- Gemfile.rails42
1311
- Gemfile.rails50 # Min ruby 2.2.2
1412
matrix:
1513
exclude:
16-
- rvm: 1.9.3
17-
gemfile: Gemfile.rails50
1814
- rvm: 2.0.0
1915
gemfile: Gemfile.rails50
2016
- rvm: 2.1.7

Gemfile.rails40

-7
This file was deleted.

apipie-rails.gemspec

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ Gem::Specification.new do |s|
1010
s.homepage = "http://github.com/Apipie/apipie-rails"
1111
s.summary = %q{Rails REST API documentation tool}
1212
s.description = %q{Rails REST API documentation tool}
13-
13+
s.required_ruby_version = '>= 2.0.0'
1414

1515
s.files = `git ls-files`.split("\n")
1616
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
1717
s.require_paths = ["lib"]
1818

19-
s.add_dependency "rails", ">= 4.0"
19+
s.add_dependency "rails", ">= 4.1"
2020
s.add_development_dependency "rspec-rails", "~> 3.0"
2121
s.add_development_dependency "sqlite3"
2222
s.add_development_dependency "minitest"

lib/apipie/dsl_definition.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ def _apipie_define_validators(description)
237237
# Only allow params passed in that are defined keys in the api
238238
# Auto skip the default params (format, controller, action)
239239
if Apipie.configuration.validate_key?
240-
params.reject{|k,_| %w[format controller action].include?(k.to_s) }.each_key do |param|
240+
params.reject{|k,_| %w[format controller action].include?(k.to_s) }.each_pair do |param, _|
241241
# params allowed
242242
raise UnknownParam.new(param) if method_params.select {|_,p| p.name.to_s == param.to_s}.empty?
243243
end

lib/apipie/extractor.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class Apipie::Railtie
1717
end
1818
app.middleware.use ::Apipie::Extractor::Recorder::Middleware
1919
ActionController::TestCase::Behavior.instance_eval do
20-
include Apipie::Extractor::Recorder::FunctionalTestRecording
20+
prepend Apipie::Extractor::Recorder::FunctionalTestRecording
2121
end
2222
end
2323
end

lib/apipie/extractor/recorder.rb

+2-6
Original file line numberDiff line numberDiff line change
@@ -145,12 +145,8 @@ def analyze(env, &block)
145145
end
146146

147147
module FunctionalTestRecording
148-
def self.included(base)
149-
base.alias_method_chain :process, :api_recording
150-
end
151-
152-
def process_with_api_recording(*args) # action, parameters = nil, session = nil, flash = nil, http_method = 'GET')
153-
ret = process_without_api_recording(*args)
148+
def process(*args) # action, parameters = nil, session = nil, flash = nil, http_method = 'GET')
149+
ret = super(*args)
154150
if Apipie.configuration.record
155151
Apipie::Extractor.call_recorder.analyze_functional_test(self)
156152
Apipie::Extractor.call_finished

spec/controllers/concerns_controller_spec.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
end
1414

1515
it "should pass if required parameter is missing" do
16-
expect { get :show, :id => '5' }.not_to raise_error
16+
expect { get :show, :params => { :id => '5' } }.not_to raise_error
1717
end
1818

1919
it "peserved the order of methods being defined in file" do

spec/controllers/users_controller_spec.rb

+27-23
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def compare_hashes(h1, h2)
7171
end
7272

7373
it "should pass if required parameter is missing" do
74-
expect { get :show, :id => 5 }.not_to raise_error
74+
expect { get :show, :params => { :id => 5 } }.not_to raise_error
7575
end
7676

7777
end
@@ -205,7 +205,7 @@ def reload_controllers
205205
end
206206

207207
it "should work with Hash validator" do
208-
post :create, :user => { :name => "root", :pass => "12345", :membership => "standard" }
208+
post :create, params: { :user => { :name => "root", :pass => "12345", :membership => "standard" } }
209209
assert_response :success
210210

211211
a = Apipie[UsersController, :create]
@@ -219,18 +219,18 @@ def reload_controllers
219219
hash_params[2].name == :membership
220220

221221
expect {
222-
post :create, :user => { :name => "root", :pass => "12345", :membership => "____" }
222+
post :create, :params => { :user => { :name => "root", :pass => "12345", :membership => "____" } }
223223
}.to raise_error(Apipie::ParamInvalid, /membership/)
224224

225225
expect {
226-
post :create, :user => { :name => "root" }
226+
post :create, :params => { :user => { :name => "root" } }
227227
}.to raise_error(Apipie::ParamMissing, /pass/)
228228

229229
expect {
230-
post :create, :user => "a string is not a hash"
230+
post :create, :params => { :user => "a string is not a hash" }
231231
}.to raise_error(Apipie::ParamInvalid, /user/)
232232

233-
post :create, :user => { :name => "root", :pass => "pwd" }
233+
post :create, :params => { :user => { :name => "root", :pass => "pwd" } }
234234
assert_response :success
235235
end
236236

@@ -251,23 +251,27 @@ def reload_controllers
251251

252252
it "should allow nil when allow_nil is set to true" do
253253
post :create,
254-
:user => {
255-
:name => "root",
256-
:pass => "12345",
257-
:membership => "standard",
258-
},
259-
:facts => { :test => 'test' }
254+
:params => {
255+
:user => {
256+
:name => "root",
257+
:pass => "12345",
258+
:membership => "standard",
259+
},
260+
:facts => { :test => 'test' }
261+
}
260262
assert_response :success
261263
end
262264

263265
it "should allow blank when allow_blank is set to true" do
264266
post :create,
265-
:user => {
266-
:name => "root",
267-
:pass => "12345",
268-
:membership => "standard"
269-
},
270-
:age => ""
267+
:params => {
268+
:user => {
269+
:name => "root",
270+
:pass => "12345",
271+
:membership => "standard"
272+
},
273+
:age => ""
274+
}
271275
assert_response :success
272276
end
273277

@@ -276,7 +280,7 @@ def reload_controllers
276280
context "with valid input" do
277281
it "should succeed" do
278282
put :update,
279-
{
283+
:params => {
280284
:id => 5,
281285
:user => {
282286
:name => "root",
@@ -319,7 +323,7 @@ def reload_controllers
319323
end
320324
it "should work with empty array" do
321325
put :update,
322-
{
326+
:params => {
323327
:id => 5,
324328
:user => {
325329
:name => "root",
@@ -567,7 +571,7 @@ def reload_controllers
567571
:expected_type=>"string"},
568572
{:required=>true,
569573
:allow_nil => false,
570-
:allow_blank => false,
574+
:allow_blank => false,
571575
:validator=>"Must be a String",
572576
:description=>"\n<p>Password for login</p>\n",
573577
:name=>"apassword", :full_name=>"resource_param[apassword]",
@@ -709,13 +713,13 @@ class IgnoredController < ApplicationController; end
709713
end
710714

711715
it "process correctly the parameters" do
712-
post :create, :user => {:name => 'dummy', :pass => 'dummy', :membership => 'standard' }, :facts => {:test => 'test'}
716+
post :create, :params => {:user => {:name => 'dummy', :pass => 'dummy', :membership => 'standard' }, :facts => {:test => 'test'}}
713717

714718
expect(assigns(:api_params).with_indifferent_access).to eq({:user => {:name=>"dummy", :pass=>"dummy", :membership=>"standard"}, :facts => {:test => 'test'}}.with_indifferent_access)
715719
end
716720

717721
it "ignore not described parameters" do
718-
post :create, {:user => {:name => 'dummy', :pass => 'dummy', :membership => 'standard', :id => 0}}
722+
post :create, :params => {:user => {:name => 'dummy', :pass => 'dummy', :membership => 'standard', :id => 0}}
719723

720724
expect(assigns(:api_params).with_indifferent_access).to eq({:user => {:name=>"dummy", :pass=>"dummy", :membership=>"standard"}}.with_indifferent_access)
721725
end

spec/dummy/app/controllers/concerns/sample_controller.rb

+5-5
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ module SampleController
44

55
api!
66
def index
7-
render :text => "OK #{params.inspect}"
7+
render :plain => "OK #{params.inspect}"
88
end
99

1010
api :GET, '/:resource_id/:id'
1111
param :id, String
1212
def show
13-
render :text => "OK #{params.inspect}"
13+
render :plain => "OK #{params.inspect}"
1414
end
1515

1616
def_param_group :concern do
@@ -23,19 +23,19 @@ def show
2323
api :POST, '/:resource_id', "Create a :concern"
2424
param_group :concern
2525
def create
26-
render :text => "OK #{params.inspect}"
26+
render :plain => "OK #{params.inspect}"
2727
end
2828

2929
api :PUT, '/:resource_id/:id'
3030
param :id, String
3131
param_group :concern
3232
def update
33-
render :text => "OK #{params.inspect}"
33+
render :plain => "OK #{params.inspect}"
3434
end
3535

3636
api :GET, '/:resource_id/:custom_subst'
3737
def custom
38-
render :text => "OK #{params.inspect}"
38+
render :plain => "OK #{params.inspect}"
3939
end
4040
end
4141
end

spec/dummy/app/controllers/users_controller.rb

+10-10
Original file line numberDiff line numberDiff line change
@@ -192,15 +192,15 @@ class UsersController < ApplicationController
192192
end
193193
def show
194194
unless params[:session] == "secret_hash"
195-
render :text => "Not authorized", :status => 401
195+
render :plain => "Not authorized", :status => 401
196196
return
197197
end
198198

199199
unless params[:id].to_i == 5
200-
render :text => "Not Found", :status => 404 and return
200+
render :plain => "Not Found", :status => 404 and return
201201
end
202202

203-
render :text => "OK"
203+
render :plain => "OK"
204204
end
205205

206206
def_param_group :credentials do
@@ -223,7 +223,7 @@ def show
223223
param :facts, Hash, :desc => "Additional optional facts about the user", :allow_nil => true
224224
param :age, :number, :desc => "Age is just a number", :allow_blank => true
225225
def create
226-
render :text => "OK #{params.inspect}"
226+
render :plain => "OK #{params.inspect}"
227227
end
228228

229229
api :PUT, "/users/:id", "Update an user"
@@ -232,13 +232,13 @@ def create
232232
param :comment, String
233233
end
234234
def update
235-
render :text => "OK #{params.inspect}"
235+
render :plain => "OK #{params.inspect}"
236236
end
237237

238238
api :POST, "/users/admin", "Create admin user"
239239
param_group :user, :as => :create
240240
def admin_create
241-
render :text => "OK #{params.inspect}"
241+
render :plain => "OK #{params.inspect}"
242242
end
243243

244244
api :GET, "/users", "List users"
@@ -248,14 +248,14 @@ def admin_create
248248
param :oauth, nil,
249249
:desc => "Hide this global param (eg dont need auth here)"
250250
def index
251-
render :text => "List of users"
251+
render :plain => "List of users"
252252
end
253253

254254
api :GET, '/company_users', 'Get company users'
255255
api :GET, '/company/:id/users', 'Get users working in given company'
256256
param :id, Integer, :desc => "Company ID"
257257
def two_urls
258-
render :text => 'List of users'
258+
render :plain => 'List of users'
259259
end
260260

261261
api :GET, '/users/see_another', 'Boring method'
@@ -264,14 +264,14 @@ def two_urls
264264
see 'development#users#index', "very interesting method reference"
265265
desc 'This method is boring, look at users#create. It is hidden from documentation.'
266266
def see_another
267-
render :text => 'This is very similar to create action'
267+
render :plain => 'This is very similar to create action'
268268
end
269269

270270

271271
api :GET, '/users/desc_from_file', 'desc from file'
272272
document 'users/desc_from_file.md'
273273
def desc_from_file
274-
render :text => 'document from file action'
274+
render :plain => 'document from file action'
275275
end
276276

277277
api! 'Create user'

spec/spec_helper.rb

+3-8
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,8 @@
1111

1212
module Rails4Compatibility
1313
module Testing
14-
def process_with_rails4_compat(*args)
15-
compatible_request(*args) { |*new_args| process_without_rails4_compat(*new_args) }
16-
end
17-
18-
def self.included(base)
19-
base.alias_method_chain :process, :rails4_compat
14+
def process(*args)
15+
compatible_request(*args) { |*new_args| super(*new_args) }
2016
end
2117

2218
def compatible_request(method, action, hash = {})
@@ -71,5 +67,4 @@ def compatible_request(method, action, hash = {})
7167
end
7268

7369
require 'action_controller/test_case.rb'
74-
# TODO: replace with prepend once we deprecate ruby 2.0.0
75-
ActionController::TestCase::Behavior.send(:include, Rails4Compatibility::Testing)
70+
ActionController::TestCase::Behavior.send(:prepend, Rails4Compatibility::Testing)

0 commit comments

Comments
 (0)