module Rohbau::Application

Public Instance Methods

domain_requests() click to toggle source
# File lib/rohbau/application.rb, line 38
def domain_requests
  domains.map { |d| d.const_get :Request }
end
domains() click to toggle source
# File lib/rohbau/application.rb, line 34
def domains
  @domains ||= []
end
register_domain(name, namespace) click to toggle source
# File lib/rohbau/application.rb, line 24
def register_domain(name, namespace)
  dummy = RuntimeWrapper.wrap do |cls|
    namespace::Runtime.start
  end

  @runtime_class.register name, dummy

  domains << namespace
end
set_application_runtime(runtime_class) click to toggle source
# File lib/rohbau/application.rb, line 20
def set_application_runtime(runtime_class)
  @runtime_class = runtime_class
end
use_case_domains() click to toggle source
# File lib/rohbau/application.rb, line 42
def use_case_domains
  domains.select do |domain|
    domain.const_defined?(:UseCases)
  end
end
use_cases(use_case_domain = :all) click to toggle source
# File lib/rohbau/application.rb, line 48
def use_cases(use_case_domain = :all)
  if use_case_domain == :all
    domains = use_case_domains
  else
    domains = [use_case_domain]
  end

  domains.inject([]) do |use_cases, domain|
    if domain.const_defined?(:UseCases)
      use_case_namespace = domain.const_get(:UseCases)
      use_case_namespace.constants.each do |use_case_class_name|
        use_cases << use_case_namespace.const_get(use_case_class_name)
      end
    end

    use_cases
  end
end