Skip to content

Commit fd6d8be

Browse files
committed
Use instance_variable_get instead of instance_eval when possible
1 parent 258c27d commit fd6d8be

File tree

5 files changed

+12
-16
lines changed

5 files changed

+12
-16
lines changed

lib/sass/compiler/host/function_registry.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ def function_call(function_call_request)
5757

5858
success = protofier.to_proto(function.call(arguments))
5959
accessed_argument_lists = arguments.filter_map do |argument|
60-
if argument.is_a?(Sass::Value::ArgumentList) && argument.instance_eval { @keywords_accessed }
61-
argument.instance_eval { @id }
60+
if argument.is_a?(Sass::Value::ArgumentList) && argument.instance_variable_get(:@keywords_accessed)
61+
argument.instance_variable_get(:@id)
6262
end
6363
end
6464

lib/sass/compiler/host/importer_registry.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def register(importer)
3535
if importer.is_a?(Sass::NodePackageImporter)
3636
EmbeddedProtocol::InboundMessage::CompileRequest::Importer.new(
3737
node_package_importer: EmbeddedProtocol::NodePackageImporter.new(
38-
entry_point_directory: importer.instance_eval { @entry_point_directory }
38+
entry_point_directory: importer.instance_variable_get(:@entry_point_directory)
3939
)
4040
)
4141
else
@@ -76,7 +76,7 @@ def canonicalize(canonicalize_request)
7676
EmbeddedProtocol::InboundMessage::CanonicalizeResponse.new(
7777
id: canonicalize_request.id,
7878
url:,
79-
containing_url_unused: canonicalize_context.instance_eval { @containing_url_unused }
79+
containing_url_unused: canonicalize_context.instance_variable_get(:@containing_url_unused)
8080
)
8181
rescue StandardError => e
8282
EmbeddedProtocol::InboundMessage::CanonicalizeResponse.new(
@@ -118,7 +118,7 @@ def file_import(file_import_request)
118118
EmbeddedProtocol::InboundMessage::FileImportResponse.new(
119119
id: file_import_request.id,
120120
file_url:,
121-
containing_url_unused: canonicalize_context.instance_eval { @containing_url_unused }
121+
containing_url_unused: canonicalize_context.instance_variable_get(:@containing_url_unused)
122122
)
123123
rescue StandardError => e
124124
EmbeddedProtocol::InboundMessage::FileImportResponse.new(

lib/sass/compiler/host/protofier.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def to_proto(obj)
3737
when Sass::Value::ArgumentList
3838
EmbeddedProtocol::Value.new(
3939
argument_list: EmbeddedProtocol::Value::ArgumentList.new(
40-
id: obj.instance_eval { @id },
40+
id: obj.instance_variable_get(:@id),
4141
contents: obj.to_a.map { |element| to_proto(element) },
4242
keywords: obj.keywords.each_with_object({}) { |(key, value), hash| hash[key.to_s] = to_proto(value) },
4343
separator: ListSeparator.to_proto(obj.separator)
@@ -63,10 +63,10 @@ def to_proto(obj)
6363
)
6464
)
6565
when Sass::Value::Function
66-
if obj.instance_eval { @id }
66+
if obj.instance_variable_defined?(:@id)
6767
EmbeddedProtocol::Value.new(
6868
compiler_function: EmbeddedProtocol::Value::CompilerFunction.new(
69-
id: obj.instance_eval { @id }
69+
id: obj.instance_variable_get(:@id)
7070
)
7171
)
7272
else
@@ -80,7 +80,7 @@ def to_proto(obj)
8080
when Sass::Value::Mixin
8181
EmbeddedProtocol::Value.new(
8282
compiler_mixin: EmbeddedProtocol::Value::CompilerMixin.new(
83-
id: obj.instance_eval { @id }
83+
id: obj.instance_variable_get(:@id)
8484
)
8585
)
8686
when Sass::Value::Calculation
@@ -148,14 +148,14 @@ def from_proto(proto)
148148
end
149149
)
150150
when :compiler_function
151-
Sass::Value::Function.new(nil).instance_eval do
151+
Sass::Value::Function.allocate.instance_eval do
152152
@id = obj.id
153153
self
154154
end
155155
when :host_function
156156
raise Sass::ScriptError, 'The compiler may not send Value.host_function to host'
157157
when :compiler_mixin
158-
Sass::Value::Mixin.send(:new).instance_eval do
158+
Sass::Value::Mixin.allocate.instance_eval do
159159
@id = obj.id
160160
self
161161
end

lib/sass/embedded.rb

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,7 @@ def compiler
5454
return @compiler if @compiler
5555

5656
compiler = Compiler.allocate
57-
compiler.instance_eval do
58-
@channel = Compiler.const_get(:Channel).new(idle_timeout: 10)
59-
end
57+
compiler.instance_variable_set(:@channel, Compiler.const_get(:Channel).new(idle_timeout: 10))
6058

6159
at_exit do
6260
compiler.close

lib/sass/value/function.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ class Function
1111
# @param signature [::String]
1212
# @param callback [Proc]
1313
def initialize(signature, &callback)
14-
raise Sass::ScriptError, 'no block given' unless signature.nil? || callback
15-
1614
@signature = signature.freeze
1715
@callback = callback.freeze
1816
end

0 commit comments

Comments
 (0)