azure 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/azure.gemspec +1 -1
  3. data/lib/azure.rb +1 -0
  4. data/lib/azure/blob/blob.rb +1 -1
  5. data/lib/azure/blob/blob_service.rb +14 -9
  6. data/lib/azure/blob/block.rb +2 -2
  7. data/lib/azure/blob/serialization.rb +6 -6
  8. data/lib/azure/configurable.rb +8 -0
  9. data/lib/azure/core/filtered_service.rb +1 -1
  10. data/lib/azure/core/http/debug_filter.rb +2 -2
  11. data/lib/azure/core/http/http_error.rb +1 -1
  12. data/lib/azure/core/http/http_filter.rb +15 -15
  13. data/lib/azure/core/http/http_request.rb +6 -6
  14. data/lib/azure/core/http/http_response.rb +1 -1
  15. data/lib/azure/core/http/retry_policy.rb +12 -12
  16. data/lib/azure/core/http/signer_filter.rb +1 -1
  17. data/lib/azure/core/service.rb +1 -1
  18. data/lib/azure/queue/queue_service.rb +91 -91
  19. data/lib/azure/queue/serialization.rb +1 -1
  20. data/lib/azure/service/cors.rb +1 -1
  21. data/lib/azure/service/logging.rb +1 -1
  22. data/lib/azure/service/metrics.rb +1 -1
  23. data/lib/azure/service/serialization.rb +10 -10
  24. data/lib/azure/service/signed_identifier.rb +1 -1
  25. data/lib/azure/service/storage_service.rb +2 -2
  26. data/lib/azure/service_bus/auth/wrap_service.rb +2 -2
  27. data/lib/azure/service_bus/brokered_message.rb +6 -6
  28. data/lib/azure/service_bus/interval.rb +2 -2
  29. data/lib/azure/service_bus/queue.rb +11 -11
  30. data/lib/azure/service_bus/relay.rb +4 -4
  31. data/lib/azure/service_bus/resource.rb +1 -1
  32. data/lib/azure/service_bus/rule.rb +1 -1
  33. data/lib/azure/service_bus/serialization.rb +2 -2
  34. data/lib/azure/service_bus/service_bus_service.rb +92 -92
  35. data/lib/azure/service_bus/sql_filter.rb +1 -1
  36. data/lib/azure/service_bus/sql_rule_action.rb +3 -3
  37. data/lib/azure/service_bus/subscription.rb +1 -1
  38. data/lib/azure/service_bus/topic.rb +11 -11
  39. data/lib/azure/storage_management/storage_management_service.rb +2 -2
  40. data/lib/azure/table/batch.rb +28 -28
  41. data/lib/azure/table/batch_response.rb +5 -5
  42. data/lib/azure/table/edmtype.rb +1 -1
  43. data/lib/azure/table/entity.rb +2 -2
  44. data/lib/azure/table/query.rb +6 -6
  45. data/lib/azure/table/serialization.rb +4 -4
  46. data/lib/azure/table/table_service.rb +30 -30
  47. data/lib/azure/version.rb +1 -1
  48. data/lib/azure/virtual_machine_management/virtual_machine_management_service.rb +5 -4
  49. data/lib/azure/virtual_network_management/serialization.rb +2 -2
  50. data/test/fixtures/list_os_images.xml +1 -1
  51. data/test/fixtures/list_virtual_networks.xml +0 -1
  52. data/test/fixtures/management_certificate.pem +55 -0
  53. data/test/fixtures/management_certificate.publishsettings +12 -0
  54. data/test/fixtures/updated_storage_accounts.xml +8 -8
  55. data/test/integration/blob/blob_metadata_test.rb +5 -5
  56. data/test/integration/blob/blob_pages_test.rb +5 -5
  57. data/test/integration/blob/blob_properties_test.rb +3 -3
  58. data/test/integration/blob/block_blob_test.rb +64 -15
  59. data/test/integration/blob/container/container_acl_test.rb +2 -2
  60. data/test/integration/blob/container/container_metadata_test.rb +2 -2
  61. data/test/integration/blob/container/create_container_test.rb +3 -3
  62. data/test/integration/blob/container/delete_container_test.rb +1 -1
  63. data/test/integration/blob/container/get_container_properties_test.rb +2 -2
  64. data/test/integration/blob/container/list_containers_test.rb +3 -3
  65. data/test/integration/blob/copy_blob_test.rb +4 -4
  66. data/test/integration/blob/create_blob_snapshot_test.rb +2 -2
  67. data/test/integration/blob/create_page_blob_test.rb +2 -2
  68. data/test/integration/blob/delete_blob_test.rb +4 -4
  69. data/test/integration/blob/get_blob_test.rb +7 -7
  70. data/test/integration/blob/informative_errors_test.rb +2 -2
  71. data/test/integration/blob/lease/acquire_lease_test.rb +1 -1
  72. data/test/integration/blob/lease/break_lease_test.rb +2 -2
  73. data/test/integration/blob/lease/release_lease_test.rb +2 -2
  74. data/test/integration/blob/lease/renew_lease_test.rb +2 -2
  75. data/test/integration/blob/list_blobs_test.rb +1 -1
  76. data/test/integration/database/delete_sql_server_firewall_test.rb +0 -1
  77. data/test/integration/database/delete_sql_server_test.rb +0 -1
  78. data/test/integration/location/Location_List_test.rb +0 -1
  79. data/test/integration/location/RoleSize_List_test.rb +0 -1
  80. data/test/integration/queue/clear_messages_test.rb +3 -3
  81. data/test/integration/queue/create_message_test.rb +5 -5
  82. data/test/integration/queue/create_queue_test.rb +1 -1
  83. data/test/integration/queue/delete_message_test.rb +4 -4
  84. data/test/integration/queue/delete_queue_test.rb +1 -1
  85. data/test/integration/queue/informative_errors_test.rb +2 -2
  86. data/test/integration/queue/list_messages_encoded_test.rb +2 -2
  87. data/test/integration/queue/list_messages_test.rb +3 -3
  88. data/test/integration/queue/list_queues_test.rb +1 -1
  89. data/test/integration/queue/peek_messages_test.rb +3 -3
  90. data/test/integration/queue/queue_metadata_test.rb +4 -4
  91. data/test/integration/queue/update_message_test.rb +4 -4
  92. data/test/integration/service_bus/informative_errors_test.rb +1 -1
  93. data/test/integration/service_bus/queues_test.rb +6 -6
  94. data/test/integration/service_bus/relay_test.rb +3 -3
  95. data/test/integration/service_bus/rules_test.rb +2 -2
  96. data/test/integration/service_bus/subscriptions_test.rb +4 -4
  97. data/test/integration/service_bus/topics_test.rb +2 -2
  98. data/test/integration/table/delete_entity_batch_test.rb +3 -3
  99. data/test/integration/table/delete_entity_test.rb +3 -3
  100. data/test/integration/table/delete_table_test.rb +1 -1
  101. data/test/integration/table/get_table_test.rb +4 -4
  102. data/test/integration/table/informative_errors_test.rb +2 -2
  103. data/test/integration/table/insert_entity_batch_test.rb +3 -3
  104. data/test/integration/table/insert_entity_test.rb +3 -3
  105. data/test/integration/table/insert_or_merge_entity_batch_test.rb +7 -7
  106. data/test/integration/table/insert_or_merge_entity_test.rb +8 -8
  107. data/test/integration/table/insert_or_replace_entity_batch_test.rb +7 -7
  108. data/test/integration/table/insert_or_replace_entity_test.rb +7 -7
  109. data/test/integration/table/merge_entity_batch_test.rb +1 -1
  110. data/test/integration/table/merge_entity_test.rb +1 -1
  111. data/test/integration/table/query_entities_test.rb +21 -21
  112. data/test/integration/table/query_tables_test.rb +2 -2
  113. data/test/integration/table/query_test.rb +21 -21
  114. data/test/integration/table/table_acl_test.rb +4 -4
  115. data/test/integration/table/update_entity_batch_test.rb +6 -6
  116. data/test/integration/table/update_entity_test.rb +8 -8
  117. data/test/unit/config/azure_test.rb +19 -0
  118. data/test/unit/core/auth/shared_key_lite_test.rb +3 -3
  119. data/test/unit/core/auth/shared_key_test.rb +2 -2
  120. data/test/unit/service/serialization_test.rb +44 -44
  121. metadata +4 -6
  122. data/.gitignore +0 -30
  123. data/.travis.yml +0 -13
  124. data/ChangeLog.txt +0 -56
  125. data/README.md +0 -702
