EliziumNet/Loopz

Create a command platform (Select-Many)

Opened this issue · 2 comments

Currently, Rename-Mamy is a big command. A lot of it is generic and could apply to other new commands. Current, if a new command is designed, it would have to be modelled on Rename-Many so that it contains all of its generic features, such as:

  • using the bootstrap and registering specs with it
  • get signals
  • getting locked status
  • termiinating error handling

It would be useful to have this all wrapped in an easily re-useable class. This would be akin to an Application class

Perhaps we should have a provider class. The class would implement a lot of what's in Rename-Many and Rename-Many would simply use the provder. The provider could be used in many contexts, not just for renaming. The rename would become a plugin (via transform perhaps).

The only slight downside of this approach is the 'class' issue. Initially, one might think that the provider class should go into Klassy, but because it would depend on the Loopz iterators (eg invoke-foreachFsItem) this would not be possible. However, since Loopz is a platform module for the likes of Elizium.Bulk/RexFS, leaving it inside Loopz instead of implementing it in Klassy would be justr fine.

The provider class could be wrapped up in a new command: Select-Many and would become the platform for all other commands.

Move this to RexFs