Sha256: 173e61678a7fa01c8dd4f5ee4d2e875ec980b6afd0369136ef2b5bc37e4cf227

Contents?: true

Size: 2 KB

Versions: 12

Compression:

Stored size: 2 KB

Contents

#!/usr/bin/env ruby

require 'rubygems'
require 'bundler/setup'

require 'reality/generators'

module GenTest
  Reality::Logging.configure(GenTest, ::Logger::WARN)

  class Repository < Reality.base_element(:name => true)
  end

  class RepositoryTemplate < Reality::Generators::SingleFileOutputTemplate
    def render_to_string(context_binding)
      eval('"Repository: #{repository.name}"', context_binding)
    end
  end

  class RepositoryTemplate2 < Reality::Generators::SingleFileOutputTemplate
    def render_to_string(context_binding)
      eval('"Repository: #{repository.name} (Template2)"', context_binding)
    end
  end

  module TestTemplateSetContainer
    class << self
      include Reality::Generators::TemplateSetContainer
    end
  end

  TestTemplateSetContainer.target_manager.target(:repository)

  TestTemplateSetContainer.template_set(:test) do |t|
    RepositoryTemplate.new(t, [], :repository, 'repository.java', 'main/java/#{repository.name}.java')
  end

  TestTemplateSetContainer.template_set(:test2) do |t|
    RepositoryTemplate2.new(t, [], :repository, 'repository_t2.java', 'main/java/#{repository.name}Template2.java')
  end

  class << self
    def repositories
      repository_map.values
    end

    def repository_map
      @repository_map ||= {}
    end

    def repository(name)
      repository = Repository.new(name)
      self.repository_map[name.to_s] = repository
      yield repository if block_given?
      repository
    end

    def repository_by_name(name)
      self.repository_map[name.to_s] || (raise "No such repository #{name}")
    end

    def repository_by_name?(name)
      !!self.repository_map[name.to_s]
    end
  end

  class Runner < Reality::Generators::BaseRunner
    def default_descriptor
      'repository.rb'
    end

    def element_type_name
      'repository'
    end

    def log_container
      GenTest
    end

    def instance_container
      GenTest
    end

    def template_set_container
      TestTemplateSetContainer
    end
  end
end

GenTest::Runner.new.run

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
reality-generators-1.23.0 test/generators/gentest.rb
reality-generators-1.22.0 test/generators/gentest.rb
reality-generators-1.21.0 test/generators/gentest.rb
reality-generators-1.20.0 test/generators/gentest.rb
reality-generators-1.19.0 test/generators/gentest.rb
reality-generators-1.18.0 test/generators/gentest.rb
reality-generators-1.17.0 test/generators/gentest.rb
reality-generators-1.16.0 test/generators/gentest.rb
reality-generators-1.15.0 test/generators/gentest.rb
reality-generators-1.14.0 test/generators/gentest.rb
reality-generators-1.13.0 test/generators/gentest.rb
reality-generators-1.12.0 test/generators/gentest.rb