@@ -39,7 +39,7 @@ module Azure
39
39
 
40
40
  attr_accessor :sql_expression
41
41
  attr_accessor :compatibility_level
42
-
42
+
43
43
  def to_hash(hash={})
44
44
  hash[:sql_expression]=sql_expression if sql_expression
45
45
  hash[:compatibility_level]=compatibility_level.to_s if compatibility_level
@@ -37,9 +37,9 @@ module Azure
37
37
  super()
38
38
  end
39
39
 
40
- attr_accessor :sql_expression
41
- attr_accessor :compatibility_level
42
-
40
+ attr_accessor :sql_expression
41
+ attr_accessor :compatibility_level
42
+
43
43
  def to_hash(hash={})
44
44
  hash[:sql_expression]=sql_expression if sql_expression
45
45
  hash[:compatibility_level]=compatibility_level.to_s if compatibility_level
@@ -17,7 +17,7 @@ require 'azure/service_bus/resource'
17
17
  module Azure
18
18
  module ServiceBus
19
19
  class Subscription < Resource
20
-
20
+
21
21
  attr_accessor :topic
22
22
 
23
23
  # Public: Initialize the subscription.
@@ -50,10 +50,10 @@ module Azure
50
50
 
51
51
  # MaxSizeInMegabytes: Number
