class
Ameba::Config
- Ameba::Config
- Reference
- Object
Overview
A configuration entry for Ameba::Runner.
Config can be loaded from configuration YAML file and adjusted.
config = Ameba::Config.load
config.formatter = my_formatter
Included Modules
Extended Modules
Defined in:
ameba/config.crameba/config/loader.cr
ameba/config/rule_config.cr
Constant Summary
-
AVAILABLE_FORMATTERS =
{ progress: Formatter::DotFormatter, todo: Formatter::TODOFormatter, flycheck: Formatter::FlycheckFormatter, silent: Formatter::BaseFormatter, disabled: Formatter::DisabledFormatter, json: Formatter::JSONFormatter, "github-actions": Formatter::GitHubActionsFormatter, } -
DEFAULT_EXCLUDED =
Set {"lib"} -
DEFAULT_GLOBS =
Set {"**/*.{cr,ecr}"}
Class Method Summary
-
.formatter_names(separator = '|')
Returns available formatter names joined by separator.
Instance Method Summary
-
#autocorrect=(autocorrect : Bool)
Returns
trueif correctable issues should be autocorrected. -
#autocorrect? : Bool
Returns
trueif correctable issues should be autocorrected. -
#excluded : Set(String)
Represents a list of paths to exclude from globs.
-
#excluded=(excluded : Set(String))
Represents a list of paths to exclude from globs.
-
#files
Returns a list of files matching globs and excluded sections.
-
#formatter : Formatter::BaseFormatter
Returns a formatter to be used while inspecting files.
-
#formatter=(name : String | Symbol)
Sets formatter by name.
-
#formatter=(formatter : Formatter::BaseFormatter)
Returns a formatter to be used while inspecting files.
-
#globs : Set(String)
Returns a list of paths (with wildcards) to files.
-
#globs=(globs : Set(String))
Returns a list of paths (with wildcards) to files.
-
#root : Path
Returns a root directory to be used by
Ameba::Runner. -
#root=(root : Path)
Returns a root directory to be used by
Ameba::Runner. -
#rules : Array(Rule::Base)
Returns an array of configured rules.
-
#severity : Severity
Returns minimum reported severity.
-
#severity=(severity : Severity)
Returns minimum reported severity.
-
#sources
Returns a list of sources matching globs and excluded sections.
-
#stdin_filename : String | Nil
Returns a filename if reading source file from STDIN.
-
#stdin_filename=(stdin_filename : String | Nil)
Returns a filename if reading source file from STDIN.
-
#update_rule(name, *, enabled, excluded = nil)
Updates rule properties.
-
#update_rules(names : Enumerable(String), *, enabled, excluded = nil)
Updates rules properties.
-
#version : SemanticVersion | Nil
Returns an ameba version to be used by
Ameba::Runner. -
#version=(version : SemanticVersion | Nil)
Returns an ameba version to be used by
Ameba::Runner. -
#version=(version : String)
Sets version from string.
Instance methods inherited from module Ameba::GlobUtils
expand(globs, root = Dir.current)
expand,
find_files_by_globs(globs, root = Dir.current)
find_files_by_globs
Class Method Detail
Instance Method Detail
Represents a list of paths to exclude from globs. Can have wildcards.
config = Ameba::Config.load
config.excluded = Set{"spec", "src/server/*.cr"}
Represents a list of paths to exclude from globs. Can have wildcards.
config = Ameba::Config.load
config.excluded = Set{"spec", "src/server/*.cr"}
Returns a list of files matching globs and excluded sections.
config = Ameba::Config.load
config.files # => list of default files
config.globs = Set{"**/*.cr", "**/*.ecr"}
config.excluded = Set{"spec"}
config.files # => list of files found by the wildcards
Returns a formatter to be used while inspecting files. If formatter is not set, it will return default formatter.
config = Ameba::Config.load
config.formatter = custom_formatter
config.formatter
Sets formatter by name.
config = Ameba::Config.load
config.formatter = :progress
Returns a formatter to be used while inspecting files. If formatter is not set, it will return default formatter.
config = Ameba::Config.load
config.formatter = custom_formatter
config.formatter
Returns a list of paths (with wildcards) to files. Represents a list of sources to be inspected. If globs are not set, it will return default list of files.
config = Ameba::Config.load
config.globs = Set{"**/*.cr"}
config.globs
Returns a list of paths (with wildcards) to files. Represents a list of sources to be inspected. If globs are not set, it will return default list of files.
config = Ameba::Config.load
config.globs = Set{"**/*.cr"}
config.globs
Returns a list of sources matching globs and excluded sections.
config = Ameba::Config.load
config.sources # => list of default sources
config.globs = Set{"**/*.cr", "**/*.ecr"}
config.excluded = Set{"spec"}
config.sources # => list of sources pointing to files found by the wildcards
Returns a filename if reading source file from STDIN.
Updates rule properties.
config = Ameba::Config.load
config.update_rule "MyRuleName", enabled: false
Updates rules properties.
config = Ameba::Config.load
config.update_rules %w[Rule1 Rule2], enabled: true
also it allows to update groups of rules:
config.update_rules %w[Group1 Group2], enabled: true
Returns an ameba version to be used by Ameba::Runner.
Sets version from string.
config = Ameba::Config.load
config.version = "1.6.0"