aws 2.3.30 → 2.3.31

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/sdb/right_sdb_interface.rb +145 -126
  2. metadata +3 -3
@@ -29,14 +29,14 @@ module Aws
29
29
 
30
30
  include AwsBaseInterface
31
31
 
32
- DEFAULT_HOST = 'sdb.amazonaws.com'
33
- DEFAULT_PORT = 443
34
- DEFAULT_PROTOCOL = 'https'
35
- DEFAULT_SERVICE = '/'
36
- API_VERSION = '2009-04-15'
32
+ DEFAULT_HOST = 'sdb.amazonaws.com'
33
+ DEFAULT_PORT = 443
34
+ DEFAULT_PROTOCOL = 'https'
35
+ DEFAULT_SERVICE = '/'
36
+ API_VERSION = '2009-04-15'
37
37
  DEFAULT_NIL_REPRESENTATION = 'nil'
38
38
 
39
- @@bench = AwsBenchmarkingBlock.new
39
+ @@bench = AwsBenchmarkingBlock.new
40
40
 
41
41
  def self.bench_xml;
42
42
  @@bench.xml;
@@ -74,13 +74,13 @@ module Aws
74
74
  def initialize(aws_access_key_id=nil, aws_secret_access_key=nil, params={})
75
75
  @nil_rep = params[:nil_representation] ? params[:nil_representation] : DEFAULT_NIL_REPRESENTATION
76
76
  params.delete(:nil_representation)
77
- init({ :name => 'SDB',
78
- :default_host => ENV['SDB_URL'] ? URI.parse(ENV['SDB_URL']).host : DEFAULT_HOST,
79
- :default_port => ENV['SDB_URL'] ? URI.parse(ENV['SDB_URL']).port : DEFAULT_PORT,
80
- :default_protocol => ENV['SDB_URL'] ? URI.parse(ENV['SDB_URL']).scheme : DEFAULT_PROTOCOL,
81
- :default_service => ENV['SDB_URL'] ? URI.parse(ENV['SDB_URL']).path : DEFAULT_SERVICE },
77
+ init({:name => 'SDB',
78
+ :default_host => ENV['SDB_URL'] ? URI.parse(ENV['SDB_URL']).host : DEFAULT_HOST,
79
+ :default_port => ENV['SDB_URL'] ? URI.parse(ENV['SDB_URL']).port : DEFAULT_PORT,
80
+ :default_protocol => ENV['SDB_URL'] ? URI.parse(ENV['SDB_URL']).scheme : DEFAULT_PROTOCOL,
81
+ :default_service => ENV['SDB_URL'] ? URI.parse(ENV['SDB_URL']).path : DEFAULT_SERVICE},
82
82
  # :service_endpoint => ENV['SDB_URL'] ? URI.parse(ENV['SDB_URL']).path : DEFAULT_ENDPOINT },
83
- aws_access_key_id || ENV['AWS_ACCESS_KEY_ID'],
83
+ aws_access_key_id || ENV['AWS_ACCESS_KEY_ID'],
84
84
  aws_secret_access_key || ENV['AWS_SECRET_ACCESS_KEY'],
85
85
  params)
86
86
  end
@@ -95,7 +95,7 @@ module Aws
95
95
 
96
96
  # Sends request to Amazon and parses the response
97
97
  # Raises AwsError if any banana happened
98
- def request_info(request, parser, options={}) #:nodoc:
98
+ def request_info(request, parser, options={}) #:nodoc:
99
99
  # request_info2(request, parser, :sdb_connection)
100
100
  request_info2(request, parser, @params, :sdb_connection, @logger, @@bench, options)
101
101
 
@@ -110,7 +110,7 @@ module Aws
110
110
  def pack_attributes(attributes, replace = false, key_prefix = "") #:nodoc:
111
111
  result = {}
112
112
  if attributes
113
- idx = 0
113
+ idx = 0
114
114
  skip_values = attributes.is_a?(Array)
115
115
  attributes.each do |attribute, values|
116
116
  # set replacement attribute
@@ -118,7 +118,7 @@ module Aws
118
118
  # pack Name/Value
119
119
  unless values.nil?
120
120
  Array(values).each do |value|
121
- result["#{key_prefix}Attribute.#{idx}.Name"] = attribute
121
+ result["#{key_prefix}Attribute.#{idx}.Name"] = attribute
122
122
  result["#{key_prefix}Attribute.#{idx}.Value"] = ruby_to_sdb(value) unless skip_values
123
123
  idx += 1
124
124
  end
@@ -139,7 +139,7 @@ module Aws
139
139
  # see: http://docs.amazonwebservices.com/AmazonSimpleDB/2007-11-07/DeveloperGuide/SDB_API.html
140
140
  #
141
141
  def escape(value)
142
- %Q{'#{value.to_s.gsub(/(['\\])/){ "\\#{$1}" }}'} if value
142
+ %Q{'#{value.to_s.gsub(/(['\\])/) { "\\#{$1}" }}'} if value
143
143
  end
