method
handle_assignment
v8.1.1 -
Show latest stable
-
0 notes -
Class: VersionedConfig
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.0
- 6.1.3.1
- 6.1.7.7
- 7.0.0
- 7.1.3.2
- 7.1.3.4
- 7.2.3
- 8.0.0
- 8.1.1 (0)
- What's this?
handle_assignment(node, name, value)
public
Hide source
# File tools/rail_inspector/lib/rail_inspector/visitor/framework_default.rb, line 75 def handle_assignment(node, name, value) prefix = case node.receiver in Prism::ConstantReadNode[name: constant_name] constant_name in Prism::SelfNode "self" in Prism::CallNode[receiver: nil, name: framework] framework_string = framework.to_s unless current_framework == framework_string raise "expected: #{current_framework}, actual: #{framework_string}" end framework_string else node.receiver.location.slice end target = "#{prefix}.#{name}" string_value = case value in Prism::ConstantPathNode value.full_name in Prism::HashNode HashToString.new.tap { |v| v.visit(value) }.to_s in Prism::InterpolatedStringNode "\"#{value.parts.map(&:content).join("")}\"" in Prism::FalseNode "false" in Prism::TrueNode "true" else value.location.slice end @configs[target] = string_value end

