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



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/puppet_x/keystone/composite_namevar.rb', line 40

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



35
36
37
38
# File 'lib/puppet_x/keystone/composite_namevar.rb', line 35

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