Sha256: a6a56722fefa268198d114c9805d1dbc2518d5b34f8045cc69832149ace99ad6
Contents?: true
Size: 1.47 KB
Versions: 47
Compression:
Stored size: 1.47 KB
Contents
module EY module Serverside class Adapter class Arguments < Struct.new(:app, :config, :framework_env, :instances, :migrate, :ref, :repo, :stack, :verbose) def app=(app) enforce_nonempty!('app', app) 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
47 entries across 47 versions & 1 rubygems