summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornopedial <shafez@ike-2.local>2013-10-26 00:16:19 +0200
committernopedial <shafez@ike-2.local>2013-10-26 00:16:19 +0200
commita85509f5e288c9ccc70400f2ce93842e57a1af23 (patch)
treefdb221f5cfbb1c2d205742dbf1f5d53c4505f08e
parent056ecb1a94d24085497d1baa304645390052e50b (diff)
add fetch API to git output
-rw-r--r--lib/oxidized.rb1
-rw-r--r--lib/oxidized/model/ironware.rb1
-rw-r--r--lib/oxidized/output/git.rb9
3 files changed, 11 insertions, 0 deletions
diff --git a/lib/oxidized.rb b/lib/oxidized.rb
index ec1a901..99b1ea6 100644
--- a/lib/oxidized.rb
+++ b/lib/oxidized.rb
@@ -1,4 +1,5 @@
module Oxidized
+ Encoding.default_external = 'UTF-8'
Directory = File.expand_path File.join File.dirname(__FILE__), '../'
require 'oxidized/core'
end
diff --git a/lib/oxidized/model/ironware.rb b/lib/oxidized/model/ironware.rb
index 3dd9ef2..e501f76 100644
--- a/lib/oxidized/model/ironware.rb
+++ b/lib/oxidized/model/ironware.rb
@@ -16,6 +16,7 @@ class IronWare < Oxidized::Model
end
cmd 'show chassis' do |cfg|
+ cfg.gsub! "\xFF", '' # ugly hack - avoids JSON.dump utf-8 breakage on 1.9..
comment cfg
end
diff --git a/lib/oxidized/output/git.rb b/lib/oxidized/output/git.rb
index 202893c..f23b35a 100644
--- a/lib/oxidized/output/git.rb
+++ b/lib/oxidized/output/git.rb
@@ -37,6 +37,15 @@ class Git < Output
end
end
+ def fetch node, group
+ begin
+ repo = Repo.new(@cfg[:repo])
+ (repo.tree / node).data
+ rescue
+ 'node not found'
+ end
+ end
+
private
def update_repo repo, file, data, msg, actor