52
52
  #
53
- # Specifies the maximum topic size in megabytes. Any attempt to enqueue a message that will cause the topic to
54
- # exceed this value will fail. All messages that are stored in the topic or any of its subscriptions count
55
- # towards this value. Multiple copies of a message that reside in one or multiple subscriptions count as a single
56
- # messages. For example, if message m exists once in subscription s1 and twice in subscription s2, m is counted
53
+ # Specifies the maximum topic size in megabytes. Any attempt to enqueue a message that will cause the topic to
54
+ # exceed this value will fail. All messages that are stored in the topic or any of its subscriptions count
55
+ # towards this value. Multiple copies of a message that reside in one or multiple subscriptions count as a single
56
+ # messages. For example, if message m exists once in subscription s1 and twice in subscription s2, m is counted
57
57
  # as a single message. You can only set this parameter at topic creation time using the following values:
58
58
  #
59
59
  # Range: 1 - 5*1024 MB
@@ -65,7 +65,7 @@ module Azure
65
65
  def max_size_in_megabytes=(val)
66
66
  _set 'MaxSizeInMegabytes', val
67
67
  end
68
-
68
+
69
69
  # SizeInBytes: Number
70
70
  #
71
71
  # Reflects the actual bytes toward the topic quota that messages in the topic currently occupy. (read-only)
@@ -81,9 +81,9 @@ module Azure
81
81
 
82
82
  # DefaultMessageTimeToLive: XML datetime
83
83
  #
84
- # Determines how long a message lives in the associated subscriptions. Subscriptions inherit the TTL from the
85
- # topic unless they are created explicitly with a smaller TTL. Based on whether dead-lettering is enabled, a
86
- # message whose TTL has expired will either be moved to the subscription's associated DeadLtterQueue or will
84
+ # Determines how long a message lives in the associated subscriptions. Subscriptions inherit the TTL from the
85
+ # topic unless they are created explicitly with a smaller TTL. Based on whether dead-lettering is enabled, a
86
+ # message whose TTL has expired will either be moved to the subscription's associated DeadLtterQueue or will
87
87
  # be permanently deleted. The following values are settable at topic creation time:
88
88
  #
89
89
  # Range: 1 second - TimeSpan.MaxValue
@@ -98,7 +98,7 @@ module Azure
98
98
 
99
99
  # RequiresDuplicateDetection: True, False
100
100
  #
101
- # If enabled, the topic will detect duplicate messages within the time span specified by the
101
+ # If enabled, the topic will detect duplicate messages within the time span specified by the
102
102
  # DuplicateDetectionHistoryTimeWindow property. Settable only at topic creation time.
103
103
  #
104
104
  # Default: false
@@ -140,8 +140,8 @@ module Azure
140
140
 
141
141
  # EnableBatchedOperations
142
142
  #
143
- # Enables or disables service side batching behavior when performing operations for the specific queue. When
144
- # enabled, service bus will collect/batch multiple operations to the backend to be more connection efficient.
143
+ # Enables or disables service side batching behavior when performing operations for the specific queue. When
144
+ # enabled, service bus will collect/batch multiple operations to the backend to be more connection efficient.
145
145
  #
146
146
  # If user wants lower operation latency then they can disable this feature.
147
147
  def enable_batched_operations
@@ -83,7 +83,7 @@ module Azure
83
83
  # * +:account_type+ - String. Specifies the type of storage account
84
84
  #
85
85
  # See http://msdn.microsoft.com/en-us/library/azure/hh264518.aspx
