Top Level Namespace
- Includes:
- MMGen::MetamodelGenerator, Sys
Defined Under Namespace
Modules: DOT, DeepMerge, DefaultMM, EASupport, EmptyMM, FFI, Generators, HieraPuppet, HouseMetamodel, Kernel, MMGen, Nagios, PSON, Puppet, PuppetX, RDoc, RGen, Semantic, SimpleECoreModelChecker, SimpleXMIMetaModel, StatemachineMetamodel, StringBlank, Testmodel, UML13, UML13EA, Win32 Classes: AbstractXMLInstantiator, Array, ArrayExtensionsTest, BuilderContextTest, CheckPuppet, Class, EAInstantiatorTest, EASerializerTest, ECoreCopyTransformer, ECoreSelfTest, ECoreToUML13, ECoreXMLInstantiator, EnvironmentTest, ExternalNode, FileCacheMapTest, Formatter, GitIgnoreSpec, Hash, Hiera, IO, IdStore, JsonTest, MetamodelBuilderTest, MetamodelFromEcoreTest, MetamodelOrderTest, MetamodelRoundtripTest, MethodDelegationTest, ModelBuilderTest, ModelFragmentTest, ModelSerializerTest, MyExternalNode, Object, PathSpec, PatternMatcherTest, QualifiedNameProviderTest, QualifiedNameResolverTest, Range, ReferenceResolverTest, RegexSpec, SemVer, SimpleXMIECoreInstantiator, SimpleXmiToECore, Spec, Symbol, TemplateContainerTest, TestDeepMerge, TransformerTest, TypeDoc, UML13EAToUML13, UML13ToECore, UML13ToUML13EA, UserAttr, WindowsDaemon, XMI11Instantiator, XMLInstantiatorTest
Constant Summary collapse
- SEPARATOR =
[Regexp.escape(File::SEPARATOR.to_s), Regexp.escape(File::ALT_SEPARATOR.to_s)].join
- PROJECT_ROOT =
File.join(File.dirname(__FILE__), '..')
- BASEDIR =
Dir.chdir(File.dirname(__FILE__) + "/..") { Dir.getwd }
- WORKINGDIR =
"#{p.realpath}"
Instance Method Summary collapse
-
#date ⇒ Object
- lib/trollop.rb – trollop command-line processing library Author
- William Morgan (mailto: [email protected]) Copyright
- Copyright 2007 William Morgan License
-
the same terms as ruby itself.
-
#log(message, level = :debug) ⇒ Object
Helper method to log to syslog; we log at level debug if no level is specified since those are the most frequent calls to this method.
- #post_compile ⇒ Object
-
#read_node(node) ⇒ Object
Read in a pure yaml representation of our node.
-
#regsubst ⇒ Array[String]|String
Perform regexp replacement on a string or array of strings.
Methods included from MMGen::MetamodelGenerator
Instance Method Details
#date ⇒ Object
lib/trollop.rb – trollop command-line processing library
- Author
-
William Morgan (mailto: [email protected])
- Copyright
-
Copyright 2007 William Morgan
- License
-
the same terms as ruby itself
2012-03: small changes made by cprice ([email protected]);
patch submitted for upstream consideration:
https://gitorious.org/trollop/mainline/merge_requests/9
2012-08: namespace changes made by Jeff McCune ([email protected])
moved Trollop into Puppet::Util::CommandLine to prevent monkey
patching the upstream trollop library if also loaded.
13 |
# File 'lib/puppet/util/command_line/trollop.rb', line 13 require 'date' |
#log(message, level = :debug) ⇒ Object
Helper method to log to syslog; we log at level debug if no level is specified since those are the most frequent calls to this method
65 66 67 |
# File 'ext/regexp_nodes/regexp_nodes.rb', line 65 def log(,level=:debug) Syslog.send(level,) end |
#read_node(node) ⇒ Object
Read in a pure yaml representation of our node.
62 63 64 65 66 67 68 69 |
# File 'ext/yaml_nodes.rb', line 62 def read_node(node) nodefile = File.join(YAMLDIR, "#{node}.yaml") if FileTest.exist?(nodefile) return YAML.load_file(nodefile) else raise "Could not find information for #{node}" end end |
#regsubst ⇒ Array[String]|String
Perform regexp replacement on a string or array of strings.
Get the third octet from the node’s IP address:
$i3 = regsubst($ipaddress,'^(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)$','\\3')
Put angle brackets around each octet in the node’s IP address:
$x = regsubst($ipaddress, /([0-9]+)/, '<\\1>', 'G')
38 39 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 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/puppet/functions/regsubst.rb', line 38 Puppet::Functions.create_function(:regsubst) do dispatch :regsubst_string do param 'Variant[Array[String],String]', :target param 'String', :pattern param 'String', :replacement optional_param 'Optional[Pattern[/^[GEIM]*$/]]', :flags optional_param "Enum['N','E','S','U']", :encoding end dispatch :regsubst_regexp do param 'Variant[Array[String],String]', :target param 'Variant[Regexp,Type[Regexp]]', :pattern param 'String', :replacement optional_param 'Pattern[/^G?$/]', :flags end def regsubst_string(target, pattern, replacement, flags = nil, encoding = nil) re_flags = 0 operation = :sub if !flags.nil? flags.split(//).each do |f| case f when 'G' then operation = :gsub when 'E' then re_flags |= Regexp::EXTENDED when 'I' then re_flags |= Regexp::IGNORECASE when 'M' then re_flags |= Regexp::MULTILINE end end end inner_regsubst(target, Regexp.compile(pattern, re_flags, encoding), replacement, operation) end def regsubst_regexp(target, pattern, replacement, flags = nil) pattern = (pattern.pattern || '') if pattern.is_a?(Puppet::Pops::Types::PRegexpType) inner_regsubst(target, pattern, replacement, operation = flags == 'G' ? :gsub : :sub) end def inner_regsubst(target, re, replacement, op) target.respond_to?(op) ? target.send(op, re, replacement) : target.collect { |e| e.send(op, re, replacement) } end private :inner_regsubst end |