diff --git a/.stylelintignore b/.stylelintignore new file mode 100644 index 00000000..f321fd05 --- /dev/null +++ b/.stylelintignore @@ -0,0 +1,5 @@ +coverage/ +assets/stylesheets/angular-* +assets/stylesheets/bootstrap-* +assets/stylesheets/*.min.css +assets/stylesheets/jquery.tagit.css diff --git a/.stylelintrc.json b/.stylelintrc.json new file mode 100644 index 00000000..4e01a95d --- /dev/null +++ b/.stylelintrc.json @@ -0,0 +1,163 @@ +{ + "rules": { + "at-rule-no-unknown": true, + "block-no-empty": true, + "color-no-invalid-hex": true, + "comment-no-empty": true, + "declaration-block-no-duplicate-properties": [ + true, + { + "ignore": [ + "consecutive-duplicates-with-different-values" + ] + } + ], + "declaration-block-no-redundant-longhand-properties": true, + "declaration-block-no-shorthand-property-overrides": true, + "font-family-no-duplicate-names": true, + "font-family-no-missing-generic-family-keyword": true, + "function-calc-no-unspaced-operator": true, + "function-linear-gradient-no-nonstandard-direction": true, + "keyframe-declaration-no-important": true, + "media-feature-name-no-unknown": true, + "no-descending-specificity": true, + "no-duplicate-at-import-rules": true, + "no-duplicate-selectors": true, + "no-empty-source": true, + "no-extra-semicolons": true, + "no-invalid-double-slash-comments": true, + "property-no-unknown": true, + "selector-pseudo-class-no-unknown": true, + "selector-pseudo-element-no-unknown": true, + "selector-type-no-unknown": true, + "string-no-newline": true, + "unit-no-unknown": true, + "at-rule-empty-line-before": [ + "always", + { + "except": [ + "blockless-after-same-name-blockless", + "first-nested" + ], + "ignore": [ + "after-comment" + ] + } + ], + "at-rule-name-case": "lower", + "at-rule-name-space-after": "always-single-line", + "at-rule-semicolon-newline-after": "always", + "block-closing-brace-empty-line-before": "never", + "block-closing-brace-newline-after": "always", + "block-closing-brace-newline-before": "always-multi-line", + "block-closing-brace-space-before": "always-single-line", + "block-opening-brace-newline-after": "always-multi-line", + "block-opening-brace-space-after": "always-single-line", + "block-opening-brace-space-before": "always", + "color-hex-case": "lower", + "color-hex-length": "short", + "comment-empty-line-before": [ + "always", + { + "except": [ + "first-nested" + ], + "ignore": [ + "stylelint-commands" + ] + } + ], + "comment-whitespace-inside": "always", + "custom-property-empty-line-before": [ + "always", + { + "except": [ + "after-custom-property", + "first-nested" + ], + "ignore": [ + "after-comment", + "inside-single-line-block" + ] + } + ], + "declaration-bang-space-after": "never", + "declaration-bang-space-before": "always", + "declaration-block-semicolon-newline-after": "always-multi-line", + "declaration-block-semicolon-space-after": "always-single-line", + "declaration-block-semicolon-space-before": "never", + "declaration-block-single-line-max-declarations": 1, + "declaration-block-trailing-semicolon": "always", + "declaration-colon-newline-after": "always-multi-line", + "declaration-colon-space-after": "always-single-line", + "declaration-colon-space-before": "never", + "declaration-empty-line-before": [ + "always", + { + "except": [ + "after-declaration", + "first-nested" + ], + "ignore": [ + "after-comment", + "inside-single-line-block" + ] + } + ], + "function-comma-newline-after": "always-multi-line", + "function-comma-space-after": "always-single-line", + "function-comma-space-before": "never", + "function-max-empty-lines": 0, + "function-name-case": "lower", + "function-parentheses-newline-inside": "always-multi-line", + "function-parentheses-space-inside": "never-single-line", + "function-whitespace-after": "always", + "indentation": 2, + "length-zero-no-unit": true, + "max-empty-lines": 1, + "media-feature-colon-space-after": "always", + "media-feature-colon-space-before": "never", + "media-feature-name-case": "lower", + "media-feature-parentheses-space-inside": "never", + "media-feature-range-operator-space-after": "always", + "media-feature-range-operator-space-before": "always", + "media-query-list-comma-newline-after": "always-multi-line", + "media-query-list-comma-space-after": "always-single-line", + "media-query-list-comma-space-before": "never", + "no-eol-whitespace": true, + "no-missing-end-of-source-newline": true, + "number-leading-zero": "always", + "number-no-trailing-zeros": true, + "property-case": "lower", + "rule-empty-line-before": [ + "always-multi-line", + { + "except": [ + "first-nested" + ], + "ignore": [ + "after-comment" + ] + } + ], + "selector-attribute-brackets-space-inside": "never", + "selector-attribute-operator-space-after": "never", + "selector-attribute-operator-space-before": "never", + "selector-combinator-space-after": "always", + "selector-combinator-space-before": "always", + "selector-descendant-combinator-no-non-space": true, + "selector-list-comma-newline-after": "always", + "selector-list-comma-space-before": "never", + "selector-max-empty-lines": 0, + "selector-pseudo-class-case": "lower", + "selector-pseudo-class-parentheses-space-inside": "never", + "selector-pseudo-element-case": "lower", + "selector-pseudo-element-colon-notation": "double", + "selector-type-case": "lower", + "unit-case": "lower", + "value-list-comma-newline-after": "always-multi-line", + "value-list-comma-space-after": "always-single-line", + "value-list-comma-space-before": "never", + "value-list-max-empty-lines": 0 + } +} diff --git a/app/models/additionals_tag.rb b/app/models/additionals_tag.rb index 94bd88af..accc3feb 100644 --- a/app/models/additionals_tag.rb +++ b/app/models/additionals_tag.rb @@ -29,9 +29,7 @@ class AdditionalsTag else Project.where(Project.allowed_to_condition(User.current, permission)).pluck(:id) end - unless projects_allowed.empty? - cond << "#{Project.table_name}.id IN (#{projects_allowed.join(',')})" - end + cond << "#{Project.table_name}.id IN (#{projects_allowed.join(',')})" unless projects_allowed.empty? cond end diff --git a/lib/additionals.rb b/lib/additionals.rb index a660e4e1..f007c4f0 100644 --- a/lib/additionals.rb +++ b/lib/additionals.rb @@ -32,9 +32,7 @@ module Additionals target = name.constantize patch = "#{plugin_id.camelize}::Patches::#{name}Patch".constantize - unless target.included_modules.include?(patch) - target.send(:include, patch) - end + target.send(:include, patch) unless target.included_modules.include?(patch) end end diff --git a/lib/additionals/wiki_macros/calendar_macro.rb b/lib/additionals/wiki_macros/calendar_macro.rb index 737f7038..6470247c 100644 --- a/lib/additionals/wiki_macros/calendar_macro.rb +++ b/lib/additionals/wiki_macros/calendar_macro.rb @@ -57,9 +57,7 @@ module Additionals s = string.split s.each do |d| con = Date.strptime(d, '%Y-%m-%d') - unless con.nil? - selected << "new Date(#{con.year},#{con.month - 1},#{con.mday})" - end + selected << "new Date(#{con.year},#{con.month - 1},#{con.mday})" unless con.nil? end selected end