Module: Rohbau::Application
- Defined in:
- lib/rohbau/application.rb
Defined Under Namespace
Classes: RuntimeWrapper
Instance Method Summary collapse
- #domain_requests ⇒ Object
- #domains ⇒ Object
- #register_domain(name, namespace) ⇒ Object
- #set_application_runtime(runtime_class) ⇒ Object
- #use_case_domains ⇒ Object
- #use_cases(use_case_domain = :all) ⇒ Object
Instance Method Details
#domain_requests ⇒ Object
38 39 40 |
# File 'lib/rohbau/application.rb', line 38 def domain_requests domains.map { |d| d.const_get :Request } end |
#domains ⇒ Object
34 35 36 |
# File 'lib/rohbau/application.rb', line 34 def domains @domains ||= [] end |
#register_domain(name, namespace) ⇒ Object
24 25 26 27 28 29 30 31 32 |
# 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) ⇒ Object
20 21 22 |
# File 'lib/rohbau/application.rb', line 20 def set_application_runtime(runtime_class) @runtime_class = runtime_class end |
#use_case_domains ⇒ Object
42 43 44 45 46 |
# 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) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# 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 |