Sha256: ca20b7e69e8785bd06fe2e0c7076b3737d0f2668c273fc88f4cd6675022b2b18
Contents?: true
Size: 1.62 KB
Versions: 59
Compression:
Stored size: 1.62 KB
Contents
require 'itamae-mitsurin' require 'itamae-mitsurin/mitsurin' require 'thor' module ItamaeMitsurin module Mitsurin class CLI < Thor CREATE_TARGETS = %w[ cookbook ].freeze # class_option :with_git, type: :string, aliases: ['-g'] desc "version", "Print version" def version puts "shikomi(itamae-mitsurin) v#{ItamaeMitsurin::VERSION}" end desc "init", "Create a new project" def init creator = Creators::Project.new creator.destination_root creator.invoke_all end desc 'create cookbook [LAYER] [NAME]', 'Initialize cookbook (short-cut alias: "c")' map 'c' => 'create' def create(target, layer, name) name = layer + '/' + name validate_create_target!('create', target) creator = Creators.find(target).new creator.destination_root = File.join("site-cookbooks", name) creator.copy_files end desc 'destroy cookbook [LAYER] [NAME]', 'Undo cookbook (short-cut alias: "d")' map 'd' => 'destroy' def destroy(target, layer, name) name = layer + '/' + name validate_create_target!('destroy', target) creator = Creators.find(target).new creator.destination_root = File.join("site-cookbooks", name) creator.remove_files end private def validate_create_target!(command, target) unless CREATE_TARGETS.include?(target) msg = %Q!ERROR: "shikomi #{command}" was called with "#{target}" ! msg << "but expected to be in #{CREATE_TARGETS.inspect}" fail InvocationError, msg end end end end end
Version data entries
59 entries across 43 versions & 1 rubygems