From b2cf2a761e29311a5d33c6ff2761e97931667d33 Mon Sep 17 00:00:00 2001 From: elijah Date: Sat, 27 Oct 2012 15:05:03 -0700 Subject: switch to using ya2yaml --- lib/leap_cli/config/manager.rb | 3 +-- lib/leap_cli/config/object.rb | 11 +++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'lib/leap_cli') diff --git a/lib/leap_cli/config/manager.rb b/lib/leap_cli/config/manager.rb index 8807cc9..246b79f 100644 --- a/lib/leap_cli/config/manager.rb +++ b/lib/leap_cli/config/manager.rb @@ -1,5 +1,4 @@ require 'json/pure' -require 'yaml' module LeapCli module Config @@ -42,7 +41,7 @@ module LeapCli @nodes.each do |name, node| filepath = "#{dir}/#{name}.yaml" updated_files << filepath - Util::write_file!(filepath, node.to_yaml) + Util::write_file!(filepath, node.dump) end (existing_files - updated_files).each do |filepath| Util::remove_file!(filepath) diff --git a/lib/leap_cli/config/object.rb b/lib/leap_cli/config/object.rb index 2ef7fe8..4f993bb 100644 --- a/lib/leap_cli/config/object.rb +++ b/lib/leap_cli/config/object.rb @@ -1,6 +1,9 @@ require 'erb' require 'json/pure' # pure ruby implementation is required for our sorted trick to work. +$KCODE = 'UTF8' +require 'ya2yaml' # pure ruby yaml + module LeapCli module Config # @@ -28,6 +31,14 @@ module LeapCli @node_list = Config::ObjectList.new end + # We use pure ruby yaml exporter ya2yaml instead of SYCK or PSYCH because it + # allows us greater compatibility regardless of installed ruby version and + # greater control over how the yaml is exported. + # + def dump + self.ya2yaml(:syck_compatible => true) + end + ## ## FETCHING VALUES ## -- cgit v1.2.3