Module: SuperDiff::OperationTrees

Defined in:
lib/super_diff/operation_trees.rb

Class Method Summary collapse

Class Method Details

.const_missing(missing_const_name) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/super_diff/operation_trees.rb', line 5

def self.const_missing(missing_const_name)
  if missing_const_name == :Base
    warn <<~WARNING
      WARNING: SuperDiff::OperationTrees::#{missing_const_name} is deprecated and will be removed in the next major release.
      Please use SuperDiff::Core::AbstractOperationTree instead.
      #{caller_locations.join("\n")}
    WARNING
    Core::AbstractOperationTree
  elsif Basic::OperationTrees.const_defined?(missing_const_name)
    warn <<~WARNING
      WARNING: SuperDiff::OperationTrees::#{missing_const_name} is deprecated and will be removed in the next major release.
      Please use SuperDiff::Basic::OperationTrees::#{missing_const_name} instead.
      #{caller_locations.join("\n")}
    WARNING
    Basic::OperationTrees.const_get(missing_const_name)
  else
    super
  end
end