Sha256: 19fbf9e68aed68d30899810c04eaa68faf0dc2895c3106728a1f91cf7d529679

Contents?: true

Size: 893 Bytes

Versions: 4

Compression:

Stored size: 893 Bytes

Contents

module Tdc
  module Generators
    #
    # Abstract class for defining generators that define a collection of model instances.
    #
    # See also SingularGenerator.
    #
    class StandardGenerator < Tdc::Generators::GeneratorBase
      include Tdc::Generators::InstanceDefinitionConfigurable

      def generate
        CatalogEntries.new.tap do |catalog_entries|
          instance_definitions.each do |instance_definition|
            configure_instance_definition(instance_definition)

            # Delete the tag so that the models do not need to filter it out.
            tag = instance_definition.delete("tag")

            generated = run_resolvers_and_generate_instance

            # Add generated instance to the catalog entries whenever a tag provided.
            catalog_entries.add_catalog_entry(tag, generated) if tag
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
tdc-0.2.2 lib/tdc/generators/standard_generator.rb
tdc-0.2.1 lib/tdc/generators/standard_generator.rb
tdc-0.2.0 lib/tdc/generators/standard_generator.rb
tdc-0.1.2 lib/tdc/generators/standard_generator.rb