Sha256: cb2ad62377d7f6d15137c6dcbf4d4b62f51f7e5fc292e5f0881a90582c2112e2
Contents?: true
Size: 1.72 KB
Versions: 12
Compression:
Stored size: 1.72 KB
Contents
module EY module Serverside class Adapter class Arguments < Struct.new(:app, :environment_name, :account_name, :config, :framework_env, :instances, :migrate, :ref, :repo, :stack, :verbose) def app=(app) enforce_nonempty!('app', app) super end def environment_name=(env) enforce_nonempty!('environment_name', env) super end def account_name=(acc) enforce_nonempty!('account_name', acc) super end def framework_env=(framework_env) enforce_nonempty!('framework_env', framework_env) super end def instances=(instances) unless instances.respond_to?(:each) raise ArgumentError, "Value for 'instances' must look like an enumerable." end if instances.empty? raise ArgumentError, "Value for 'instances' must not be empty." end instances.each do |instance| unless instance.respond_to?(:[]) && instance[:hostname] && instance[:roles] raise ArgumentError, "Malformed instance #{instance.inspect}; it must have both [:hostname] and [:roles]" end end super end def ref=(ref) enforce_nonempty!('ref', ref) super end def repo=(repo) enforce_nonempty!('repo', repo) super end def stack=(stack) enforce_nonempty!('stack', stack) super end private def enforce_nonempty!(name, value) if value.to_s.empty? raise ArgumentError, "Value for '#{name}' must be non-empty." end end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems