module AWS::S3::DataOptions
def validate_data! options, &block
def validate_data! options, &block data = options[:data] file = options[:file] raise ArgumentError, 'Object data passed multiple ways.' if [data, file, block].compact.count > 1 data = file if file return if block_given? return if data.kind_of?(String) return if data.kind_of?(Pathname) return if io_like?(data) msg = ":data must be provided as a String, Pathname, File, or " msg << "an object that responds to #read and #eof?" raise ArgumentError, msg end