Sha256: cbd829bdd61f19a13c4f03cdd0980e545726ad8e5a84d7826cc385729f09b322

Contents?: true

Size: 1.12 KB

Versions: 19

Compression:

Stored size: 1.12 KB

Contents

require_relative "./output_helper"
require_relative "./abstract_file_card/source_file"
require_relative "./abstract_file_card/ruby_file"
require_relative "./abstract_file_card/migration_file"

class Card
  class FileCardCreator
    # A template class for generating cards that are linked to source files.
    class AbstractFileCard
      include OutputHelper
      include SourceFile
      include MigrationFile
      include RubyFile

      class << self
        attr_reader :supported_types, :category
        attr_accessor :default_rule_name

        def valid_type? type
          supported_types.include? type.to_sym
        end
      end

      def initialize mod, name, type, codename: nil, force: false
        @mod = mod
        @type = type.to_sym
        @name = name
        @force = force
        @codename = codename || name.underscore.tr(" ", "_")
      end

      def create
        create_source_file
        create_ruby_file
        create_migration_file
      end

      def category
        self.class.category
      end

      private

      def rule_card_name
        self.class.default_rule_name
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
card-1.103.2 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.103.1 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.103.0 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.101.7 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.102.0 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.101.6 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.101.5 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.101.4 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.101.3 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.101.2 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.101.1 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.101.0 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.100.0 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.99.6 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.99.5 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.99.4 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.99.3 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.99.2 lib/card/tasks/card/file_card_creator/abstract_file_card.rb
card-1.99.1 lib/card/tasks/card/file_card_creator/abstract_file_card.rb