diff options
| author | Luke Kanies <luke@madstop.com> | 2005-06-13 22:14:48 +0000 |
|---|---|---|
| committer | Luke Kanies <luke@madstop.com> | 2005-06-13 22:14:48 +0000 |
| commit | 65c2a6980da355f678b4b579e1ad28e38d51872a (patch) | |
| tree | cd8b8ce91d1e51a673fcbb94427762f944c53b1b | |
| parent | 500a1358c76e48dfab59fc983a1a6b03e82e14a6 (diff) | |
| download | puppet-65c2a6980da355f678b4b579e1ad28e38d51872a.tar.gz puppet-65c2a6980da355f678b4b579e1ad28e38d51872a.tar.xz puppet-65c2a6980da355f678b4b579e1ad28e38d51872a.zip | |
adding validparam() to Blink::Type
git-svn-id: https://reductivelabs.com/svn/puppet/library/trunk@299 980ebf18-57e1-0310-9a29-db15c13687c0
| -rw-r--r-- | lib/blink/type.rb | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/blink/type.rb b/lib/blink/type.rb index da99aeb45..51cd904e7 100644 --- a/lib/blink/type.rb +++ b/lib/blink/type.rb @@ -380,6 +380,12 @@ class Type < Blink::Element #--------------------------------------------------------------- #--------------------------------------------------------------- + def Type.validparam(name) + self.validstate(name) or self.validparameter(name) or false + end + #--------------------------------------------------------------- + + #--------------------------------------------------------------- # this abstracts accessing parameters and states, and normalizes # access to always be symbols, not strings def [](name) @@ -387,6 +393,9 @@ class Type < Blink::Element if name.is_a?(String) mname = name.intern end + unless self.class.validparam(name) + raise "Invalid parameter %s" % [mname] + end if @states.include?(mname) # if they're using [], they don't know if we're a state or a string # thus, return a string @@ -395,7 +404,7 @@ class Type < Blink::Element elsif @parameters.include?(mname) return @parameters[mname] else - raise "Invalid parameter %s%s" % [mname] + return nil end end #--------------------------------------------------------------- |
