Merge branch 'hotfix-1.1.1'

This commit is contained in:
Shishir Kakaraddi 2018-03-19 13:18:04 -07:00
commit 2b0b3d94d1
4 changed files with 31 additions and 4 deletions

View File

@ -1,7 +1,7 @@
PATH PATH
remote: . remote: .
specs: specs:
fast_jsonapi (1.1.0) fast_jsonapi (1.1.1)
activesupport (>= 4.2) activesupport (>= 4.2)
GEM GEM

View File

@ -1,6 +1,6 @@
Gem::Specification.new do |gem| Gem::Specification.new do |gem|
gem.name = "fast_jsonapi" gem.name = "fast_jsonapi"
gem.version = "1.1.0" gem.version = "1.1.1"
gem.required_rubygems_version = Gem::Requirement.new(">= 0") if gem.respond_to? :required_rubygems_version= gem.required_rubygems_version = Gem::Requirement.new(">= 0") if gem.respond_to? :required_rubygems_version=
gem.metadata = { "allowed_push_host" => "https://rubygems.org" } if gem.respond_to? :metadata= gem.metadata = { "allowed_push_host" => "https://rubygems.org" } if gem.respond_to? :metadata=

View File

@ -12,7 +12,12 @@ module FastJsonapi
# e.g. https://github.com/github/github-ds/blob/fbda5389711edfb4c10b6c6bad19311dfcb1bac1/lib/github/result.rb # e.g. https://github.com/github/github-ds/blob/fbda5389711edfb4c10b6c6bad19311dfcb1bac1/lib/github/result.rb
class Result class Result
def initialize(*rescued_exceptions) def initialize(*rescued_exceptions)
rescued_exceptions = [StandardError] if rescued_exceptions.empty? @rescued_exceptions = if rescued_exceptions.empty?
[StandardError]
else
rescued_exceptions
end
@value = yield @value = yield
@error = nil @error = nil
rescue *rescued_exceptions => e rescue *rescued_exceptions => e
@ -33,7 +38,8 @@ module FastJsonapi
def rescue def rescue
return self if ok? return self if ok?
Result.new { yield(@error) }
Result.new(*@rescued_exceptions) { yield(@error) }
end end
end end

View File

@ -0,0 +1,21 @@
require 'spec_helper'
module FastJsonapi
module MultiToJson
describe Result do
it 'supports chaining of rescues' do
expect do
Result.new(LoadError) do
require '1'
end.rescue do
require '2'
end.rescue do
require '3'
end.rescue do
'4'
end
end.not_to raise_error
end
end
end
end