module EY::Serverside
Constants
- DEPRECATED_CLASSES
- RemoteFailure
- VERSION
Public Class Methods
const_missing(const)
click to toggle source
Calls superclass method
# File lib/engineyard-serverside/deprecation.rb, line 22 def self.const_missing(const) if klass = DEPRECATED_CLASSES[const] deprecation_warning("EY::Serverside::#{const} has been deprecated. Please use: #{klass}") klass else super end end
deprecated_task(receiver, old_task, new_task)
click to toggle source
# File lib/engineyard-serverside/deprecation.rb, line 11 def self.deprecated_task(receiver, old_task, new_task) if receiver.respond_to?(old_task) deprecation_warning("Task ##{old_task} has been renamed to ##{new_task}.") end end
deprecation_warning(msg)
click to toggle source
# File lib/engineyard-serverside/deprecation.rb, line 7 def self.deprecation_warning(msg) $stderr.puts "DEPRECATION WARNING: #{msg}\n\t#{caller(2).first}" end
dna_json()
click to toggle source
# File lib/engineyard-serverside.rb, line 42 def self.dna_json @dna_json ||= read_encoded_dna end
dna_path()
click to toggle source
# File lib/engineyard-serverside.rb, line 61 def self.dna_path '/etc/chef/dna.json' end
node()
click to toggle source
# File lib/engineyard-serverside.rb, line 38 def self.node @node ||= deep_indifferentize(JSON.load(dna_json)) end
read_encoded_dna()
click to toggle source
# File lib/engineyard-serverside.rb, line 65 def self.read_encoded_dna json = if File.exist?(dna_path) `sudo cat #{dna_path}` else '{}' end json.force_encoding('UTF-8') if $string_encodings json end
Private Class Methods
deep_indifferentize(thing)
click to toggle source
# File lib/engineyard-serverside.rb, line 47 def self.deep_indifferentize(thing) if thing.kind_of?(Hash) indifferent_hash = Thor::CoreExt::HashWithIndifferentAccess.new thing.each do |k, v| indifferent_hash[k] = deep_indifferentize(v) end indifferent_hash elsif thing.kind_of?(Array) thing.map {|x| deep_indifferentize(x)} else thing end end