diff --git a/CHANGELOG.md b/CHANGELOG.md index 63cb7c7b9..5f6b5ffdd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ #### Fixes +* [#2633](https://github.com/ruby-grape/grape/pull/2633): Fix cascade reading - [@ericproulx](https://github.com/ericproulx). * Your contribution here. ### 3.0.1 (2025-11-24) diff --git a/lib/grape/dsl/routing.rb b/lib/grape/dsl/routing.rb index 3f8e9b703..6826dd605 100644 --- a/lib/grape/dsl/routing.rb +++ b/lib/grape/dsl/routing.rb @@ -16,7 +16,7 @@ def mounted(&block) end def cascade(value = nil) - return inheritable_setting.namespace_inheritable.key?(:cascade) ? !inheritable_setting.namespace_inheritable(:cascade).nil? : true if value.nil? + return inheritable_setting.namespace_inheritable.key?(:cascade) ? !inheritable_setting.namespace_inheritable[:cascade].nil? : true if value.nil? inheritable_setting.namespace_inheritable[:cascade] = value end diff --git a/spec/grape/api_spec.rb b/spec/grape/api_spec.rb index eb59df802..ba1810049 100644 --- a/spec/grape/api_spec.rb +++ b/spec/grape/api_spec.rb @@ -4715,4 +4715,16 @@ def uniqe_id_route expect { get '/' }.to raise_error(Rack::Lint::LintError) end end + + describe '.cascade' do + subject { api.cascade } + + let(:api) do + Class.new(Grape::API) do + cascade true + end + end + + it { is_expected.to be(true) } + end end