Sha256: 362661ec49470f7bb937695bf8b082bbe5b5b2913435a70afc63f94c6b886123

Contents?: true

Size: 959 Bytes

Versions: 3

Compression:

Stored size: 959 Bytes

Contents

# -*- encoding : utf-8 -*-

require "generators/card"

class Card
  module Generators
    class ModGenerator < NamedBase
      class_option "core",
                   type: :boolean, aliases: "-c",
                   default: false, group: :runtime,
                   desc: "create mod Card gem"

      def create_mod_tree
        create_empty_tree mod_path => { lib: %i[javascript stylesheets],
                                        public: [:assets],
                                        set: [] }
      end

      private

      def create_empty_tree structure
        return unless structure.present?

        if structure.is_a?(Hash)
          structure.each_pair do |k, v|
            empty_directory k.to_s
            inside k.to_s do
              create_empty_tree v
            end
          end
        else
          Array.wrap(structure).each do |v|
            empty_directory v.to_s
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
card-1.101.7 lib/generators/card/mod/mod_generator.rb
card-1.101.6 lib/generators/card/mod/mod_generator.rb
card-1.101.5 lib/generators/card/mod/mod_generator.rb