<commit_before>require 'etc'

# Backend helpers
require 'serverspec/helper/ssh'
require 'serverspec/helper/exec'
require 'serverspec/helper/puppet'

# Command helpers
require 'serverspec/helper/redhat'
require 'serverspec/helper/debian'
require 'serverspec/helper/gentoo'
require 'serverspec/helper/solaris'
require 'serverspec/helper/darwin'
require 'serverspec/helper/detect_os'

# Obsoleted helpers
require 'serverspec/helper/obsoleted'

# Attributes helper
require 'serverspec/helper/attributes'

# Subject type helper
require 'serverspec/helper/type'
include Serverspec::Helper::Type

module Serverspec
  module Helper
    def subject
      build_options
      super
    end

    def build_options
      Serverspec.options.keys.each do |c|
        value = self.respond_to?(c.to_sym) ?
          self.send(c) : RSpec.configuration.send(c)
        Serverspec.send(:"#{c}=", value)
      end
    end
  end
end<commit_msg>add note for lazy options<commit_after>require 'etc'

# Backend helpers
require 'serverspec/helper/ssh'
require 'serverspec/helper/exec'
require 'serverspec/helper/puppet'

# Command helpers
require 'serverspec/helper/redhat'
require 'serverspec/helper/debian'
require 'serverspec/helper/gentoo'
require 'serverspec/helper/solaris'
require 'serverspec/helper/darwin'
require 'serverspec/helper/detect_os'

# Obsoleted helpers
require 'serverspec/helper/obsoleted'

# Attributes helper
require 'serverspec/helper/attributes'

# Subject type helper
require 'serverspec/helper/type'
include Serverspec::Helper::Type

module Serverspec
  module Helper
    def subject
      build_options
      super
    end

    # You can create a set of options provided to all specs in your spec_helper:
    #
    #   RSpec.configure { |c| c.pre_command = "source ~/.zshrc" }
    #
    # Any options you provide with `let(:option_name)` in a spec will
    # automatically be merged on top of the options.
    #
    # @example
    #
    #   describe 'Gem' do
    #     let(:pre_command) { "source ~/.zshrc" }
    #
    #     %w(pry awesome_print bundler).each do |p|
    #       describe package(p) do
    #         it { should be_installed.by('gem') }
    #       end
    #     end
    #   end
    def build_options
      Serverspec.options.keys.each do |c|
        value = self.respond_to?(c.to_sym) ?
          self.send(c) : RSpec.configuration.send(c)
        Serverspec.send(:"#{c}=", value)
      end
    end
  end
end
{'fraction_non_alphanumeric': 0.10333470564018114, 'fraction_numerical': 0.0, 'mean_word_length': 3.2857142857142856, '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': '6166954', 'n_tokens_mistral': 789, 'n_tokens_neox': 810, 'n_words': 187}