# File lib/aws/core/configuration.rb, line 372 def add_option_with_needs name, needs, &create_block accepted_options << name define_method(name) do return supplied[name] if supplied.has_key?(name) needed = needs.inject({}) {|h,need| h.merge(need => send(need)) } unless @created.key?(name) and @created[name][:needed] == needed created = {} created[:object] = create_block.call(self,needed) created[:needed] = needed @created[name] = created end @created[name][:object] end end