class SCSSLint::Plugins::LinterGem
Load linter plugin gems
Attributes
config[R]
Public Class Methods
new(name)
click to toggle source
# File lib/scss_lint/plugins/linter_gem.rb, line 7 def initialize(name) @name = name end
Public Instance Methods
load()
click to toggle source
# File lib/scss_lint/plugins/linter_gem.rb, line 11 def load require @name @config = plugin_config self rescue LoadError raise SCSSLint::Exceptions::PluginGemLoadError, "Unable to load linter plugin gem '#{@name}'. Try running " \ "`gem install #{@name}`, or adding it to your Gemfile and " \ 'running `bundle install`. See the `plugin_gems` section of ' \ 'your .scss-lint.yml file to add/remove gem plugins.' end
Private Instance Methods
plugin_config()
click to toggle source
Returns the {SCSSLint::Config} for this plugin.
This is intended to be merged with the configuration that loaded this plugin.
@return [SCSSLint::Config]
# File lib/scss_lint/plugins/linter_gem.rb, line 31 def plugin_config file = plugin_config_file if File.exist?(file) Config.load(file, merge_with_default: false) else Config.new({}) end end
plugin_config_file()
click to toggle source
Path of the configuration file to attempt to load for this plugin.
@return [String]
# File lib/scss_lint/plugins/linter_gem.rb, line 44 def plugin_config_file gem_specification = Gem::Specification.find_by_name(@name) File.join(gem_specification.gem_dir, Config::FILE_NAME) end