it will be easier to read the code if you assign ```init_hash={}``` and validate presence of required key,
```ruby
def initialize(options={})
 validate(options, [:dynect, :zone])
 @zone = options[:zone]
  # and for defaults
  @region_code = options[:region_code] ||  'global'
end
def validate(options, keys)
   keys.each do |k|
     raise ArgumentError, "You must provide a value of #{k}" unless options[k]
   end
end
```