Sha256: a3058f6ec587e08e82d58c9a8b33bc78945300c8fac4ea8787d587ae0e2ddf6b

Contents?: true

Size: 615 Bytes

Versions: 25

Compression:

Stored size: 615 Bytes

Contents

# frozen_string_literal: true

require 'rubycritic/configuration'

module RubyCritic
  class CommandFactory
    COMMAND_CLASS_MODES = %i[version help ci compare default].freeze

    def self.create(options = {})
      Config.set(options)
      command_class(Config.mode).new(options)
    end

    def self.command_class(mode)
      mode = mode.to_s.split('_').first.to_sym
      if COMMAND_CLASS_MODES.include? mode
        require "rubycritic/commands/#{mode}"
        Command.const_get(mode.capitalize)
      else
        require 'rubycritic/commands/default'
        Command::Default
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 2 rubygems

Version Path
rubycritic-4.9.1 lib/rubycritic/command_factory.rb
rubycritic-4.9.0 lib/rubycritic/command_factory.rb
rubycritic-4.8.1 lib/rubycritic/command_factory.rb
rubycritic-4.8.0 lib/rubycritic/command_factory.rb
rubycritic-4.7.0 lib/rubycritic/command_factory.rb
rubycritic-4.6.1 lib/rubycritic/command_factory.rb
rubycritic-4.6.0 lib/rubycritic/command_factory.rb
rubycritic-4.5.2 lib/rubycritic/command_factory.rb
rubycritic-4.5.1 lib/rubycritic/command_factory.rb
rubycritic-4.5.0 lib/rubycritic/command_factory.rb
rubycritic-4.4.1 lib/rubycritic/command_factory.rb
rubycritic-4.4.0 lib/rubycritic/command_factory.rb
rubycritic-4.3.3 lib/rubycritic/command_factory.rb
rubycritic-4.3.2 lib/rubycritic/command_factory.rb
rubycritic-4.3.1 lib/rubycritic/command_factory.rb
rubycritic-4.3.0 lib/rubycritic/command_factory.rb
rubycritic-4.2.2 lib/rubycritic/command_factory.rb
rubycritic-4.2.1 lib/rubycritic/command_factory.rb
rubycritic-4.2.0 lib/rubycritic/command_factory.rb
rubycritic-simplecov-4.1.1 lib/rubycritic/command_factory.rb