144
144
 
145
145
  # Convert a Ruby language value to a SDB value by replacing Ruby nil with the user's chosen string representation of nil.
@@ -175,13 +175,13 @@ module Aws
175
175
  def query_expression_from_array(params) #:nodoc:
176
176
  return '' if params.blank?
177
177
  query = params[0].to_s
178
- i = 1
178
+ i = 1
179
179
  query.gsub(/(\\)?(\?)/) do
180
180
  if $1 # if escaped '\?' is found - replace it by '?' without backslash
181
181
  "?"
182
- else # well, if no backslash precedes '?' then replace it by next param from the list
182
+ else # well, if no backslash precedes '?' then replace it by next param from the list
183
183
  ret = escape(params[i])
184
- i+=1
184
+ i +=1
185
185
  ret
186
186
  end
187
187
  end
@@ -221,11 +221,11 @@ module Aws
221
221
  #
222
222
  # see: http://docs.amazonwebservices.com/AmazonSimpleDB/2007-11-07/DeveloperGuide/SDB_API_ListDomains.html
223
223
  #
224
- def list_domains(max_number_of_domains = nil, next_token = nil )
225
- request_params = { 'MaxNumberOfDomains' => max_number_of_domains,
226
- 'NextToken' => next_token }
227
- link = generate_request("ListDomains", request_params)
228
- result = request_info(link, QSdbListDomainParser.new)
224
+ def list_domains(max_number_of_domains = nil, next_token = nil)
225
+ request_params = {'MaxNumberOfDomains' => max_number_of_domains,
226
+ 'NextToken' => next_token}
227
+ link = generate_request("ListDomains", request_params)
228
+ result = request_info(link, QSdbListDomainParser.new)
229
229
  # return result if no block given
230
230
  return result unless block_given?
231
231
  # loop if block if given
@@ -234,8 +234,8 @@ module Aws
234
234
  break unless yield(result) && result[:next_token]
235
235
  # make new request
236
236
  request_params['NextToken'] = result[:next_token]
237
- link = generate_request("ListDomains", request_params)
238
- result = request_info(link, QSdbListDomainParser.new)
237
+ link = generate_request("ListDomains", request_params)
238
+ result = request_info(link, QSdbListDomainParser.new)
239
239
  end while true
240
240
  rescue Exception
241
241
  on_exception
@@ -327,6 +327,8 @@ module Aws
327
327
  # 'nameZ' => [valueZ1,..., valueZN]
328
328
  # }
329
329
  # replace = :replace | any other value to skip replacement
330
+ # options:
331
+ # :create_domain => If true and domain does not exist, it will be created. Default is false.
330
332
  #
331
333
  # Returns a hash: { :box_usage, :request_id } on success or an exception on error.
332
334
  # (Amazon raises no errors if the attribute was not overridden, as when the :replace param is unset).
@@ -357,42 +359,59 @@ module Aws
357
359
  #
358
360
  # see: http://docs.amazonwebservices.com/AmazonSimpleDB/2007-11-07/DeveloperGuide/SDB_API_PutAttributes.html
359
361
  #
360
- def put_attributes(domain_name, item_name, attributes, replace = false)
361
- params = { 'DomainName' => domain_name,
362
- 'ItemName' => item_name }.merge(pack_attributes(attributes, replace))
363
- logger.debug 'PUT=' + params.inspect
362
+ def put_attributes(domain_name, item_name, attributes, replace = false, options={})
363
+ params = {'DomainName' => domain_name,
364
+ 'ItemName' => item_name}.merge(pack_attributes(attributes, replace))
365
+ logger.debug 'PUT=' + params.inspect
364
366
  link = generate_request("PutAttributes", params)
365
- request_info( link, QSdbSimpleParser.new )
367
+ begin
368
+ request_info(link, QSdbSimpleParser.new, options)
369
+ rescue Aws::AwsError => ex
370
+ # puts "RESCUED in put_attributes: " + $!
371
+ if options[:create_domain] && create_domain_if_not_exist(ex, domain_name)
372
+ save(options)
373
+ else
374
+ raise ex
375
+ end
376
+ end
366
377
  rescue Exception
