Skip to content

Commit b59f39c

Browse files
refactor: classes №13
1 parent 15b5c4d commit b59f39c

File tree

1 file changed

+37
-27
lines changed

1 file changed

+37
-27
lines changed

README.md

Lines changed: 37 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -135,21 +135,23 @@ pre-commit install
135135
### Plugin architecture
136136
```mermaid
137137
classDiagram
138-
TCodeRunner "1" o--> "1" IConfigManager : aggregates
138+
TCodeRunner "1" o--> "1" IConfig : aggregates
139139
TCodeRunner "1" o--> "1" ICommandsExecutor : aggregates
140140
TCodeRunner "1" o--> "1" IMessagePrinter : aggregates
141141
TCodeRunner "1" o--> "1" TBasicEditorServiceForCodeRunner : aggregates
142142
TCodeRunner "1" o--> "1" TBasicCommandDispatcherStrategySelector : aggregates
143-
IConfigManager "1" o--> "1" IConfigGetter : aggregates
144-
IConfigManager "1" o--> "1" TBasicConfigValidator : aggregates
143+
Tconfig ..|> IConfig : implements
144+
TConfig "1" o--> "n" TConfigField : aggregates
145+
TConfigField "1" o--> "1" IConfigValueGetter : aggregates
146+
TConfigField "1" o--> "1" IValidator : aggregates
145147
TBasicEditorServiceForCodeRunner "1" o--> "1" IEditor : aggregates
146-
TBasicEditorServiceForCodeRunner "1" o--> "1" IConfigManager : aggregates
147-
ICommandsExecutor "1" o--> "1" IConfigManager : aggregates
148+
TBasicEditorServiceForCodeRunner "1" o--> "1" IConfig : aggregates
149+
ICommandsExecutor "1" o--> "1" IConfig : aggregates
148150
TBasicCommandDispatcherStrategySelector "1" o--> "1" TShebangCommandBuildersDispatcher : aggregates
149151
TBasicCommandDispatcherStrategySelector "1" o--> "1" TGlobCommandBuildersDispatcher : aggregates
150152
TBasicCommandDispatcherStrategySelector "1" o--> "1" TFileExtCommandBuildersDispatcher : aggregates
151153
TBasicCommandDispatcherStrategySelector "1" o--> "1" TFileTypeCommandBuildersDispatcher : aggregates
152-
TBasicCommandDispatcherStrategySelector "1" o--> "1" IConfigManager : aggregates
154+
TBasicCommandDispatcherStrategySelector "1" o--> "1" IConfig : aggregates
153155
TShebangCommandBuildersDispatcher ..|> ICommandBuildersDispatcher : implements
154156
TShebangCommandBuildersDispatcher "1" o--> "1" IFileInfoExtractor : aggregates
155157
TGlobCommandBuildersDispatcher ..|> ICommandBuildersDispatcher : implements
@@ -166,7 +168,7 @@ TBaseFileInfoExtractor ..|> IFileInfoExtractor : implements
166168
167169
168170
class TCodeRunner {
169-
# config_manager: IConfigManager
171+
# config:IConfig
170172
# editor_service: TBasicEditorServiceForCodeRunner
171173
# command_dispatcher_strategy_selector: TBasicCommandDispatcherStrategySelector
172174
# commands_executor: ICommandsExecutor
@@ -180,40 +182,48 @@ class TCodeRunner {
180182
}
181183
182184
183-
184-
class IConfigManager {
185+
class IConfig {
185186
<<interface>>
186-
+ get_dispatchers_order() list[str]
187+
+ get_by_file_ext() Dict[str, str]
188+
+ get_by_file_type() Dict[str, str]
189+
+ get_by_glob() Dict[str, str]
190+
+ get_dispatchers_order() List[EDispatchersTypes]
191+
+ get_coderunner_tempfile_prefix() str
187192
+ get_executor() str
188193
+ get_ignore_selection() bool
189194
+ get_respect_shebang() bool
190-
+ get_save_all_files() bool
191-
+ get_save_file() bool
195+
+ get_remove_coderunner_tempfiles_on_exit() bool
196+
+ get_save_all_files_before_run() bool
197+
+ get_save_file_before_run() bool
192198
}
193199
194200
195-
class IConfigGetter {
196-
<<interface>>
197-
+ get_dispatchers_order() Any
198-
+ get_executor() Any
199-
+ get_ignore_selection() Any
200-
+ get_respect_shebang() Any
201-
+ get_save_all_files() Any
202-
+ get_save_file() Any
201+
class TConfigField {
202+
# name: str
203+
# getter: IConfigValueGetter
204+
# validator: IValidator
205+
# allowed_values_description: str
206+
+ get() ValueType
207+
}
208+
209+
210+
class IConfigValueGetter {
211+
<<interface>>
212+
+ __call__() Any
203213
}
204214
205215
206-
class TBasicConfigValidator {
207-
+ validate_bool() bool
208-
+ validate_str() str
209-
+ validate_dispatcher() Dict[str, str]
210-
+ validate_dispatchers_order() List[EDispatchersTypes]
216+
class IValidator {
217+
<<interface>>
218+
+ __call__(value: Any) ValueType
219+
211220
}
212221
213222
214223
class TBasicEditorServiceForCodeRunner {
215224
# editor: IEditor
216-
# config_manager: IConfigManager
225+
# config:IConfig
226+
# file_info_extractor: IFileInfoExtractor
217227
Creates context which will delete file if it's temporary
218228
+ get_file_for_run() Context[str]
219229
Runs save_file or save_all_files if the command_builder is found,
@@ -246,7 +256,7 @@ class IMessagePrinter {
246256
247257
248258
class TBasicCommandDispatcherStrategySelector {
249-
# config_manager: IConfigManager
259+
# config: IConfig
250260
# shebang_dispatcher: TShebangCommandBuildersDispatcher
251261
# file_type_dispatcher: TFileExtCommandBuildersDispatcher
252262
# file_ext_dispatcher: TFileTypeCommandBuildersDispatcher

0 commit comments

Comments
 (0)