Sha256: 6683247a55cfdda6d3db503ff876aac511aec66788e9d2edf800471cbd971c7c
Contents?: true
Size: 791 Bytes
Versions: 1
Compression:
Stored size: 791 Bytes
Contents
require 'psych' module Canals class CanalEnvironmentError < StandardError; end class Environment attr_reader :name, :user, :hostname, :pem def initialize(args) @args = validate?(args) @name = @args[:name] @user = @args[:user] @hostname = @args[:hostname] @pem = @args[:pem] end def validate?(args) vargs = args.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo} raise CanalEnvironmentError.new("Missing option: \"name\" in environment creation") if vargs[:name].nil? vargs end def default=(val) @args[:default] = !!val end def is_default? !!@args[:default] end def to_yaml Psych.dump(@args) end def to_hash Marshal.load(Marshal.dump(@args)) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
canals-0.9.0 | lib/canals/environment.rb |