<commit_before>RSpec.shared_examples_for 'Metasploit::Cache::Module::Ancestor factory' do
  it { is_expected.to be_valid }

  it_should_behave_like 'Metasploit::Cache::Module::Ancestor factory loading'

  context 'contents' do
    include_context 'Metasploit::Cache::Module::Ancestor factory contents'

    context 'metasploit_module' do
      include_context 'Metasploit::Cache::Module::Ancestor factory contents metasploit_module'

      it { should be_a Class }

      context '#initialize' do
        subject(:instance) do
          metasploit_module.new(attributes)
        end

        context 'with :framework' do
          let(:attributes) do
            {
                framework: framework
            }
          end

          let(:framework) do
            double('Msf::Framework')
          end

          it 'should set #framework' do
            expect(instance.framework).to eq(framework)
          end
        end
      end
    end
  end
end<commit_msg>Don't check for #initialize in Module::Ancestor factory<commit_after>RSpec.shared_examples_for 'Metasploit::Cache::Module::Ancestor factory' do
  it { is_expected.to be_valid }

  it_should_behave_like 'Metasploit::Cache::Module::Ancestor factory loading'

  context 'contents' do
    include_context 'Metasploit::Cache::Module::Ancestor factory contents'

    context 'metasploit_module' do
      include_context 'Metasploit::Cache::Module::Ancestor factory contents metasploit_module'

      it { should be_a Class }
    end
  end
end
{'fraction_non_alphanumeric': 0.08614976805831677, 'fraction_numerical': 0.0, 'mean_word_length': 3.0591397849462365, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '260248', 'n_tokens_mistral': 461, 'n_tokens_neox': 444, 'n_words': 101}