Sha256: d80f055840643eaed9c9c624ea5a5f5a32214ec1db1b72657b056034c3b424e7
Contents?: true
Size: 1.3 KB
Versions: 5
Compression:
Stored size: 1.3 KB
Contents
# Description: ChefVault::Mixin::Mode module # Copyright 2013, Nordstrom, Inc. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. class ChefVault module Mixin module Helper def set_mode(mode) if mode == "client" Chef::Config[:solo] = false else Chef::Config[:solo] = true end end def merge_values(json, file) values = {} values.merge!(values_from_file(file)) if file values.merge!(values_from_json(json)) if json values end def values_from_file(file) json = File.open(file){ |fh| fh.read() } values_from_json(json) end def values_from_json(json) JSON.parse(json) rescue JSON::ParserError raise JSON::ParserError, "#{json} is not valid JSON!" end end end end
Version data entries
5 entries across 5 versions & 1 rubygems