party-management/elvis.config
Yaroslav Rogov 20904d867d
refactor: Rewrite pm_party reduce and merge in a generic fashion (#8)
* refactor: Rewrite pm_party reduce and merge in a generic fashion

* fix: Fix Selector struct checking

* refactor: Refactor generic code

* fix: Fix typos

* fix: Fix selector

* fix: Fix is_selector

* refactor: redo generic struct checking to case variant

* fix: Fix typo

* fix: Switch to more type-safe is_terms

* refactor: Move spec to appropriate place

* refactor: Switch to thrift reflection for is_predicate

* refactor: Add commect regarding is_terms impl

* refactor: remix merge_terms clauses

* refactor: Use new genlib_range

* fmt: Fix formatting

* ref: Refactor to type-driven generic implementation

* fix: Fix selector check

* fmt: Fix formatting

* Update apps/party_management/src/pm_party.erl

Co-authored-by: Andrew Mayorov <a.mayorov@rbkmoney.com>

* ref: Remove leftover

Co-authored-by: Andrew Mayorov <a.mayorov@rbkmoney.com>
2021-09-07 15:52:20 +03:00

67 lines
2.7 KiB
Plaintext

[
{elvis, [
{config, [
#{
dirs => ["apps/*/**"],
filter => "*.erl",
ignore => ["apps/pm_proto/(src|include)/dmsl_.*_thrift\.(e|h)rl"],
rules => [
{elvis_text_style, line_length, #{limit => 120, skip_comments => false}},
{elvis_text_style, no_tabs},
{elvis_text_style, no_trailing_whitespace},
{elvis_style, macro_module_names},
{elvis_style, operator_spaces, #{rules => [{right, ","}, {right, "++"}, {left, "++"}]}},
{elvis_style, nesting_level, #{level => 4}},
{elvis_style, god_modules, #{
limit => 30,
ignore => [
pm_party_tests_SUITE,
pm_client_party
]
}},
{elvis_style, no_if_expression},
{elvis_style, invalid_dynamic_call, #{ignore => [pm_proto_utils, pm_party]}},
{elvis_style, used_ignored_variable},
{elvis_style, no_behavior_info},
{elvis_style, module_naming_convention, #{regex => "^[a-z]([a-z0-9]*_?)*(_SUITE)?$"}},
{elvis_style, function_naming_convention, #{regex => "^[a-z]([a-z0-9]*_?)*$"}},
{elvis_style, state_record_and_type, #{ignore => []}},
{elvis_style, no_spec_with_records},
{elvis_style, dont_repeat_yourself, #{
min_complexity => 30
}},
{elvis_style, no_debug_call, #{}}
]
},
#{
dirs => ["."],
filter => "Makefile",
ruleset => makefiles
},
#{
dirs => ["."],
filter => "elvis.config",
ruleset => elvis_config
},
#{
dirs => [".", "apps/*/*"],
filter => "rebar.config",
rules => [
{elvis_text_style, line_length, #{limit => 120, skip_comments => false}},
{elvis_text_style, no_tabs},
{elvis_text_style, no_trailing_whitespace}
]
},
#{
dirs => ["apps/**"],
filter => "*.app.src",
rules => [
{elvis_text_style, line_length, #{limit => 120, skip_comments => false}},
{elvis_text_style, no_tabs},
{elvis_text_style, no_trailing_whitespace}
]
}
]}
]}
].