Class: Tailor::Configuration::Style
- Inherits:
-
Object
- Object
- Tailor::Configuration::Style
- Defined in:
- lib/tailor/configuration/style.rb
Class Method Summary collapse
-
.define_property(name) ⇒ Object
Adds a style property to a Style object.
Instance Method Summary collapse
-
#each ⇒ Object
Yields each property and values.
-
#initialize ⇒ Style
constructor
Sets up default values.
-
#to_hash ⇒ Hash
Returns the current style as a Hash.
Constructor Details
#initialize ⇒ Style
Sets up default values.
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/tailor/configuration/style.rb', line 50 def initialize allow_camel_case_methods(false, level: :error) allow_hard_tabs(false, level: :error) allow_screaming_snake_case_classes(false, level: :error) allow_trailing_line_spaces(false, level: :error) allow_invalid_ruby(false, level: :warn) indentation_spaces(2, level: :error) max_code_lines_in_class(300, level: :error) max_code_lines_in_method(30, level: :error) max_line_length(80, level: :error) spaces_after_comma(1, level: :error) spaces_after_lbrace(1, level: :error) spaces_after_lbracket(0, level: :error) spaces_after_lparen(0, level: :error) spaces_before_comma(0, level: :error) spaces_before_lbrace(1, level: :error) spaces_before_rbrace(1, level: :error) spaces_before_rbracket(0, level: :error) spaces_before_rparen(0, level: :error) spaces_in_empty_braces(0, level: :error) trailing_newlines(1, level: :error) end |
Class Method Details
.define_property(name) ⇒ Object
Adds a style property to a Style object. If you’re planning on creating your own Ruler, you need to register the property here.
Defines a method from name
that takes 2 parameters: value
and options
. value
is the value to use for the Ruler of the same name
for checking style. options
can include anything that’s necessary for style checking. A :level
option key is used to determine the Problem level:
-
:error
results in a exit status of 1. -
:warn
results in an exit status of 0, but gets printed in the report.
Example:
Tailor::Configuration::Style.define_property(:my_style_property)
style = Tailor::Configuration::Style.new
style.my_style_property(100, level: :warn)
21 22 23 24 25 26 |
# File 'lib/tailor/configuration/style.rb', line 21 def self.define_property(name) define_method(name) do |value, *| = .first || { level: :error } instance_variable_set("@#{name}".to_sym, [value, ]) end end |
Instance Method Details
#each ⇒ Object
Yields each property and values.
85 86 87 88 89 |
# File 'lib/tailor/configuration/style.rb', line 85 def each to_hash.each do |property, values| yield property, values end end |
#to_hash ⇒ Hash
Returns the current style as a Hash.
76 77 78 79 80 81 82 |
# File 'lib/tailor/configuration/style.rb', line 76 def to_hash instance_variables.inject({}) do |result, ivar| result[ivar.to_s.sub(/@/, '').to_sym] = instance_variable_get(ivar) result end end |