Skip to content

Commit 5682357

Browse files
committed
Use instance_exec instead of instance_eval for assigning default values
1 parent f7cfad7 commit 5682357

File tree

4 files changed

+5
-5
lines changed

4 files changed

+5
-5
lines changed

lib/dry/initializer/option.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def safe_default
5151

5252
def default_part
5353
if default
54-
" { instance_eval(&__defaults__[:'option_#{source}']) }"
54+
" { instance_exec(&__defaults__[:'option_#{source}']) }"
5555
elsif !optional
5656
" { raise ArgumentError, \"option :'#{source}' is required\" }"
5757
end

lib/dry/initializer/param.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def maybe_default
4545
def default_part
4646
return unless default
4747
" == Dry::Initializer::UNDEFINED ?" \
48-
" instance_eval(&__defaults__[:param_#{target}]) :" \
48+
" instance_exec(&__defaults__[:param_#{target}]) :" \
4949
" #{target}"
5050
end
5151
end

spec/default_nil_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ class Test::Foo
44
extend Dry::Initializer::Mixin
55

66
param :foo, default: proc { nil }
7-
param :bar, default: proc { nil }
7+
param :bar, default: -> { nil }
88
end
99
end
1010

spec/default_values_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ class Test::Foo
55

66
param :foo, default: proc { :FOO }
77
param :bar, default: proc { :BAR }
8-
option :baz, default: proc { :BAZ }
8+
option :baz, default: -> { :BAZ }
99
option :qux, default: proc { foo }
10-
option :mox, default: proc { default_mox }
10+
option :mox, default: -> { default_mox }
1111

1212
private
1313

0 commit comments

Comments
 (0)