86
- #
86
+ #
87
87
  # Returns None
88
88
  def create_storage_account(name, options = {})
89
89
  raise 'Name not specified' if !name || name.class != String || name.empty?
@@ -146,7 +146,7 @@ module Azure
146
146
  # * +name+ - String. Storage account name.
147
147
  #
148
148
  # See http://msdn.microsoft.com/en-us/library/azure/hh264517.aspx
149
- #
149
+ #
150
150
  # Returns: None
151
151
  def delete_storage_account(name)
152
152
  Azure::Loggerx.info "Deleting Storage Account #{name}."
@@ -22,7 +22,7 @@ require 'azure/core/http/http_error'
22
22
  module Azure
23
23
  module Table
24
24
  # Represents a batch of table operations.
25
- #
25
+ #
26
26
  # Example usage (block syntax):
27
27
  #
28
28
  # results = Batch.new "table", "partition" do
@@ -37,9 +37,9 @@ module Azure
37
37
  # .insert("row2", {"meta"=>"data"})
38
38
  # .execute
39
39
  #
40
- # which is equivalent to (as class):
41
- #
42
- # svc = TableSerice.new
40
+ # which is equivalent to (as class):
41
+ #
42
+ # svc = TableSerice.new
43
43
  #
44
44
  # batch = Batch.new "table", "partition"
45
45
  # batch.insert "row1", {"meta"=>"data"}
@@ -84,10 +84,10 @@ module Azure
84
84
  @hash = hash
85
85
  end
86
86
 
87
- def uri
87
+ def uri
88
88
  @hash[:uri]
89
89
  end
90
-
90
+
91
91
  def status_code
92
92
  @hash[:status_code].to_i
93
93
  end
@@ -100,9 +100,9 @@ module Azure
100
100
  protected
101
101
  def add_operation(method, uri, body=nil, headers=nil)
102
102
  op = {
103
- :method => method,
104
- :uri => uri,
105
- :body => body,
103
+ :method => method,
104
+ :uri => uri,
105
+ :body => body,
106
106
  :headers => headers
107
107
  }
108
108
  operations.push op
@@ -146,7 +146,7 @@ module Azure
146
146
  # etag from headers
147
147
  new_responses.push response[:headers]["etag"]
148
148
  when :delete
149
- # true
149
+ # true
150
150
  new_responses.push nil
151
151
  end
152
152
  end
@@ -178,7 +178,7 @@ module Azure
178
178
  body.add_line "#{k}: #{v}"
179
179
  }
180
180
  end
181
-
181
+
182
182
  if op[:body]
183
183
  body.add_line "Content-Type: application/atom+xml;type=entry"
184
184
  body.add_line "Content-Length: #{op[:body].bytesize.to_s}"
@@ -186,7 +186,7 @@ module Azure
186
186
  body.add_line op[:body]
187
187
  else
188
188
  body.add_line ""
189
- end
189
+ end
190
190
 
191
191
  content_id += 1
192
192
  }
@@ -199,15 +199,15 @@ module Azure
199
199
  # ==== Attributes
200
200
  #
201
201
  # * +row_key+ - String. The row key
202
- # * +entity_values+ - Hash. A hash of the name/value pairs for the entity.
202
+ # * +entity_values+ - Hash. A hash of the name/value pairs for the entity.
203
203
  #
204
204
  # See http://msdn.microsoft.com/en-us/library/azure/dd179433
205
205
  public
206
206
  def insert(row_key, entity_values)
207
207
  check_entity_key(row_key)
208
208
 
