Sha256: 5f797f6ac21da1379d8c1667c553b005b39887e9b4105e64037a70df2e829705
Contents?: true
Size: 1.26 KB
Versions: 3
Compression:
Stored size: 1.26 KB
Contents
# frozen_string_literal: true class CmdletDirector < KDirector::Directors::BaseDirector defaults(builder_type: CmdletBuilder, on_exist: :write, on_action: :execute) def initialize(k_builder, builder, **opts) super(k_builder, builder, **opts) builder.category_key = opts[:category] || :unknown end def cmdlet(**opts, &block) cmdlet = CmdletChild.new(self, **opts) cmdlet.instance_eval(&block) if block_given? self end def categories data_access.category_director.categories end def generate build_cmdlets save_cmdlets run_cop self end def build_cmdlets builder.cmdlets.each do |cmdlet| cmdlet_file = "#{cmdlet[:category]}/#{cmdlet[:name]}.rb" cmdlet_spec_file = "#{cmdlet[:category]}/#{cmdlet[:name]}_spec.rb" cd(:lib) add(cmdlet_file, template_file: 'cmdlet.rb', cmdlet: cmdlet) cd(:spec) add(cmdlet_spec_file, template_file: 'cmdlet_spec.rb', cmdlet: cmdlet, on_exist: :skip) end self end def run_cop Dir.chdir(k_builder.target_folders.get(:app)) do k_builder.run_cop('**/*.rb', fix_unsafe: true) end self end def save_cmdlets cd(:builder_data) add("cmdlets/#{builder.category_key}.json", content: builder.to_json) self end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cmdlet-0.2.1 | .builders/director/cmdlet_director.rb |
cmdlet-0.2.0 | .builders/director/cmdlet_director.rb |
cmdlet-0.1.2 | .builders/director/cmdlet_director.rb |