367
378
  on_exception
368
379
  end
369
380
 
381
+ def create_domain_if_not_exist(ex, domain_name)
382
+ if ex.message().index("NoSuchDomain")
383
+ create_domain(domain_name)
384
+ return true
385
+ end
386
+ return false
387
+ end
388
+
370
389
  #
371
390
  # items is an array of Aws::SdbInterface::Item.new(o.id, o.attributes, true)
372
391
  def batch_put_attributes(domain_name, items)
373
- params = { 'DomainName' => domain_name }
374
- i = 0
392
+ params = {'DomainName' => domain_name}
393
+ i = 0
375
394
  items.each do |item|
376
- prefix = "Item." + i.to_s + "."
395
+ prefix = "Item." + i.to_s + "."
377
396
  params[prefix + "ItemName"] = item.item_name
378
397
  params.merge!(pack_attributes(item.attributes, item.replace, prefix))
379
398
  i += 1
380
399
  end
381
400
  link = generate_request("BatchPutAttributes", params)
382
- request_info( link, QSdbSimpleParser.new )
401
+ request_info(link, QSdbSimpleParser.new)
383
402
  rescue Exception
384
403
  on_exception
385
404
  end
386
405
 
387
- #
406
+ #
388
407
  # items is an array item_name's or Aws::SdbInterface::Item.new(o.id, o.attributes, true)
389
408
  def batch_delete_attributes(domain_name, items)
390
- params = { 'DomainName' => domain_name }
391
- i = 0
409
+ params = {'DomainName' => domain_name}
410
+ i = 0
392
411
  items.each do |item|
393
412
  prefix = "Item." + i.to_s + "."
394
413
  if item.is_a?(String)
395
- params[prefix + "ItemName"] = item
414
+ params[prefix + "ItemName"] = item
396
415
  else
397
416
  params[prefix + "ItemName"] = item.item_name
398
417
  params.merge!(pack_attributes(item.attributes, item.replace, prefix))
@@ -400,7 +419,7 @@ module Aws
400
419
  i += 1
401
420
  end
402
421
  link = generate_request("BatchDeleteAttributes", params)
403
- request_info( link, QSdbSimpleParser.new )
422
+ request_info(link, QSdbSimpleParser.new)
404
423
  rescue Exception
405
424
  on_exception
406
425
  end
@@ -430,11 +449,11 @@ module Aws
430
449
  # see: http://docs.amazonwebservices.com/AmazonSimpleDB/2007-11-07/DeveloperGuide/SDB_API_GetAttributes.html
431
450
  #
432
451
  def get_attributes(domain_name, item_name, attribute_name=nil, consistent_read = nil)
433
- link = generate_request("GetAttributes", 'DomainName' => domain_name,
434
- 'ItemName' => item_name,
435
- 'AttributeName' => attribute_name,
436
- 'ConsistentRead' => consistent_read )
437
- res = request_info(link, QSdbGetAttributesParser.new)
452
+ link = generate_request("GetAttributes", 'DomainName' => domain_name,
453
+ 'ItemName' => item_name,
454
+ 'AttributeName' => attribute_name,
455
+ 'ConsistentRead' => consistent_read)
456
+ res = request_info(link, QSdbGetAttributesParser.new)
438
457
  res[:attributes].each_value do |values|
439
458
  values.collect! { |e| sdb_to_ruby(e) }
440
459
  end
@@ -460,10 +479,10 @@ module Aws
460
479
  # see http://docs.amazonwebservices.com/AmazonSimpleDB/2007-11-07/DeveloperGuide/SDB_API_DeleteAttributes.html
461
480
  #
462
481
  def delete_attributes(domain_name, item_name, attributes = nil)
463
- params = { 'DomainName' => domain_name,
464
- 'ItemName' => item_name }.merge(pack_attributes(attributes))
465
- link = generate_request("DeleteAttributes", params)
466
- request_info( link, QSdbSimpleParser.new )
482
+ params = {'DomainName' => domain_name,
483
+ 'ItemName' => item_name}.merge(pack_attributes(attributes))
484
+ link = generate_request("DeleteAttributes", params)
485
+ request_info(link, QSdbSimpleParser.new)
467
486
  rescue Exception
468
487
  on_exception
469
488
  end
@@ -509,13 +528,13 @@ module Aws
509
528
  query_expression = query_expression_from_array(query_expression) if query_expression.is_a?(Array)