209
- body = Azure::Table::Serialization.hash_to_entry_xml({
210
- "PartitionKey" => partition,
209
+ body = Azure::Table::Serialization.hash_to_entry_xml({
210
+ "PartitionKey" => partition,
211
211
  "RowKey" => row_key
212
212
  }.merge(entity_values) ).to_xml
213
213
 
@@ -215,20 +215,20 @@ module Azure
215
215
  self
216
216
  end
217
217
 
218
- # Public: Updates an existing entity in a table. The Update Entity operation replaces
218
+ # Public: Updates an existing entity in a table. The Update Entity operation replaces
219
219
  # the entire entity and can be used to remove properties.
220
220
  #
221
221
  # ==== Attributes
222
222
  #
223
223
  # * +row_key+ - String. The row key
224
- # * +entity_values+ - Hash. A hash of the name/value pairs for the entity.
225
- # * +options+ - Hash. Optional parameters.
224
+ # * +entity_values+ - Hash. A hash of the name/value pairs for the entity.
225
+ # * +options+ - Hash. Optional parameters.
226
226
  #
227
227
  # ==== Options
228
228
  #
229
229
  # Accepted key/value pairs in options parameter are:
230
230
  # * :if_match - String. A matching condition which is required for update (optional, Default="*")
231
- # * :create_if_not_exists - Boolean. If true, and partition_key and row_key do not reference and existing entity,
231
+ # * :create_if_not_exists - Boolean. If true, and partition_key and row_key do not reference and existing entity,
232
232
  # that entity will be inserted. If false, the operation will fail. (optional, Default=false)
233
233
  #
234
234
  # See http://msdn.microsoft.com/en-us/library/azure/dd179427
@@ -246,23 +246,23 @@ module Azure
246
246
  add_operation(:put, uri, body, headers)
247
247
  self
248
248
  end
249
-
249
+
250
250
  # Public: Updates an existing entity by updating the entity's properties. This operation
251
251
  # does not replace the existing entity, as the update_entity operation does.
252
252
  #
253
253
  # ==== Attributes
254
254
  #
255
255
  # * +row_key+ - String. The row key
256
- # * +entity_values+ - Hash. A hash of the name/value pairs for the entity.
257
- # * +options+ - Hash. Optional parameters.
256
+ # * +entity_values+ - Hash. A hash of the name/value pairs for the entity.
257
+ # * +options+ - Hash. Optional parameters.
258
258
  #
259
259
  # ==== Options
260
260
  #
261
261
  # Accepted key/value pairs in options parameter are:
262
262
  # * +if_match+ - String. A matching condition which is required for update (optional, Default="*")
263
- # * +create_if_not_exists+ - Boolean. If true, and partition_key and row_key do not reference and existing entity,
263
+ # * +create_if_not_exists+ - Boolean. If true, and partition_key and row_key do not reference and existing entity,
264
264
  # that entity will be inserted. If false, the operation will fail. (optional, Default=false)
265
- #
265
+ #
266
266
  # See http://msdn.microsoft.com/en-us/library/azure/dd179392
267
267
  public
268
268
  def merge(row_key, entity_values, options={})
@@ -285,7 +285,7 @@ module Azure
285
285
  #
286
286
  # * +row_key+ - String. The row key
287
287
  # * +entity_values+ - Hash. A hash of the name/value pairs for the entity.
288
- #
288
+ #
289
289
  # See http://msdn.microsoft.com/en-us/library/azure/hh452241
290
290
  public
291
291
  def insert_or_merge(row_key, entity_values)
@@ -298,8 +298,8 @@ module Azure
298
298
  # ==== Attributes
299
299
  #
300
300
  # * +row_key+ - String. The row key
301
- # * +entity_values+ - Hash. A hash of the name/value pairs for the entity.
302
- #
301
+ # * +entity_values+ - Hash. A hash of the name/value pairs for the entity.
302
+ #
303
303
  # See http://msdn.microsoft.com/en-us/library/azure/hh452242
304
304
  public
305
305
  def insert_or_replace(row_key, entity_values)
@@ -312,7 +312,7 @@ module Azure
312
312
  # ==== Attributes
313
313
  #
314
314
  # * +row_key+ - String. The row key
315
- # * +options+ - Hash. Optional parameters.
315
+ # * +options+ - Hash. Optional parameters.
316
316
  #
317
317
  # ==== Options
318
318
  #
@@ -16,7 +16,7 @@ module Azure
16
16
  module Table
17
17
  module BatchResponse
18
18
  def self.parse(data)
19
- context = {
19
+ context = {
20
20
  :lines => data.lines.to_a,
21
21
  :index=> 0,
22
22
  :responses => []
@@ -24,7 +24,7 @@ module Azure
24
24
 
25
25
  find(context) { |c| batch_boundary c }
26
26
  find(context) { |c| batch_headers c }
27
-
27
+
28
28
  while(find(context){ |c| changeset_boundary_or_end c } == :boundary)
29
29
  find(context) { |c| changeset_headers c }
30
30
  find(context) { |c| response c }
@@ -51,7 +51,7 @@ module Azure
51
51
  context[:responses].last[:body] ||= ""
52
52
  context[:responses].last[:body] << current_line(context)
53
53
  return context[:responses].last[:body]
54
- else
54
+ else
55
55
  context[:responses].last[:body] ||= ""
56
56
  context[:responses].last[:body] << current_line(context)
57
57
  return nil
@@ -79,7 +79,7 @@ module Azure
79
79
  response = {:status_code => match[1], :message => match[2] }
80
80
  context[:responses].push response
81
81
  end
82
-
82
+
83
83
  def self.changeset_headers(context)
84
84
  current_line(context).strip == ''
85
85
  end
@@ -109,7 +109,7 @@ module Azure
109
109
  match = /--batchresponse_(.*)/.match(current_line(context))
110
110
  match ? match[1] : nil
111
111
  end
112
-
112
+
113
113
  def self.current_line(context)
114
114
  context[:lines][context[:index]]
115
115
  end
@@ -72,7 +72,7 @@ module Azure
72
72
  end
73
73
 
74
74
  # Public: Serializes EDM value into proper value to be used in query.
75
- #
75
+ #
76
76
  # value - String. The value to serialize.
77
77
  #
78
78
  # Returns the serialized value
@@ -16,8 +16,8 @@
16
16
  module Azure
17
17
  module Table
18
18
  class Entity
19
-
20
- def initialize
19
+
20
+ def initialize
21
21
  @properties = {}
22
22
  yield self if block_given?
23
23
  end
@@ -28,7 +28,7 @@ module Azure
28
28
  @table_service = Azure::Table::TableService.new
29
29
  self.instance_eval(&block) if block_given?
30
30
  end
31
-
31
+
32
32
  attr_reader :table
33
33
  attr_reader :partition_key
34
34
  attr_reader :row_key
@@ -66,7 +66,7 @@ module Azure
66
66
  @filters.push(p)
67
67
  self
68
68
  end
69
-
69
+
70
70
  def top(n)
71
71
  @top_n = n
72
72
  self
@@ -85,11 +85,11 @@ module Azure
85
85
  def execute
86
86
  @table_service.query_entities(@table, {
87
87
  :partition_key => @partition_key,
88
- :row_key => @row_key,
88
+ :row_key => @row_key,
89
89
  :select => @fields.map{ |f| f.to_s },
90
90
  :filter => _build_filter_string,
91
91
  :top => (@top_n ? @top_n.to_i : @top_n),
92
- :continuation_token => {
92
+ :continuation_token => {
93
93
  :next_partition_key => @next_partition_key,
94
94
  :next_row_key => @next_row_key
95
95
  }
@@ -102,8 +102,8 @@ module Azure
102
102
  filters.each { |f|
103
103
  clauses.push "#{f[0].to_s} #{f[1].to_s} #{Azure::Table::EdmType.serialize_query_value(f[2])}"
104
104
  }
105
- return nil if clauses.length == 0
106
-
105
+ return nil if clauses.length == 0
106
+
107
107
  result << clauses.join(" and ")
108
108
  result
109
109
  end
@@ -34,7 +34,7 @@ module Azure
34
34
 
35
35
  xml.entry entry_namespaces do |entry|
36
36
  id ? entry.id(id): entry.id
37
- entry.updated Time.now.xmlschema
37
+ entry.updated Time.now.xmlschema
38
38
  entry.title
39
39
  entry.author do |author|
40
40
  author.name
@@ -74,9 +74,9 @@ module Azure
74
74
  expect_node('feed', xml)
75
75
 
76
76
  return nil unless (xml > 'entry').any?
77
-
77
+
78
78
  results = []
79
-
79
+
80
80
  if (xml > 'entry').count == 0
81
81
  results.push hash_from_entry_xml((xml > 'entry'))
82
82
  else
@@ -94,7 +94,7 @@ module Azure
94
94
  result = {}
95
95
  result[:etag] = xml['etag']
96
96
  result[:updated] = Time.parse((xml > 'updated').text) if (xml > 'updated').any?
97
- properties = {}
97
+ properties = {}
98
98
  if (xml > 'content').any?
99
99
  (xml > 'content').first.first_element_child.element_children.each do |prop|
100
100
  properties[prop.name] = prop.text != '' ? Azure::Table::EdmType.unserialize_query_value(prop.text, prop['m:type']) : prop['null'] ? nil : ''
@@ -34,7 +34,7 @@ module Azure
34
34
  # ==== Attributes
35
35
  #
36
36
  # * +table_name+ - String. The table name
37
- # * +options+ - Hash. Optional parameters.
37
+ # * +options+ - Hash. Optional parameters.
38
38
  #
39
39
  # ==== Options
40
40
  #
@@ -59,7 +59,7 @@ module Azure
59
59
  # ==== Attributes
60
60
  #
61
61
  # * +table_name+ - String. The table name
62
- # * +options+ - Hash. Optional parameters.
62
+ # * +options+ - Hash. Optional parameters.
63
63
  #
64
64
  # ==== Options
65
65
  #
@@ -82,7 +82,7 @@ module Azure
82
82
  # ==== Attributes
83
83
  #
84
84
  # * +table_name+ - String. The table name
85
- # * +options+ - Hash. Optional parameters.
85
+ # * +options+ - Hash. Optional parameters.
86
86
  #
87
87
  # ==== Options
88
88
  #
@@ -103,7 +103,7 @@ module Azure
103
103
  #
104
104
  # ==== Attributes
105
105
  #
106
- # * +options+ - Hash. Optional parameters.
106
+ # * +options+ - Hash. Optional parameters.
107
107
  #
108
108
  # ==== Options
109
109
  #
@@ -135,7 +135,7 @@ module Azure
135
135
  # ==== Attributes
136
136
  #
137
137
  # * +table_name+ - String. The table name
138
- # * +options+ - Hash. Optional parameters.
138
+ # * +options+ - Hash. Optional parameters.
139
139
  #
140
140
  # ==== Options
141
141
  #
@@ -161,14 +161,14 @@ module Azure
161
161
  # ==== Attributes
162
162
  #
163
163
  # * +table_name+ - String. The table name
164
- # * +options+ - Hash. Optional parameters.
164
+ # * +options+ - Hash. Optional parameters.
165
165
  #
166
166
  # ==== Options
167
167
  #
168
168
  # Accepted key/value pairs in options parameter are:
169
169
  # * +:signed_identifiers+ - Array. A list of Azure::Entity::SignedIdentifier instances
170
170
  # * +:timeout+ - Integer. A timeout in seconds.
171
- #
171
+ #
172
172
  # See http://msdn.microsoft.com/en-us/library/azure/jj159102
173
173
  #
174
174
  # Returns nil on success
@@ -190,8 +190,8 @@ module Azure
190
190
  # ==== Attributes
191
191
  #
192
192
  # * +table_name+ - String. The table name
193
- # * +entity_values+ - Hash. A hash of the name/value pairs for the entity.
194
- # * +options+ - Hash. Optional parameters.
193
+ # * +entity_values+ - Hash. A hash of the name/value pairs for the entity.
194
+ # * +options+ - Hash. Optional parameters.
195
195
  #
196
196
  # ==== Options
197
197
  #
@@ -208,7 +208,7 @@ module Azure
208
208
  query['timeout'] = options[:timeout].to_s if options[:timeout]
209
209
 
210
210
  response = call(:post, entities_uri(table_name, nil, nil, query), body)
211
-
211
+
212
212
  result = Azure::Table::Serialization.hash_from_entry_xml(response.body)
213
213
 
214
214
  Entity.new do |entity|
@@ -224,7 +224,7 @@ module Azure
224
224
  # ==== Attributes
225
225
  #
226
226
  # * +table_name+ - String. The table name
227
- # * +options+ - Hash. Optional parameters.
227
+ # * +options+ - Hash. Optional parameters.
228
228
  #
229
229
  # ==== Options
230
230
  #
@@ -255,7 +255,7 @@ module Azure
255
255
  entities = Azure::Service::EnumerationResults.new
256
256
 
257
257
  results = (options[:partition_key] and options[:row_key]) ? [Azure::Table::Serialization.hash_from_entry_xml(response.body)] : Azure::Table::Serialization.entries_from_feed_xml(response.body)
258
-
258
+
259
259
  results.each do |result|
260
260
  entity = Entity.new do |e|
261
261
  e.table = table_name
@@ -267,34 +267,34 @@ module Azure
267
267
  end if results
268
268
 
269
269
  entities.continuation_token = nil
270
- entities.continuation_token = {
271
- :next_partition_key=> response.headers["x-ms-continuation-NextPartitionKey"],
270
+ entities.continuation_token = {
271
+ :next_partition_key=> response.headers["x-ms-continuation-NextPartitionKey"],
272
272
  :next_row_key => response.headers["x-ms-continuation-NextRowKey"]
273
273
  } if response.headers["x-ms-continuation-NextPartitionKey"]
274
274
 
275
275
  entities
276
276
  end
277
277
 
278
- # Public: Updates an existing entity in a table. The Update Entity operation replaces
278
+ # Public: Updates an existing entity in a table. The Update Entity operation replaces
279
279
  # the entire entity and can be used to remove properties.
280
280
  #
281
281
  # ==== Attributes
282
282
  #
283
283
  # * +table_name+ - String. The table name
284
284
  # * +entity_values+ - Hash. A hash of the name/value pairs for the entity.
285
- # * +options+ - Hash. Optional parameters.
285
+ # * +options+ - Hash. Optional parameters.
286
286
  #
287
287
  # ==== Options
288
288
  #
289
289
  # Accepted key/value pairs in options parameter are:
290
290
  # * +:if_match+ - String. A matching condition which is required for update (optional, Default="*")
291
- # * +:create_if_not_exists+ - Boolean. If true, and partition_key and row_key do not reference and existing entity,
291
+ # * +:create_if_not_exists+ - Boolean. If true, and partition_key and row_key do not reference and existing entity,
292
292
  # that entity will be inserted. If false, the operation will fail. (optional, Default=false)
293
293
  # * +:timeout+ - Integer. A timeout in seconds.
294
294
  #
295
295
  # See http://msdn.microsoft.com/en-us/library/azure/dd179427
296
296
  #
297
- # Returns the ETag for the entity on success
297
+ # Returns the ETag for the entity on success
298
298
  def update_entity(table_name, entity_values, options={})
299
299
  if_match = "*"
300
300
  if_match = options[:if_match] if options[:if_match]
@@ -320,19 +320,19 @@ module Azure
320
320
  #
321
321
  # * +table_name+ - String. The table name
322
322
  # * +entity_values+ - Hash. A hash of the name/value pairs for the entity.
323
- # * +options+ - Hash. Optional parameters.
323
+ # * +options+ - Hash. Optional parameters.
324
324
  #
325
325
  # ==== Options
326
326
  #
327
327
  # Accepted key/value pairs in options parameter are:
328
328
  # * +:if_match+ - String. A matching condition which is required for update (optional, Default="*")
329
- # * +:create_if_not_exists+ - Boolean. If true, and partition_key and row_key do not reference and existing entity,
329
+ # * +:create_if_not_exists+ - Boolean. If true, and partition_key and row_key do not reference and existing entity,
330
330
  # that entity will be inserted. If false, the operation will fail. (optional, Default=false)
331
331
  # * +:timeout+ - Integer. A timeout in seconds.
332
- #
332
+ #
333
333
  # See http://msdn.microsoft.com/en-us/library/azure/dd179392
334
- #
335
- # Returns the ETag for the entity on success
334
+ #
335
+ # Returns the ETag for the entity on success
336
336
  def merge_entity(table_name, entity_values, options={})
337
337
  if_match = "*"
338
338
  if_match = options[:if_match] if options[:if_match]
@@ -357,16 +357,16 @@ module Azure
357
357
  #
358
358
  # * +table_name+ - String. The table name
359
359
  # * +entity_values+ - Hash. A hash of the name/value pairs for the entity.
360
- # * +options+ - Hash. Optional parameters.
360
+ # * +options+ - Hash. Optional parameters.
361
361
  #
362
362
  # ==== Options
363
363
  #
364
364
  # Accepted key/value pairs in options parameter are:
365
365
  # * +:timeout+ - Integer. A timeout in seconds.
366
- #
366
+ #
367
367
  # See http://msdn.microsoft.com/en-us/library/azure/hh452241
368
- #
369
- # Returns the ETag for the entity on success
368
+ #
369
+ # Returns the ETag for the entity on success
370
370
  def insert_or_merge_entity(table_name, entity_values, options={})
371
371
  options[:create_if_not_exists] = true
372
372
  merge_entity(table_name, entity_values, options)
@@ -378,16 +378,16 @@ module Azure
378
378
  #
379
379
  # * +table_name+ - String. The table name
380
380
  # * +entity_values+ - Hash. A hash of the name/value pairs for the entity.
381
- # * +options+ - Hash. Optional parameters.
381
+ # * +options+ - Hash. Optional parameters.
382
382
  #
383
383
  # ==== Options
384
384
  #
385
385
  # Accepted key/value pairs in options parameter are:
386
386
  # * +:timeout+ - Integer. A timeout in seconds.
387
- #
387
+ #
388
388
  # See http://msdn.microsoft.com/en-us/library/azure/hh452242
389
389
  #
390
- # Returns the ETag for the entity on success
390
+ # Returns the ETag for the entity on success
391
391
  def insert_or_replace_entity(table_name, entity_values, options={})
392
392
  options[:create_if_not_exists] = true
393
393
  update_entity(table_name, entity_values, options)