Ameba::Config
Inherits Ameba::GlobUtils < Reference < Object
A configuration entry for Ameba::Runner.
Config can be loaded from configuration YAML file and adjusted.
config = Config.load
config.formatter = my_formatter
By default config loads .ameba.yml file located in a current
working directory.
If it cannot be found until reaching the root directory, then it will be searched for in the user’s global config locations, which consists of a dotfile or a config file inside the XDG Base Directory specification.
~/.ameba.yml$XDG_CONFIG_HOME/ameba/config.yml(expands to~/.config/ameba/config.ymlif$XDG_CONFIG_HOMEis not set)
If both files exist, the dotfile will be selected.
As an example, if Ameba is invoked from inside /path/to/project/lib/utils,
then it will use the config as specified inside the first of the following files:
/path/to/project/lib/utils/.ameba.yml/path/to/project/lib/.ameba.yml/path/to/project/.ameba.yml/path/to/.ameba.yml/path/.ameba.yml/.ameba.yml~/.ameba.yml~/.config/ameba/config.yml
Constants
Class methods
Loads YAML configuration file by path.
config = Ameba::Config.load
Instance methods
Represents a list of paths to exclude from globs. Can have wildcards.
config = Ameba::Config.load
config.excluded = ["spec", "src/server/*.cr"]
Represents a list of paths to exclude from globs. Can have wildcards.
config = Ameba::Config.load
config.excluded = ["spec", "src/server/*.cr"]
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 = ["**/*.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 = ["**/*.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 = ["**/*.cr", "**/*.ecr"]
config.excluded = ["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.