Sha256: 7c79ce9912bc2b1b93c25cd721428f8c2803f3b1dc855b74b4a9a470de31cb9f

Contents?: true

Size: 1.4 KB

Versions: 18

Compression:

Stored size: 1.4 KB

Contents

module Devtools

  # The project devtools supports
  class Project
    include Concord.new(:root)

    CONFIGS = {
      devtools:  Config::Devtools,
      flay:      Config::Flay,
      flog:      Config::Flog,
      reek:      Config::Reek,
      mutant:    Config::Mutant,
      rubocop:   Config::Rubocop,
      yardstick: Config::Yardstick
    }.freeze

    private_constant(*constants(false))

    attr_reader(*CONFIGS.keys)

    # The spec root
    #
    # @return [Pathname]
    #
    # @api private
    attr_reader :spec_root

    # Initialize object
    #
    # @param [Pathname] root
    #
    # @return [undefined]
    #
    # @api private
    #
    def initialize(root)
      super(root)

      initialize_environment
      initialize_configs
    end

    # Init rspec
    #
    # @return [self]
    #
    # @api private
    def init_rspec
      Initializer::Rspec.call(self)
      self
    end

  private

    # Initialize environment
    #
    # @return [undefined]
    #
    # @api private
    #
    def initialize_environment
      @spec_root = root.join(SPEC_DIRECTORY_NAME)
    end

    # Initialize configs
    #
    # @return [undefined]
    #
    # @api private
    #
    def initialize_configs
      config_dir = root.join(DEFAULT_CONFIG_DIR_NAME)

      CONFIGS.each do |name, klass|
        instance_variable_set(:"@#{name}", klass.new(config_dir))
      end
    end

  end # class Project
end # module Devtools

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
devtools-0.1.23 lib/devtools/project.rb
devtools-0.1.22 lib/devtools/project.rb
devtools-0.1.21 lib/devtools/project.rb
devtools-0.1.20 lib/devtools/project.rb
devtools-0.1.19 lib/devtools/project.rb
devtools-0.1.18 lib/devtools/project.rb
devtools-0.1.16 lib/devtools/project.rb
devtools-0.1.15 lib/devtools/project.rb
devtools-0.1.14 lib/devtools/project.rb
devtools-0.1.13 lib/devtools/project.rb
devtools-0.1.12 lib/devtools/project.rb
devtools-0.1.11 lib/devtools/project.rb
devtools-0.1.10 lib/devtools/project.rb
devtools-0.1.9 lib/devtools/project.rb
devtools-0.1.8 lib/devtools/project.rb
devtools-0.1.7 lib/devtools/project.rb
devtools-0.1.6 lib/devtools/project.rb
devtools-0.1.5 lib/devtools/project.rb