510
529
  @last_query_expression = query_expression
511
530
  #
512
- request_params = { 'DomainName' => domain_name,
513
- 'QueryExpression' => query_expression,
514
- 'MaxNumberOfItems' => max_number_of_items,
515
- 'NextToken' => next_token,
516
- 'ConsistentRead' => consistent_read }
517
- link = generate_request("Query", request_params)
518
- result = request_info( link, QSdbQueryParser.new )
531
+ request_params = {'DomainName' => domain_name,
532
+ 'QueryExpression' => query_expression,
533
+ 'MaxNumberOfItems' => max_number_of_items,
534
+ 'NextToken' => next_token,
535
+ 'ConsistentRead' => consistent_read}
536
+ link = generate_request("Query", request_params)
537
+ result = request_info(link, QSdbQueryParser.new)
519
538
  # return result if no block given
520
539
  return result unless block_given?
521
540
  # loop if block if given
@@ -524,8 +543,8 @@ module Aws
524
543
  break unless yield(result) && result[:next_token]
525
544
  # make new request
526
545
  request_params['NextToken'] = result[:next_token]
527
- link = generate_request("Query", request_params)
528
- result = request_info( link, QSdbQueryParser.new )
546
+ link = generate_request("Query", request_params)
547
+ result = request_info(link, QSdbQueryParser.new)
529
548
  end while true
530
549
  rescue Exception
531
550
  on_exception
@@ -579,16 +598,16 @@ module Aws
579
598
  query_expression = query_expression_from_array(query_expression) if query_expression.is_a?(Array)
580
599
  @last_query_expression = query_expression
581
600
  #
582
- request_params = { 'DomainName' => domain_name,
583
- 'QueryExpression' => query_expression,
584
- 'MaxNumberOfItems' => max_number_of_items,
585
- 'NextToken' => next_token,
586
- 'ConsistentRead' => consistent_read }
601
+ request_params = {'DomainName' => domain_name,
602
+ 'QueryExpression' => query_expression,
603
+ 'MaxNumberOfItems' => max_number_of_items,
604
+ 'NextToken' => next_token,
605
+ 'ConsistentRead' => consistent_read}
587
606
  attributes.each_with_index do |attribute, idx|
588
607
  request_params["AttributeName.#{idx+1}"] = attribute
589
608
  end
590
609
  link = generate_request("QueryWithAttributes", request_params)
591
- result = select_response_to_ruby(request_info( link, QSdbQueryWithAttributesParser.new ))
610
+ result = select_response_to_ruby(request_info(link, QSdbQueryWithAttributesParser.new))
592
611
  # return result if no block given
593
612
  return result unless block_given?
594
613
  # loop if block if given
@@ -597,8 +616,8 @@ module Aws
597
616
  break unless yield(result) && result[:next_token]
598
617
  # make new request
599
618
  request_params['NextToken'] = result[:next_token]
600
- link = generate_request("QueryWithAttributes", request_params)
601
- result = select_response_to_ruby(request_info( link, QSdbQueryWithAttributesParser.new ))
619
+ link = generate_request("QueryWithAttributes", request_params)
620
+ result = select_response_to_ruby(request_info(link, QSdbQueryWithAttributesParser.new))
602
621
  end while true
603
622
  rescue Exception
604
623
  on_exception
@@ -647,22 +666,22 @@ module Aws
647
666
  # http://docs.amazonwebservices.com/AmazonSimpleDB/2007-11-07/DeveloperGuide/index.html?SDBLimits.html
648
667
  #
649
668
  def select(select_expression, next_token = nil, consistent_read = nil)
650
- select_expression = query_expression_from_array(select_expression) if select_expression.is_a?(Array)
669
+ select_expression = query_expression_from_array(select_expression) if select_expression.is_a?(Array)
651
670
  @last_query_expression = select_expression
652
671
 
653
- options = {}
672
+ options = {}
654
673
  if next_token.is_a?(Hash)
655
- options = next_token
656
- next_token = options[:next_token]
674
+ options = next_token
675
+ next_token = options[:next_token]
657
676
  consistent_read = options[:consistent_read]
658
677
  end
659
678
 
660
679
  #
