Sha256: cbc101962572ad50da9048feb6ca61436135c65d620bf727f0d7988f0855c6ea

Contents?: true

Size: 1.74 KB

Versions: 3

Compression:

Stored size: 1.74 KB

Contents

$LOAD_PATH.unshift File.expand_path('vendor/thor/lib', File.dirname(__FILE__))
$LOAD_PATH.unshift File.expand_path('vendor/open4/lib', File.dirname(__FILE__))
$LOAD_PATH.unshift File.expand_path('vendor/escape/lib', File.dirname(__FILE__))
$LOAD_PATH.unshift File.expand_path('vendor/json_pure/lib', File.dirname(__FILE__))
$LOAD_PATH.unshift File.expand_path('vendor/dataflow', File.dirname(__FILE__))

require 'core-ext/string' if RUBY_VERSION == '1.8.6'

require 'escape'
require 'json'
require 'dataflow'

require 'engineyard-serverside/version'
require 'engineyard-serverside/strategies/git'
require 'engineyard-serverside/task'
require 'engineyard-serverside/server'
require 'engineyard-serverside/deploy'
require 'engineyard-serverside/deploy_hook'
require 'engineyard-serverside/lockfile_parser'
require 'engineyard-serverside/bundle_installer'
require 'engineyard-serverside/cli'
require 'engineyard-serverside/configuration'
require 'engineyard-serverside/deprecation'

module EY
  module Serverside
    
    def self.node
      @node ||= deep_indifferentize(JSON.parse(dna_json))
    end

    def self.dna_json
      @dna_json ||= if File.exist?('/etc/chef/dna.json')
                      `sudo cat /etc/chef/dna.json`
                    else
                      {}.to_json
                    end
    end
    
    RemoteFailure = Class.new StandardError

    private
    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
    
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
engineyard-serverside-1.4.9.nodestack lib/engineyard-serverside.rb
engineyard-serverside-1.4.8.nodestack lib/engineyard-serverside.rb
engineyard-serverside-1.4.7.pre lib/engineyard-serverside.rb