leftovers 0.6.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +51 -3
- data/README.md +8 -7
- data/docs/Configuration.md +241 -105
- data/docs/Custom-Precompilers.md +44 -0
- data/leftovers.gemspec +3 -2
- data/lib/config/actioncable.yml +36 -4
- data/lib/config/actionmailbox.yml +28 -0
- data/lib/config/actionmailer.yml +92 -16
- data/lib/config/actionpack.yml +130 -32
- data/lib/config/actiontext.yml +56 -0
- data/lib/config/actionview.yml +194 -44
- data/lib/config/activejob.yml +15 -8
- data/lib/config/activemodel.yml +175 -18
- data/lib/config/activerecord.yml +397 -86
- data/lib/config/activestorage.yml +26 -0
- data/lib/config/activesupport.yml +168 -25
- data/lib/config/haml.yml +4 -2
- data/lib/config/leftovers.yml +48 -0
- data/lib/config/rails.yml +8 -4
- data/lib/config/railties.yml +18 -0
- data/lib/config/ruby.yml +473 -57
- data/lib/config/slim.yml +4 -2
- data/lib/config/test-unit.yml +8 -0
- data/lib/leftovers/ast/array_node.rb +12 -0
- data/lib/leftovers/ast/block_node.rb +12 -0
- data/lib/leftovers/ast/builder.rb +24 -5
- data/lib/leftovers/ast/casgn_node.rb +20 -0
- data/lib/leftovers/ast/const_node.rb +15 -0
- data/lib/leftovers/ast/def_node.rb +15 -0
- data/lib/leftovers/ast/defs_node.rb +15 -0
- data/lib/leftovers/ast/false_node.rb +24 -0
- data/lib/leftovers/ast/has_arguments.rb +31 -0
- data/lib/leftovers/ast/hash_node.rb +17 -0
- data/lib/leftovers/ast/module_node.rb +16 -0
- data/lib/leftovers/ast/nil_node.rb +23 -0
- data/lib/leftovers/ast/node.rb +39 -91
- data/lib/leftovers/ast/numeric_node.rb +22 -0
- data/lib/leftovers/ast/send_node.rb +25 -0
- data/lib/leftovers/ast/str_node.rb +24 -0
- data/lib/leftovers/ast/sym_node.rb +25 -0
- data/lib/leftovers/ast/true_node.rb +24 -0
- data/lib/leftovers/ast/var_node.rb +14 -0
- data/lib/leftovers/ast/vasgn_node.rb +20 -0
- data/lib/leftovers/ast.rb +18 -0
- data/lib/leftovers/cli.rb +12 -1
- data/lib/leftovers/collector.rb +2 -1
- data/lib/leftovers/comparable_instance.rb +18 -0
- data/lib/leftovers/config.rb +3 -42
- data/lib/leftovers/config_loader/argument_position_schema.rb +13 -0
- data/lib/leftovers/config_loader/argumentless_transform_schema.rb +21 -0
- data/lib/leftovers/config_loader/array_schema.rb +53 -0
- data/lib/leftovers/config_loader/attribute.rb +56 -0
- data/lib/leftovers/config_loader/built_in_precompiler_schema.rb +13 -0
- data/lib/leftovers/config_loader/document_schema.rb +49 -0
- data/lib/leftovers/config_loader/dynamic_schema.rb +18 -0
- data/lib/leftovers/config_loader/has_argument_schema.rb +13 -0
- data/lib/leftovers/config_loader/has_value_schema.rb +22 -0
- data/lib/leftovers/config_loader/inherit_schema_attributes.rb +22 -0
- data/lib/leftovers/config_loader/keep_test_only_schema.rb +13 -0
- data/lib/leftovers/config_loader/keyword_argument_schema.rb +13 -0
- data/lib/leftovers/config_loader/node.rb +106 -0
- data/lib/leftovers/config_loader/object_schema.rb +117 -0
- data/lib/leftovers/config_loader/precompile_schema.rb +12 -0
- data/lib/leftovers/config_loader/precompiler_schema.rb +11 -0
- data/lib/leftovers/config_loader/privacy_processor_schema.rb +10 -0
- data/lib/leftovers/config_loader/privacy_schema.rb +15 -0
- data/lib/leftovers/config_loader/regexp_schema.rb +27 -0
- data/lib/leftovers/config_loader/require_schema.rb +11 -0
- data/lib/leftovers/config_loader/rule_pattern_schema.rb +20 -0
- data/lib/leftovers/config_loader/scalar_argument_schema.rb +14 -0
- data/lib/leftovers/config_loader/scalar_value_schema.rb +22 -0
- data/lib/leftovers/config_loader/schema.rb +33 -0
- data/lib/leftovers/config_loader/string_enum_schema.rb +62 -0
- data/lib/leftovers/config_loader/string_pattern_schema.rb +14 -0
- data/lib/leftovers/config_loader/string_schema.rb +14 -0
- data/lib/leftovers/config_loader/string_value_processor_schema.rb +11 -0
- data/lib/leftovers/config_loader/suggester.rb +22 -0
- data/lib/leftovers/config_loader/transform_schema.rb +32 -0
- data/lib/leftovers/config_loader/true_schema.rb +18 -0
- data/lib/leftovers/config_loader/value_matcher_condition_schema.rb +13 -0
- data/lib/leftovers/config_loader/value_matcher_schema.rb +21 -0
- data/lib/leftovers/config_loader/value_or_array_schema.rb +34 -0
- data/lib/leftovers/config_loader/value_or_object_schema.rb +40 -0
- data/lib/leftovers/config_loader/value_processor_schema.rb +14 -0
- data/lib/leftovers/config_loader/value_type_schema.rb +17 -0
- data/lib/leftovers/config_loader.rb +93 -0
- data/lib/leftovers/definition_collection.rb +37 -0
- data/lib/leftovers/definition_node.rb +6 -17
- data/lib/leftovers/definition_node_set.rb +19 -0
- data/lib/leftovers/definition_to_add.rb +31 -0
- data/lib/leftovers/file.rb +13 -55
- data/lib/leftovers/file_collector/comments_processor.rb +57 -0
- data/lib/leftovers/file_collector/node_processor.rb +131 -0
- data/lib/leftovers/file_collector.rb +62 -202
- data/lib/leftovers/file_list.rb +3 -2
- data/lib/leftovers/matcher_builders/and.rb +26 -9
- data/lib/leftovers/matcher_builders/and_not.rb +7 -5
- data/lib/leftovers/matcher_builders/name.rb +18 -17
- data/lib/leftovers/matcher_builders/node.rb +60 -30
- data/lib/leftovers/matcher_builders/node_has_argument.rb +48 -52
- data/lib/leftovers/matcher_builders/node_has_keyword_argument.rb +16 -11
- data/lib/leftovers/matcher_builders/node_has_positional_argument.rb +29 -15
- data/lib/leftovers/matcher_builders/node_pair_key.rb +16 -0
- data/lib/leftovers/matcher_builders/node_privacy.rb +13 -0
- data/lib/leftovers/matcher_builders/node_type.rb +11 -11
- data/lib/leftovers/matcher_builders/node_value.rb +44 -25
- data/lib/leftovers/matcher_builders/or.rb +64 -49
- data/lib/leftovers/matcher_builders/path.rb +3 -1
- data/lib/leftovers/matcher_builders/string_pattern.rb +14 -5
- data/lib/leftovers/matcher_builders.rb +2 -1
- data/lib/leftovers/matchers/all.rb +4 -0
- data/lib/leftovers/matchers/and.rb +4 -0
- data/lib/leftovers/matchers/any.rb +2 -0
- data/lib/leftovers/matchers/node_has_any_keyword_argument.rb +7 -4
- data/lib/leftovers/matchers/node_has_any_positional_argument_with_value.rb +5 -4
- data/lib/leftovers/matchers/node_has_positional_argument.rb +5 -1
- data/lib/leftovers/matchers/node_has_positional_argument_with_value.rb +6 -1
- data/lib/leftovers/matchers/node_has_receiver.rb +4 -0
- data/lib/leftovers/matchers/node_is_proc.rb +13 -0
- data/lib/leftovers/matchers/node_name.rb +9 -3
- data/lib/leftovers/matchers/node_pair_key.rb +23 -0
- data/lib/leftovers/matchers/node_pair_value.rb +7 -3
- data/lib/leftovers/matchers/node_path.rb +7 -3
- data/lib/leftovers/matchers/node_privacy.rb +23 -0
- data/lib/leftovers/matchers/node_scalar_value.rb +6 -1
- data/lib/leftovers/matchers/node_type.rb +7 -3
- data/lib/leftovers/matchers/not.rb +2 -0
- data/lib/leftovers/matchers/or.rb +2 -0
- data/lib/leftovers/matchers/path.rb +21 -0
- data/lib/leftovers/matchers.rb +4 -1
- data/lib/leftovers/merged_config.rb +40 -75
- data/lib/leftovers/parser.rb +7 -4
- data/lib/leftovers/precompilers/erb.rb +22 -0
- data/lib/leftovers/precompilers/haml.rb +15 -0
- data/lib/leftovers/precompilers/json.rb +27 -0
- data/lib/leftovers/precompilers/precompiler.rb +28 -0
- data/lib/leftovers/precompilers/slim.rb +15 -0
- data/lib/leftovers/precompilers/yaml.rb +75 -0
- data/lib/leftovers/precompilers.rb +50 -0
- data/lib/leftovers/processor_builders/action.rb +69 -42
- data/lib/leftovers/processor_builders/add_prefix.rb +18 -10
- data/lib/leftovers/processor_builders/add_suffix.rb +18 -10
- data/lib/leftovers/processor_builders/argument.rb +28 -14
- data/lib/leftovers/processor_builders/dynamic.rb +57 -17
- data/lib/leftovers/processor_builders/each.rb +83 -11
- data/lib/leftovers/processor_builders/itself.rb +2 -2
- data/lib/leftovers/processor_builders/keyword.rb +9 -9
- data/lib/leftovers/processor_builders/keyword_argument.rb +4 -2
- data/lib/leftovers/processor_builders/receiver.rb +13 -0
- data/lib/leftovers/processor_builders/transform.rb +55 -44
- data/lib/leftovers/processor_builders/transform_chain.rb +16 -8
- data/lib/leftovers/processor_builders/transform_set.rb +16 -32
- data/lib/leftovers/processor_builders/value.rb +4 -4
- data/lib/leftovers/processor_builders.rb +1 -3
- data/lib/leftovers/processors/add_call.rb +14 -0
- data/lib/leftovers/processors/add_definition_node.rb +16 -0
- data/lib/leftovers/processors/add_dynamic_prefix.rb +29 -0
- data/lib/leftovers/processors/add_dynamic_suffix.rb +29 -0
- data/lib/leftovers/{value_processors → processors}/add_prefix.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/add_suffix.rb +7 -3
- data/lib/leftovers/processors/append_sym.rb +13 -0
- data/lib/leftovers/{value_processors → processors}/camelize.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/capitalize.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/deconstantize.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/delete_after.rb +9 -5
- data/lib/leftovers/processors/delete_after_last.rb +26 -0
- data/lib/leftovers/processors/delete_before.rb +27 -0
- data/lib/leftovers/processors/delete_before_last.rb +27 -0
- data/lib/leftovers/{value_processors → processors}/delete_prefix.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/delete_suffix.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/demodulize.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/downcase.rb +7 -3
- data/lib/leftovers/processors/each.rb +25 -0
- data/lib/leftovers/processors/each_for_definition_set.rb +33 -0
- data/lib/leftovers/processors/each_keyword.rb +29 -0
- data/lib/leftovers/processors/each_keyword_argument.rb +29 -0
- data/lib/leftovers/processors/each_positional_argument.rb +27 -0
- data/lib/leftovers/processors/each_positional_argument_from.rb +30 -0
- data/lib/leftovers/processors/eval.rb +16 -0
- data/lib/leftovers/processors/itself.rb +21 -0
- data/lib/leftovers/{value_processors → processors}/keyword_argument.rb +9 -11
- data/lib/leftovers/processors/match_current_node.rb +26 -0
- data/lib/leftovers/processors/match_matched_node.rb +26 -0
- data/lib/leftovers/{value_processors → processors}/parameterize.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/placeholder.rb +5 -4
- data/lib/leftovers/{value_processors → processors}/pluralize.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/positional_argument.rb +8 -6
- data/lib/leftovers/processors/receiver.rb +24 -0
- data/lib/leftovers/{value_processors → processors}/replace_value.rb +7 -3
- data/lib/leftovers/processors/set_default_privacy.rb +21 -0
- data/lib/leftovers/processors/set_privacy.rb +23 -0
- data/lib/leftovers/{value_processors → processors}/singularize.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/split.rb +8 -4
- data/lib/leftovers/{value_processors → processors}/swapcase.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/titleize.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/underscore.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/upcase.rb +7 -3
- data/lib/leftovers/processors.rb +49 -0
- data/lib/leftovers/rake_task.rb +1 -1
- data/lib/leftovers/version.rb +1 -1
- data/lib/leftovers.rb +55 -20
- metadata +159 -72
- data/lib/leftovers/config_validator/error_processor.rb +0 -196
- data/lib/leftovers/config_validator/schema_hash.rb +0 -551
- data/lib/leftovers/config_validator.rb +0 -61
- data/lib/leftovers/dynamic_processors/call.rb +0 -21
- data/lib/leftovers/dynamic_processors/call_definition.rb +0 -27
- data/lib/leftovers/dynamic_processors/definition.rb +0 -22
- data/lib/leftovers/dynamic_processors/each.rb +0 -19
- data/lib/leftovers/dynamic_processors/null.rb +0 -9
- data/lib/leftovers/dynamic_processors.rb +0 -11
- data/lib/leftovers/erb.rb +0 -20
- data/lib/leftovers/haml.rb +0 -21
- data/lib/leftovers/json.rb +0 -28
- data/lib/leftovers/matcher_builders/node_pair_name.rb +0 -18
- data/lib/leftovers/matchers/predicate.rb +0 -19
- data/lib/leftovers/processor_builders/each_action.rb +0 -51
- data/lib/leftovers/processor_builders/each_dynamic.rb +0 -54
- data/lib/leftovers/processor_builders/each_for_definition_set.rb +0 -36
- data/lib/leftovers/slim.rb +0 -21
- data/lib/leftovers/value_processors/add_dynamic_prefix.rb +0 -31
- data/lib/leftovers/value_processors/add_dynamic_suffix.rb +0 -31
- data/lib/leftovers/value_processors/delete_before.rb +0 -22
- data/lib/leftovers/value_processors/each.rb +0 -21
- data/lib/leftovers/value_processors/each_for_definition_set.rb +0 -29
- data/lib/leftovers/value_processors/each_keyword.rb +0 -27
- data/lib/leftovers/value_processors/each_keyword_argument.rb +0 -27
- data/lib/leftovers/value_processors/each_positional_argument.rb +0 -24
- data/lib/leftovers/value_processors/itself.rb +0 -17
- data/lib/leftovers/value_processors/keyword.rb +0 -32
- data/lib/leftovers/value_processors/return_definition.rb +0 -22
- data/lib/leftovers/value_processors/return_string.rb +0 -14
- data/lib/leftovers/value_processors.rb +0 -40
- data/lib/leftovers/yaml.rb +0 -73
@@ -1,21 +1,86 @@
|
|
1
|
+
# currently doesn't handle with_options at all
|
2
|
+
# probably never will
|
3
|
+
|
4
|
+
|
5
|
+
|
1
6
|
requires:
|
2
7
|
- 'active_support'
|
3
8
|
- 'active_support/core_ext/string'
|
4
9
|
- 'active_support/inflections'
|
5
|
-
- './config/initializers/inflections'
|
10
|
+
- quiet: './config/initializers/inflections'
|
6
11
|
|
7
12
|
# THIS IS INCOMPLETE (you can help by expanding it)
|
8
13
|
# rails is _really complicated_ and has a lot of magic which calls methods for you.
|
9
14
|
# some is currently impossible to handle (with_options).
|
10
15
|
# Some is just corners of rails I haven't hit yet.
|
11
16
|
keep:
|
12
|
-
- ClassMethods # ActiveSupport::Concern
|
13
|
-
- process_action # ActiveSupport::LogSubscriber
|
14
|
-
- format_message # ActiveSupport::Logger
|
15
17
|
- APP_PATH
|
16
18
|
- APP_ROOT
|
17
19
|
|
20
|
+
# https://guides.rubyonrails.org/active_support_core_extensions.html#to-param
|
21
|
+
# you're expected to redefine this as it's relevant
|
22
|
+
- to_param
|
23
|
+
|
18
24
|
dynamic:
|
25
|
+
# https://guides.rubyonrails.org/active_support_core_extensions.html#try
|
26
|
+
- name: [try, try!]
|
27
|
+
calls: 0
|
28
|
+
|
29
|
+
# https://guides.rubyonrails.org/active_support_core_extensions.html#acts-like-questionmark-duck
|
30
|
+
- name: acts_like?
|
31
|
+
calls:
|
32
|
+
argument: 0
|
33
|
+
add_prefix: acts_like_
|
34
|
+
add_suffix: "?"
|
35
|
+
|
36
|
+
# https://guides.rubyonrails.org/active_support_core_extensions.html#alias-attribute
|
37
|
+
- name: alias_attribute
|
38
|
+
calls:
|
39
|
+
argument: 1
|
40
|
+
transforms:
|
41
|
+
- original
|
42
|
+
- add_suffix: '?'
|
43
|
+
- add_prefix: '='
|
44
|
+
defines:
|
45
|
+
argument: 0
|
46
|
+
transforms:
|
47
|
+
- original
|
48
|
+
- add_suffix: '?'
|
49
|
+
- add_prefix: '='
|
50
|
+
|
51
|
+
# https://guides.rubyonrails.org/active_support_core_extensions.html#internal-attributes
|
52
|
+
- name: [attr_internal, attr_internal_accessor, attr_internal_writer]
|
53
|
+
defines:
|
54
|
+
argument: '*'
|
55
|
+
add_suffix: '='
|
56
|
+
|
57
|
+
- name: [attr_internal, attr_internal_accessor, attr_internal_reader]
|
58
|
+
defines:
|
59
|
+
argument: '*'
|
60
|
+
calls:
|
61
|
+
argument: '*'
|
62
|
+
add_prefix: '@_'
|
63
|
+
# this ivar pattern is only the default.
|
64
|
+
# if it's overridden copy this into .leftovers.yml with
|
65
|
+
# whatever it was overridden as
|
66
|
+
|
67
|
+
# https://guides.rubyonrails.org/active_support_core_extensions.html#module-attributes
|
68
|
+
# https://guides.rubyonrails.org/active_support_core_extensions.html#cattr-reader-cattr-writer-and-cattr-accessor
|
69
|
+
- name: [mattr_accessor, mattr_writer, cattr_accessor, cattr_writer]
|
70
|
+
defines:
|
71
|
+
argument: '*'
|
72
|
+
add_suffix: '='
|
73
|
+
|
74
|
+
- name: [mattr_accessor, mattr_reader, cattr_accessor, cattr_reader]
|
75
|
+
defines:
|
76
|
+
argument: '*'
|
77
|
+
calls:
|
78
|
+
argument: '*'
|
79
|
+
add_prefix: '@@'
|
80
|
+
|
81
|
+
# https://guides.rubyonrails.org/active_support_core_extensions.html#delegate
|
82
|
+
# skipping handling `private: true` because i don't yet support combining multiple has_argument with and
|
83
|
+
# also i expect to be able to run these in any order, and that would be order dependent
|
19
84
|
- name: delegate
|
20
85
|
has_argument:
|
21
86
|
at: prefix
|
@@ -51,31 +116,101 @@ dynamic:
|
|
51
116
|
type: [String, Symbol]
|
52
117
|
calls:
|
53
118
|
- argument: to
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
defines:
|
58
|
-
- argument: '*'
|
59
|
-
- argument: '*'
|
60
|
-
add_suffix: '='
|
119
|
+
|
120
|
+
# https://guides.rubyonrails.org/active_support_core_extensions.html#delegate-missing-to
|
121
|
+
- name: delegate_missing_to
|
61
122
|
calls:
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
123
|
+
argument: 0
|
124
|
+
split: '::'
|
125
|
+
|
126
|
+
# https://guides.rubyonrails.org/active_support_core_extensions.html#redefining-methods
|
127
|
+
- name: redefine_method
|
128
|
+
define:
|
129
|
+
argument: 0
|
130
|
+
|
131
|
+
# https://guides.rubyonrails.org/active_support_core_extensions.html#class-attribute
|
132
|
+
- name: class_attribute
|
67
133
|
defines:
|
68
|
-
|
134
|
+
argument: '*'
|
135
|
+
transforms:
|
136
|
+
- original
|
137
|
+
- add_suffix: '='
|
138
|
+
- add_suffix: '?'
|
139
|
+
|
140
|
+
# https://guides.rubyonrails.org/active_support_core_extensions.html#constantize
|
141
|
+
# https://api.rubyonrails.org/classes/String.html#method-i-safe_constantize
|
142
|
+
- name: [constantize, safe_constantize]
|
69
143
|
calls:
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
144
|
+
receiver: true
|
145
|
+
split: '::'
|
146
|
+
|
147
|
+
# https://api.rubyonrails.org/classes/ActiveSupport/Callbacks/ClassMethods.html#method-i-set_callback
|
148
|
+
- name: set_callback
|
149
|
+
calls: [2, if, unless]
|
150
|
+
|
151
|
+
- name: set_callback
|
152
|
+
calls: 1
|
153
|
+
unless:
|
154
|
+
- has_argument: 2
|
155
|
+
# - has_block_argument: true
|
156
|
+
|
157
|
+
# https://api.rubyonrails.org/classes/ActiveSupport/Callbacks/ClassMethods.html#method-i-skip_callback
|
158
|
+
- name: skip_callback
|
159
|
+
calls: [if, unless]
|
160
|
+
|
161
|
+
# https://api.rubyonrails.org/classes/ActiveSupport/Configurable/ClassMethods.html#method-i-config_accessor
|
162
|
+
- name: config_accessor
|
75
163
|
defines:
|
164
|
+
argument: '*'
|
165
|
+
transforms:
|
166
|
+
- original
|
167
|
+
- add_suffix: '='
|
168
|
+
|
169
|
+
# https://api.rubyonrails.org/classes/ActiveSupport/Testing/Assertions.html#method-i-assert_changes
|
170
|
+
# https://api.rubyonrails.org/classes/ActiveSupport/Testing/Assertions.html#method-i-assert_no_changes
|
171
|
+
- name: [assert_changes, assert_no_changes]
|
172
|
+
eval: 0
|
173
|
+
has_argument:
|
174
|
+
at: 0
|
175
|
+
has_value:
|
176
|
+
type: String
|
177
|
+
|
178
|
+
# https://api.rubyonrails.org/classes/ActiveSupport/Testing/Assertions.html#method-i-assert_difference
|
179
|
+
- name: assert_difference
|
180
|
+
eval:
|
181
|
+
- argument: 0
|
182
|
+
- argument: 0
|
183
|
+
nested: '*'
|
184
|
+
- argument: 0
|
185
|
+
keywords: '**'
|
186
|
+
|
187
|
+
# https://api.rubyonrails.org/classes/ActiveSupport/Testing/Assertions.html#method-i-assert_no_difference
|
188
|
+
- name: assert_difference
|
189
|
+
eval:
|
190
|
+
- argument: 0
|
191
|
+
- argument: 0
|
192
|
+
nested: '*'
|
193
|
+
|
194
|
+
# https://api.rubyonrails.org/classes/ActiveSupport/Rescuable/ClassMethods.html#method-i-rescue_from
|
195
|
+
- name: rescue_from
|
196
|
+
calls:
|
76
197
|
- argument: '*'
|
77
|
-
|
198
|
+
split: '::'
|
199
|
+
- argument: with
|
200
|
+
|
201
|
+
# https://api.rubyonrails.org/classes/ActiveSupport/Reloader.html#method-c-after_class_unload
|
202
|
+
# https://api.rubyonrails.org/classes/ActiveSupport/Reloader.html#method-c-before_class_unload
|
203
|
+
# https://api.rubyonrails.org/classes/ActiveSupport/Reloader.html#method-c-to_prepare
|
204
|
+
# this is not well documented but uses set_callback internally so we can just guess
|
205
|
+
- name: [before_class_unload, after_class_unload, to_prepare]
|
206
|
+
calls: [0, if, unless]
|
78
207
|
|
208
|
+
# https://api.rubyonrails.org/classes/Module/Concerning.html#method-i-concern
|
209
|
+
- name: concern
|
210
|
+
defines: 0
|
211
|
+
|
212
|
+
# https://api.rubyonrails.org/classes/Module.html#method-i-thread_mattr_accessor
|
213
|
+
# https://api.rubyonrails.org/classes/Module.html#method-i-thread_cattr_accessor
|
79
214
|
- name:
|
80
215
|
- thread_cattr_accessor
|
81
216
|
- thread_mattr_accessor
|
@@ -83,17 +218,25 @@ dynamic:
|
|
83
218
|
- argument: '*'
|
84
219
|
- argument: '*'
|
85
220
|
add_suffix: '='
|
221
|
+
|
222
|
+
# https://api.rubyonrails.org/classes/Module.html#method-i-thread_mattr_reader
|
223
|
+
# https://api.rubyonrails.org/classes/Module.html#method-i-thread_cattr_reader
|
86
224
|
- name:
|
87
225
|
- thread_cattr_reader
|
88
226
|
- thread_mattr_reader
|
89
227
|
defines:
|
90
228
|
argument: '*'
|
229
|
+
|
230
|
+
# https://api.rubyonrails.org/classes/Module.html#method-i-thread_mattr_writer
|
231
|
+
# https://api.rubyonrails.org/classes/Module.html#method-i-thread_cattr_writer
|
91
232
|
- name:
|
92
233
|
- thread_cattr_writer
|
93
234
|
- thread_mattr_writer
|
94
235
|
defines:
|
95
236
|
argument: '*'
|
96
237
|
add_suffix: '='
|
97
|
-
|
238
|
+
|
239
|
+
# https://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html
|
240
|
+
- name: to_json
|
98
241
|
calls:
|
99
|
-
|
242
|
+
value: as_json
|
data/lib/config/haml.yml
CHANGED
@@ -0,0 +1,48 @@
|
|
1
|
+
precompile:
|
2
|
+
- { paths: ['*.yml', '*.yaml'], format: 'yaml' }
|
3
|
+
- { paths: '*.json', format: 'json' }
|
4
|
+
|
5
|
+
include_paths:
|
6
|
+
.leftovers.yml
|
7
|
+
|
8
|
+
dynamic:
|
9
|
+
- document: true
|
10
|
+
path: '.leftovers.yml'
|
11
|
+
has_argument:
|
12
|
+
at: precompile
|
13
|
+
has_value:
|
14
|
+
has_argument:
|
15
|
+
at: '*'
|
16
|
+
has_value:
|
17
|
+
has_argument:
|
18
|
+
at: 'format'
|
19
|
+
has_value:
|
20
|
+
has_argument: custom
|
21
|
+
calls:
|
22
|
+
- value: precompile
|
23
|
+
- argument: precompile
|
24
|
+
nested:
|
25
|
+
- argument: '*'
|
26
|
+
nested:
|
27
|
+
argument: format
|
28
|
+
nested:
|
29
|
+
argument: custom
|
30
|
+
split: '::'
|
31
|
+
|
32
|
+
- document: true
|
33
|
+
path: '.leftovers.yml'
|
34
|
+
has_argument:
|
35
|
+
at: precompile
|
36
|
+
has_value:
|
37
|
+
has_argument:
|
38
|
+
at: 'format'
|
39
|
+
has_value:
|
40
|
+
has_argument: custom
|
41
|
+
calls:
|
42
|
+
- value: precompile
|
43
|
+
- argument: precompile
|
44
|
+
nested:
|
45
|
+
argument: format
|
46
|
+
nested:
|
47
|
+
argument: custom
|
48
|
+
split: '::'
|
data/lib/config/rails.yml
CHANGED
@@ -3,14 +3,18 @@
|
|
3
3
|
# some is currently impossible to handle (with_options).
|
4
4
|
# Some is just corners of rails I haven't hit yet.
|
5
5
|
gems:
|
6
|
-
-
|
7
|
-
- actionmailer
|
6
|
+
- activesupport
|
8
7
|
- actionpack
|
9
8
|
- actionview
|
10
|
-
- activejob
|
11
9
|
- activemodel
|
12
10
|
- activerecord
|
13
|
-
-
|
11
|
+
- actionmailer
|
12
|
+
- activejob
|
13
|
+
- actioncable
|
14
|
+
- activestorage
|
15
|
+
- actionmailbox
|
16
|
+
- actiontext
|
17
|
+
- railties
|
14
18
|
|
15
19
|
keep:
|
16
20
|
- default_url_options # called by url_for, unsure what gem does
|
@@ -0,0 +1,18 @@
|
|
1
|
+
gems:
|
2
|
+
- actionpack
|
3
|
+
- activesupport
|
4
|
+
|
5
|
+
keep:
|
6
|
+
- # https://guides.rubyonrails.org/generators.html#generators-lookup
|
7
|
+
path: '**/generators/**/*_generator.rb'
|
8
|
+
# "When a generator is invoked, each public method in the generator is executed sequentially in
|
9
|
+
# the order that it is defined When a generator is invoked, each public method in the generator
|
10
|
+
# is executed sequentially in the order that it is defined"
|
11
|
+
#
|
12
|
+
# https://guides.rubyonrails.org/generators.html
|
13
|
+
privacy: public
|
14
|
+
type: Method
|
15
|
+
|
16
|
+
- path: '**/generators/**/*_generator.rb'
|
17
|
+
name: { has_suffix: Generator }
|
18
|
+
|