summaryrefslogtreecommitdiff
path: root/lib/oxidized/output/file.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/oxidized/output/file.rb')
-rw-r--r--lib/oxidized/output/file.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/oxidized/output/file.rb b/lib/oxidized/output/file.rb
new file mode 100644
index 0000000..b988c1a
--- /dev/null
+++ b/lib/oxidized/output/file.rb
@@ -0,0 +1,29 @@
+module Oxidized
+class OxFile < Output
+ require 'fileutils'
+
+ def initialize
+ @cfg = CFG.output[:file]
+ end
+
+ def setup
+ if not @cfg
+ CFG.output[:file] = {
+ :directory => File.join(Config::Root, 'configs')
+ }
+ CFG.save
+ end
+ end
+
+ def update node, data, opt={}
+ file = @cfg[:directory]
+ if opt[:group]
+ file = File.join File.dirname(file), opt[:group]
+ end
+ FileUtils.mkdir_p file
+ file = File.join file, node
+ open(file, 'w') { |fh| fh.write data }
+ end
+
+end
+end