summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/parser/functions/couchdblookup.rb38
1 files changed, 0 insertions, 38 deletions
diff --git a/lib/puppet/parser/functions/couchdblookup.rb b/lib/puppet/parser/functions/couchdblookup.rb
deleted file mode 100644
index 807c138..0000000
--- a/lib/puppet/parser/functions/couchdblookup.rb
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-# A basic function to retrieve data in couchdb
-#
-
-require 'json'
-require 'open-uri'
-
-module Puppet::Parser::Functions
- newfunction(:couchdblookup, :type => :rvalue) do |args|
-
- url = args[0]
- key = args[1]
-
- raise Puppet::ParseError, ("couchdblookup(): wrong number of arguments (#{args.length}; must be == 2)") if args.length != 2
-
- begin
- json = JSON.parse(open(URI.parse(url)).read)
- rescue OpenURI::HTTPError => error
- raise Puppet::ParseError, "couchdblookup(): fetching URL #{url} failed with status #{error.message}"
- end
-
- result = nil
- if json.has_key?("rows") and json['total_rows'] > 0 and json['rows'][0].has_key?(key)
- result = Array.new
- json['rows'].each do |x|
- result.push(x[key])
- end
- else
- if json.has_key?(key)
- result = json[key]
- end
- end
-
- result or raise Puppet::ParseError, "couchdblookup(): key '#{key}' not found in JSON object !"
-
- end
-end
-