Module: DTK::DSL::Template::V1::ComponentLink::ExternalServiceName
- Defined in:
- lib/dsl/template/v1/component_link/external_service_name.rb
Constant Summary collapse
- SERVICE_NAME_VAR =
'*'
- COMPONENT_VAR =
'+'
- MAPPINGS =
{ short_form: { generate: "#{SERVICE_NAME_VAR}/#{COMPONENT_VAR}", parse_regexp: /^([^\/\]\[]+)\/(.+$)/ }, long_form: { generate: "service[#{SERVICE_NAME_VAR}]/#{COMPONENT_VAR}", parse_regexp: /^service\[([^\]]+)\]\/(.+$)/ } }
- PARSE_REGEXPS =
MAPPINGS.values.map { |info| info[:parse_regexp] }
- CANONICAL_FORM =
:short_form
Class Method Summary collapse
- .dependent_component_ref(external_service_name, component_ref) ⇒ Object
-
.parse?(input_string) ⇒ Boolean
returns [dependency, external_service_name] or nil if no external_service_name.
Class Method Details
.dependent_component_ref(external_service_name, component_ref) ⇒ Object
37 38 39 |
# File 'lib/dsl/template/v1/component_link/external_service_name.rb', line 37 def self.dependent_component_ref(external_service_name, component_ref) MAPPINGS[CANONICAL_FORM][:generate].sub(SERVICE_NAME_VAR, external_service_name).sub(COMPONENT_VAR, component_ref) end |
.parse?(input_string) ⇒ Boolean
returns [dependency, external_service_name] or nil if no external_service_name
42 43 44 45 46 47 48 49 50 51 |
# File 'lib/dsl/template/v1/component_link/external_service_name.rb', line 42 def self.parse?(input_string) # assume that cant have form ATOMIC-TERM/... where ATOMIC-TERM is not a external name PARSE_REGEXPS.each do |regexp| if input_string =~ regexp external_service_name, dependency = [$1, $2] return [dependency, external_service_name] end end nil end |