Module: LabelWeaver::Configuration
- Defined in:
- lib/label_weaver/configuration/model.rb,
lib/label_weaver/configuration/contract.rb
Constant Summary collapse
- Model =
Defines the configuration model for use throughout the gem.
Data.define( :always_clone, :excluded_upstream_files, :git, :hooks, :merges, :forced_upstream_files ) do def initialize(git:, always_clone: false, hooks: {}, excluded_upstream_files: [], forced_upstream_files: [], merges: []) super end end
- Contract =
Dry::Schema.Params do required(:git).hash do required(:repository).filled(:string) required(:branch).filled(:string) end optional(:always_clone).filled(:bool) optional(:excluded_upstream_files).array(:string) optional(:forced_upstream_files).array(:string) optional(:hooks).hash do optional(:develop).hash do optional(:before_start).array(:string) optional(:after_start).array(:string) optional(:before_stop).array(:string) optional(:after_stop).array(:string) end end optional(:merges).array(:hash) end