Module: PuppetX::Keystone::CompositeNamevar

Defined in:
lib/puppet_x/keystone/composite_namevar.rb,
lib/puppet_x/keystone/composite_namevar/helpers.rb,
lib/puppet_x/keystone/composite_namevar/helpers/utilities.rb

Defined Under Namespace

Modules: Helpers Classes: Unset

Class Method Summary collapse

Class Method Details

.basic_split_title_patterns(prefix, suffix, separator = '::', *regexps) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/puppet_x/keystone/composite_namevar.rb', line 14

def self.basic_split_title_patterns(prefix, suffix, separator = '::', *regexps)
  associated_regexps = []
  if regexps.empty? and separator == '::'
    associated_regexps += [not_two_colon_regex, not_two_colon_regex]
  else
    if regexps.count != 2
      raise(Puppet::DevError, 'You must provide two regexps')
    else
      associated_regexps += regexps
    end
  end
  prefix_re = associated_regexps[0]
  suffix_re = associated_regexps[1]
  [
    [
      /^(#{prefix_re})#{separator}(#{suffix_re})$/,
      [
        [prefix],
        [suffix]
      ]
    ],
    [
      /^(#{prefix_re})$/,
      [
        [prefix]
      ]
    ]
  ]
end

.not_two_colon_regexObject



9
10
11
12
# File 'lib/puppet_x/keystone/composite_namevar.rb', line 9

def self.not_two_colon_regex
  # Anything but 2 consecutive colons.
  Regexp.new(/(?:[^:]|:[^:])+/)
end