661
- request_params = { 'SelectExpression' => select_expression,
662
- 'NextToken' => next_token,
663
- 'ConsistentRead' => consistent_read }
664
- link = generate_request("Select", request_params, options)
665
- result = select_response_to_ruby(request_info( link, QSdbSelectParser.new, options ))
680
+ request_params = {'SelectExpression' => select_expression,
681
+ 'NextToken' => next_token,
682
+ 'ConsistentRead' => consistent_read}
683
+ link = generate_request("Select", request_params, options)
684
+ result = select_response_to_ruby(request_info(link, QSdbSelectParser.new, options))
666
685
  return result unless block_given?
667
686
  # loop if block if given
668
687
  begin
@@ -670,8 +689,8 @@ module Aws
670
689
  break unless yield(result) && result[:next_token]
671
690
  # make new request
672
691
  request_params['NextToken'] = result[:next_token]
673
- link = generate_request("Select", request_params)
674
- result = select_response_to_ruby(request_info( link, QSdbSelectParser.new, options ))
692
+ link = generate_request("Select", request_params)
693
+ result = select_response_to_ruby(request_info(link, QSdbSelectParser.new, options))
675
694
  end while true
676
695
  rescue Exception
677
696
  on_exception
@@ -681,9 +700,9 @@ module Aws
681
700
  attr_accessor :item_name, :attributes, :replace
682
701
 
683
702
  def initialize(item_name, attributes, replace = false)
684
- @item_name = item_name
703
+ @item_name = item_name
685
704
  @attributes = attributes
686
- @replace = replace
705
+ @replace = replace
687
706
  end
688
707
  end
689
708
 
@@ -692,19 +711,19 @@ module Aws
692
711
  #-----------------------------------------------------------------
693
712
  class QSdbListDomainParser < AwsParser #:nodoc:
694
713
  def reset
695
- @result = { :domains => [] }
714
+ @result = {:domains => []}
696
715
  end
697
716
 
698
717
  def tagend(name)
699
718
  case name
700
- when 'NextToken' then
701
- @result[:next_token] = @text
719
+ when 'NextToken' then
720
+ @result[:next_token] = @text
702
721
  when 'DomainName' then
703
- @result[:domains] << @text
704
- when 'BoxUsage' then
705
- @result[:box_usage] = @text
706
- when 'RequestId' then
707
- @result[:request_id] = @text
722
+ @result[:domains] << @text
723
+ when 'BoxUsage' then
724
+ @result[:box_usage] = @text
725
+ when 'RequestId' then
726
+ @result[:request_id] = @text
708
727
  end
709
728
  end
710
729
  end
@@ -716,20 +735,20 @@ module Aws
716
735
 
717
736
  def tagend(name)
718
737
  case name
719
- when 'Timestamp' then
738
+ when 'Timestamp' then
720
739
  @result[:timestamp] = @text
721
740
  when 'ItemCount' then
722
741
  @result[:item_count] = @text.to_i
723
- when 'AttributeValueCount' then
724
- @result[:attribute_value_count] = @text.to_i
725
- when 'AttributeNameCount' then
726
- @result[:attribute_name_acount] = @text.to_i
727
- when 'ItemNamesSizeBytes' then
728
- @result[:item_names_size_bytes] = @text.to_i
729
- when 'AttributeValuesSizeBytes' then
730
- @result[:attributes_values_size_bytes] = @text.to_i
731
- when 'AttributeNamesSizeBytes' then
732
- @result[:attributes_names_size_bytes] = @text.to_i
742
+ when 'AttributeValueCount' then
743
+ @result[:attribute_value_count] = @text.to_i
744
+ when 'AttributeNameCount' then
745
+ @result[:attribute_name_acount] = @text.to_i
746
+ when 'ItemNamesSizeBytes' then
747
+ @result[:item_names_size_bytes] = @text.to_i
748
+ when 'AttributeValuesSizeBytes' then
749
+ @result[:attributes_values_size_bytes] = @text.to_i
750
+ when 'AttributeNamesSizeBytes' then
751
+ @result[:attributes_names_size_bytes] = @text.to_i
733
752
 
734
753
  end
735
754
  end
@@ -743,10 +762,10 @@ module Aws
743
762
 
744
763
  def tagend(name)
745
764
  case name
746
- when 'BoxUsage' then
747
- @result[:box_usage] = @text
765
+ when 'BoxUsage' then
766
+ @result[:box_usage] = @text
748
767
  when 'RequestId' then
749
- @result[:request_id] = @text
768
+ @result[:request_id] = @text
750
769
  end
751
770
  end
752
771
  end
@@ -754,45 +773,45 @@ module Aws
754
773
  class QSdbGetAttributesParser < AwsParser #:nodoc:
755
774
  def reset
