diff options
author | elijah <elijah@riseup.net> | 2012-10-27 15:05:03 -0700 |
---|---|---|
committer | elijah <elijah@riseup.net> | 2012-10-27 15:05:03 -0700 |
commit | b2cf2a761e29311a5d33c6ff2761e97931667d33 (patch) | |
tree | 1ed350019280e1d73b2fb2f576546c3b4f393265 /lib/leap_cli/config | |
parent | 20fd81ee91e44b3812d1aea0b45d0e7429b16d02 (diff) | |
download | leap_cli-b2cf2a761e29311a5d33c6ff2761e97931667d33.tar.gz leap_cli-b2cf2a761e29311a5d33c6ff2761e97931667d33.tar.bz2 |
switch to using ya2yaml
Diffstat (limited to 'lib/leap_cli/config')
-rw-r--r-- | lib/leap_cli/config/manager.rb | 3 | ||||
-rw-r--r-- | lib/leap_cli/config/object.rb | 11 |
2 files changed, 12 insertions, 2 deletions
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 ## |