Sha256: dd35608576293e5112fe3acb33ba891188e980f4b7e30d04eb1a730881b44cb2

Contents?: true

Size: 737 Bytes

Versions: 15

Compression:

Stored size: 737 Bytes

Contents

# frozen_string_literal: true
module ActiveMocker
  class MockCreator
    module RecreateClassMethodCalls
      AliasAttributeMethod = Struct.new(:new_name, :old_name)

      def class_method_calls
        @class_method_calls ||= class_introspector
                                  .class_macros
                                  .select { |h| h.keys.first == :alias_attribute }
                                  .map do |h|
          a = h.values.first.first
          AliasAttributeMethod.new(a[0].to_s, a[1].to_s)
        end
      end

      def attribute_aliases
        class_method_calls.each_with_object({}) do |alias_attr, hash|
          hash[alias_attr.new_name] = alias_attr.old_name
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
active_mocker-2.6.2 lib/active_mocker/mock_creator/recreate_class_method_calls.rb
active_mocker-2.6.1.beta2 lib/active_mocker/mock_creator/recreate_class_method_calls.rb
active_mocker-2.6.1.beta lib/active_mocker/mock_creator/recreate_class_method_calls.rb
active_mocker-2.6.0 lib/active_mocker/mock_creator/recreate_class_method_calls.rb
active_mocker-2.5.4 lib/active_mocker/mock_creator/recreate_class_method_calls.rb
active_mocker-2.5.3 lib/active_mocker/mock_creator/recreate_class_method_calls.rb
active_mocker-2.5.2 lib/active_mocker/mock_creator/recreate_class_method_calls.rb
active_mocker-2.5.1 lib/active_mocker/mock_creator/recreate_class_method_calls.rb
active_mocker-2.5.1.pre lib/active_mocker/mock_creator/recreate_class_method_calls.rb
active_mocker-2.5.0 lib/active_mocker/mock_creator/recreate_class_method_calls.rb
active_mocker-2.4.4 lib/active_mocker/mock_creator/recreate_class_method_calls.rb
active_mocker-2.4.3 lib/active_mocker/mock_creator/recreate_class_method_calls.rb
active_mocker-2.4.2 lib/active_mocker/mock_creator/recreate_class_method_calls.rb
active_mocker-2.4.1 lib/active_mocker/mock_creator/recreate_class_method_calls.rb
active_mocker-2.4.0 lib/active_mocker/mock_creator/recreate_class_method_calls.rb