756
775
  @last_attribute_name = nil
757
- @result = { :attributes => {} }
776
+ @result = {:attributes => {}}
758
777
  end
759
778
 
760
779
  def tagend(name)
761
780
  case name
762
- when 'Name' then
781
+ when 'Name' then
763
782
  @last_attribute_name = @text
764
- when 'Value' then
783
+ when 'Value' then
765
784
  (@result[:attributes][@last_attribute_name] ||= []) << @text
766
- when 'BoxUsage' then
767
- @result[:box_usage] = @text
785
+ when 'BoxUsage' then
786
+ @result[:box_usage] = @text
768
787
  when 'RequestId' then
769
- @result[:request_id] = @text
788
+ @result[:request_id] = @text
770
789
  end
771
790
  end
772
791
  end
773
792
 
774
793
  class QSdbQueryParser < AwsParser #:nodoc:
775
794
  def reset
776
- @result = { :items => [] }
795
+ @result = {:items => []}
777
796
  end
778
797
 
779
798
  def tagend(name)
780
799
  case name
781
- when 'ItemName' then
782
- @result[:items] << @text
783
- when 'BoxUsage' then
784
- @result[:box_usage] = @text
800
+ when 'ItemName' then
801
+ @result[:items] << @text
802
+ when 'BoxUsage' then
803
+ @result[:box_usage] = @text
785
804
  when 'RequestId' then
786
- @result[:request_id] = @text
805
+ @result[:request_id] = @text
787
806
  when 'NextToken' then
788
- @result[:next_token] = @text
807
+ @result[:next_token] = @text
789
808
  end
790
809
  end
791
810
  end
792
811
 
793
812
  class QSdbQueryWithAttributesParser < AwsParser #:nodoc:
794
813
  def reset
795
- @result = { :items => [] }
814
+ @result = {:items => []}
796
815
  end
797
816
 
798
817
  def tagend(name)
@@ -801,18 +820,18 @@ module Aws
801
820
  case @xmlpath
802
821
  when 'QueryWithAttributesResponse/QueryWithAttributesResult/Item'
803
822
  @item = @text
804
- @result[:items] << { @item => {} }
823
+ @result[:items] << {@item => {}}
805
824
  when 'QueryWithAttributesResponse/QueryWithAttributesResult/Item/Attribute'
806
- @attribute = @text
825
+ @attribute = @text
807
826
  @result[:items].last[@item][@attribute] ||= []
808
827
  end
809
828
  when 'RequestId' then
810
829
  @result[:request_id] = @text
811
- when 'BoxUsage' then
812
- @result[:box_usage] = @text
830
+ when 'BoxUsage' then
831
+ @result[:box_usage] = @text
813
832
  when 'NextToken' then
814
833
  @result[:next_token] = @text
815
- when 'Value' then
834
+ when 'Value' then
816
835
  @result[:items].last[@item][@attribute] << @text
817
836
  end
818
837
  end
@@ -820,7 +839,7 @@ module Aws
820
839
 
821
840
  class QSdbSelectParser < AwsParser #:nodoc:
822
841
  def reset
823
- @result = { :items => [] }
842
+ @result = {:items => []}
824
843
  end
825
844
 
826
845
  def tagend(name)
@@ -829,18 +848,18 @@ module Aws
829
848
  case @xmlpath
830
849
  when 'SelectResponse/SelectResult/Item'
831
850
  @item = @text
832
- @result[:items] << { @item => {} }
851
+ @result[:items] << {@item => {}}
833
852
  when 'SelectResponse/SelectResult/Item/Attribute'
834
- @attribute = @text
853
+ @attribute = @text
835
854
  @result[:items].last[@item][@attribute] ||= []
836
855
  end
837
856
  when 'RequestId' then
838
857
  @result[:request_id] = @text
839
- when 'BoxUsage' then
840
- @result[:box_usage] = @text
858
+ when 'BoxUsage' then
859
+ @result[:box_usage] = @text
841
860
  when 'NextToken' then
842
861
  @result[:next_token] = @text
843
- when 'Value' then
862
+ when 'Value' then
844
863
  @result[:items].last[@item][@attribute] << @text
845
864
  end
846
865
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 2
7
7
  - 3
8
- - 30
9
- version: 2.3.30
8
+ - 31
9
+ version: 2.3.31
10
10
  platform: ruby
11
11
  authors:
12
12
  - Travis Reeder
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2010-12-16 00:00:00 -08:00
19
+ date: 2010-12-19 00:00:00 -08:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency