azure 0.1.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +6 -0
- data/ChangeLog.txt +5 -0
- data/Gemfile +16 -3
- data/README.md +344 -2
- data/Rakefile +66 -37
- data/azure.gemspec +30 -11
- data/lib/azure.rb +35 -4
- data/lib/azure/blob/blob.rb +32 -0
- data/lib/azure/blob/blob_service.rb +1423 -0
- data/lib/azure/blob/block.rb +31 -0
- data/lib/azure/blob/container.rb +32 -0
- data/lib/azure/blob/serialization.rb +285 -0
- data/lib/azure/core.rb +32 -0
- data/lib/azure/core/auth/authorizer.rb +36 -0
- data/lib/azure/core/auth/shared_key.rb +21 -6
- data/lib/azure/core/auth/shared_key_lite.rb +17 -3
- data/lib/azure/core/auth/signer.rb +48 -0
- data/lib/azure/core/configuration.rb +152 -0
- data/lib/azure/core/error.rb +22 -0
- data/lib/azure/core/filtered_service.rb +44 -0
- data/lib/azure/core/http/debug_filter.rb +36 -0
- data/lib/azure/core/http/http_error.rb +84 -0
- data/lib/azure/core/http/http_filter.rb +53 -0
- data/lib/azure/core/http/http_request.rb +157 -0
- data/lib/azure/core/http/http_response.rb +133 -0
- data/lib/azure/core/http/retry_policy.rb +68 -0
- data/lib/azure/core/http/signer_filter.rb +34 -0
- data/lib/azure/core/service.rb +38 -32
- data/lib/azure/core/signed_service.rb +43 -0
- data/lib/azure/queue/message.rb +30 -0
- data/lib/azure/queue/queue.rb +29 -0
- data/lib/azure/queue/queue_service.rb +568 -0
- data/lib/azure/queue/serialization.rb +103 -0
- data/lib/azure/service/access_policy.rb +26 -0
- data/lib/azure/service/enumeration_results.rb +21 -0
- data/lib/azure/service/logging.rb +32 -0
- data/lib/azure/service/metrics.rb +31 -0
- data/lib/azure/service/retention_policy.rb +25 -0
- data/lib/azure/service/serialization.rb +240 -0
- data/lib/azure/service/signed_identifier.rb +30 -0
- data/lib/azure/service/storage_service.rb +79 -0
- data/lib/azure/service/storage_service_properties.rb +32 -0
- data/lib/azure/service_bus/action.rb +21 -0
- data/lib/azure/service_bus/auth/wrap_service.rb +59 -46
- data/lib/azure/service_bus/auth/wrap_signer.rb +69 -0
- data/lib/azure/service_bus/brokered_message.rb +36 -51
- data/lib/azure/service_bus/brokered_message_serializer.rb +48 -34
- data/lib/azure/service_bus/correlation_filter.rb +45 -0
- data/lib/azure/service_bus/empty_rule_action.rb +30 -0
- data/lib/azure/service_bus/false_filter.rb +38 -0
- data/lib/azure/service_bus/filter.rb +21 -0
- data/lib/azure/{core/utils → service_bus}/interval.rb +29 -22
- data/lib/azure/service_bus/queue.rb +230 -0
- data/lib/azure/service_bus/resource.rb +109 -0
- data/lib/azure/service_bus/rule.rb +98 -0
- data/lib/azure/service_bus/rule_aspect.rb +34 -0
- data/lib/azure/service_bus/serialization.rb +160 -0
- data/lib/azure/service_bus/service_bus_service.rb +819 -12
- data/lib/azure/service_bus/sql_filter.rb +50 -0
- data/lib/azure/service_bus/sql_rule_action.rb +50 -0
- data/lib/azure/service_bus/subscription.rb +184 -0
- data/lib/azure/service_bus/topic.rb +187 -0
- data/lib/azure/service_bus/true_filter.rb +38 -0
- data/lib/azure/{tables → table}/auth/shared_key.rb +33 -12
- data/lib/azure/table/auth/shared_key_lite.rb +44 -0
- data/lib/azure/table/batch.rb +330 -0
- data/lib/azure/table/batch_response.rb +117 -0
- data/lib/azure/table/edmtype.rb +127 -0
- data/lib/azure/table/entity.rb +31 -0
- data/lib/azure/table/guid.rb +24 -0
- data/lib/azure/table/query.rb +112 -0
- data/lib/azure/table/serialization.rb +105 -0
- data/lib/azure/table/table_service.rb +557 -0
- data/lib/azure/version.rb +31 -0
- data/test/fixtures/container_acl.xml +11 -0
- data/test/fixtures/{error.xml → http_error.xml} +0 -0
- data/test/fixtures/list_blobs.xml +121 -0
- data/test/fixtures/list_block_all_with_none_committed.xml +22 -0
- data/test/fixtures/list_blocks_all.xml +23 -0
- data/test/fixtures/list_blocks_committed.xml +13 -0
- data/test/fixtures/list_containers.xml +38 -0
- data/test/fixtures/list_page_ranges.xml +11 -0
- data/test/fixtures/logging.xml +11 -0
- data/test/fixtures/metrics.xml +10 -0
- data/test/fixtures/queues.xml +1 -1
- data/test/fixtures/retention_policy.xml +5 -0
- data/test/fixtures/storage_service_properties.xml +23 -0
- data/test/integration/blob/blob_metadata_test.rb +75 -0
- data/test/integration/blob/blob_pages_test.rb +119 -0
- data/test/integration/blob/blob_properties_test.rb +77 -0
- data/test/integration/blob/block_blob_test.rb +254 -0
- data/test/integration/blob/container/container_acl_test.rb +69 -0
- data/test/integration/blob/container/container_metadata_test.rb +50 -0
- data/test/integration/blob/container/create_container_test.rb +60 -0
- data/test/integration/blob/container/delete_container_test.rb +39 -0
- data/test/integration/blob/container/get_container_properties_test.rb +48 -0
- data/test/integration/blob/container/list_containers_test.rb +79 -0
- data/test/integration/blob/container/root_container_test.rb +50 -0
- data/test/integration/blob/copy_blob_test.rb +113 -0
- data/test/integration/blob/create_blob_snapshot_test.rb +80 -0
- data/test/integration/blob/create_page_blob_test.rb +83 -0
- data/test/integration/blob/delete_blob_test.rb +159 -0
- data/test/integration/blob/get_blob_test.rb +65 -0
- data/test/integration/blob/informative_errors_test.rb +39 -0
- data/test/integration/blob/lease/acquire_lease_test.rb +36 -0
- data/test/integration/blob/lease/break_lease_test.rb +40 -0
- data/test/integration/blob/lease/release_lease_test.rb +40 -0
- data/test/integration/blob/lease/renew_lease_test.rb +42 -0
- data/test/integration/blob/list_blobs_test.rb +113 -0
- data/test/integration/queue/clear_messages_test.rb +42 -0
- data/test/integration/queue/create_message_test.rb +75 -0
- data/test/integration/queue/create_queue_test.rb +50 -0
- data/test/integration/queue/delete_message_test.rb +67 -0
- data/test/integration/queue/delete_queue_test.rb +45 -0
- data/test/integration/queue/informative_errors_test.rb +42 -0
- data/test/integration/queue/list_messages_encoded_test.rb +79 -0
- data/test/integration/queue/list_messages_test.rb +79 -0
- data/test/integration/queue/list_queues_test.rb +44 -0
- data/test/integration/queue/peek_messages_test.rb +59 -0
- data/test/integration/queue/queue_metadata_test.rb +40 -0
- data/test/integration/queue/update_message_test.rb +74 -0
- data/test/integration/service_bus/informative_errors_test.rb +37 -0
- data/test/integration/service_bus/queues_scenario_test.rb +200 -0
- data/test/integration/service_bus/queues_test.rb +266 -0
- data/test/integration/service_bus/rules_test.rb +145 -0
- data/test/integration/service_bus/scenario_test.rb +102 -0
- data/test/integration/service_bus/subscriptions_test.rb +211 -0
- data/test/integration/service_bus/topics_scenario_test.rb +406 -0
- data/test/integration/service_bus/topics_test.rb +129 -0
- data/test/integration/table/create_table_test.rb +36 -0
- data/test/integration/table/delete_entity_batch_test.rb +107 -0
- data/test/integration/table/delete_entity_test.rb +94 -0
- data/test/integration/table/delete_table_test.rb +40 -0
- data/test/integration/table/get_table_test.rb +37 -0
- data/test/integration/table/informative_errors_test.rb +39 -0
- data/test/integration/table/insert_entity_batch_test.rb +100 -0
- data/test/integration/table/insert_entity_test.rb +88 -0
- data/test/integration/table/insert_or_merge_entity_batch_test.rb +159 -0
- data/test/integration/table/insert_or_merge_entity_test.rb +143 -0
- data/test/integration/table/insert_or_replace_entity_batch_test.rb +152 -0
- data/test/integration/table/insert_or_replace_entity_test.rb +137 -0
- data/test/integration/table/merge_entity_batch_test.rb +128 -0
- data/test/integration/table/merge_entity_test.rb +113 -0
- data/test/integration/table/query_entities_test.rb +195 -0
- data/test/integration/table/query_tables_test.rb +43 -0
- data/test/integration/table/query_test.rb +251 -0
- data/test/integration/table/table_acl_test.rb +52 -0
- data/test/integration/table/update_entity_batch_test.rb +149 -0
- data/test/integration/table/update_entity_test.rb +131 -0
- data/test/integration/test_helper.rb +23 -9
- data/test/support/env.rb +15 -1
- data/test/support/fixtures.rb +14 -0
- data/test/support/name_generator.rb +74 -0
- data/test/support/stubs.rb +14 -0
- data/test/test_helper.rb +43 -3
- data/test/unit/blob/blob_service_test.rb +1947 -0
- data/test/unit/core/auth/shared_key_lite_test.rb +51 -0
- data/test/unit/core/auth/shared_key_test.rb +58 -0
- data/test/unit/core/auth/signer_test.rb +30 -0
- data/test/unit/core/http/http_error_test.rb +57 -0
- data/test/unit/core/http/http_request_test.rb +66 -0
- data/test/unit/core/http/http_response_test.rb +45 -0
- data/test/unit/service/serialization_test.rb +502 -0
- data/test/unit/service/storage_service_test.rb +291 -0
- data/test/unit/table/edmtype_test.rb +108 -0
- metadata +231 -230
- data/Gemfile.lock +0 -36
- data/lib/azure/atom.rb +0 -170
- data/lib/azure/auth.rb +0 -29
- data/lib/azure/blobs.rb +0 -620
- data/lib/azure/blobs/blob.rb +0 -360
- data/lib/azure/blobs/container.rb +0 -209
- data/lib/azure/blobs/service.rb +0 -396
- data/lib/azure/blobs/shared_access_signature.rb +0 -84
- data/lib/azure/blobs/uri.rb +0 -60
- data/lib/azure/configuration.rb +0 -121
- data/lib/azure/core/collection.rb +0 -118
- data/lib/azure/core/signer.rb +0 -32
- data/lib/azure/core/utils/queryable.rb +0 -74
- data/lib/azure/core/utils/storage_service_properties.rb +0 -83
- data/lib/azure/core/utils/string.rb +0 -59
- data/lib/azure/error.rb +0 -72
- data/lib/azure/queues.rb +0 -272
- data/lib/azure/queues/message.rb +0 -174
- data/lib/azure/queues/queue.rb +0 -187
- data/lib/azure/queues/service.rb +0 -263
- data/lib/azure/queues/service_properties.rb +0 -152
- data/lib/azure/queues/uri.rb +0 -78
- data/lib/azure/request.rb +0 -102
- data/lib/azure/response.rb +0 -93
- data/lib/azure/service_bus.rb +0 -4
- data/lib/azure/service_bus/auth/authorizer.rb +0 -22
- data/lib/azure/service_bus/auth/uri.rb +0 -52
- data/lib/azure/service_bus/auth/wrap.rb +0 -37
- data/lib/azure/service_bus/auth/wrap_token.rb +0 -45
- data/lib/azure/service_bus/auth/wrap_token_manager.rb +0 -46
- data/lib/azure/service_bus/queues.rb +0 -194
- data/lib/azure/service_bus/queues/queue.rb +0 -100
- data/lib/azure/service_bus/queues/queue_serializer.rb +0 -51
- data/lib/azure/service_bus/queues/service.rb +0 -154
- data/lib/azure/service_bus/queues/uri.rb +0 -80
- data/lib/azure/service_bus/rules.rb +0 -110
- data/lib/azure/service_bus/rules/rule.rb +0 -97
- data/lib/azure/service_bus/rules/service.rb +0 -122
- data/lib/azure/service_bus/rules/uri.rb +0 -39
- data/lib/azure/service_bus/subscriptions.rb +0 -170
- data/lib/azure/service_bus/subscriptions/service.rb +0 -133
- data/lib/azure/service_bus/subscriptions/subscription.rb +0 -164
- data/lib/azure/service_bus/subscriptions/subscription_serializer.rb +0 -74
- data/lib/azure/service_bus/subscriptions/uri.rb +0 -71
- data/lib/azure/service_bus/topics.rb +0 -120
- data/lib/azure/service_bus/topics/service.rb +0 -98
- data/lib/azure/service_bus/topics/topic.rb +0 -122
- data/lib/azure/service_bus/topics/topic_serializer.rb +0 -44
- data/lib/azure/service_bus/topics/uri.rb +0 -58
- data/lib/azure/service_runtime/client/goal_state_pipe_monitor.rb +0 -21
- data/lib/azure/service_runtime/client/goal_state_protocol.rb +0 -18
- data/lib/azure/service_runtime/client/runtime_client.rb +0 -135
- data/lib/azure/service_runtime/deployment.rb +0 -24
- data/lib/azure/service_runtime/local_resource.rb +0 -15
- data/lib/azure/service_runtime/role.rb +0 -17
- data/lib/azure/service_runtime/role_environment.rb +0 -206
- data/lib/azure/service_runtime/role_environment_change.rb +0 -32
- data/lib/azure/service_runtime/role_instance.rb +0 -35
- data/lib/azure/service_runtime/role_instance_endpoint.rb +0 -14
- data/lib/azure/tables.rb +0 -215
- data/lib/azure/tables/auth/shared_key_lite.rb +0 -30
- data/lib/azure/tables/entities_collection.rb +0 -66
- data/lib/azure/tables/entity.rb +0 -127
- data/lib/azure/tables/service.rb +0 -211
- data/lib/azure/tables/table.rb +0 -129
- data/lib/azure/tables/tables_collection.rb +0 -62
- data/lib/azure/tables/types.rb +0 -65
- data/lib/azure/tables/uri.rb +0 -62
- data/test/integration/blobs/auth_test.rb +0 -19
- data/test/integration/blobs/blob_test.rb +0 -61
- data/test/integration/blobs/clear_page_range_test.rb +0 -19
- data/test/integration/blobs/copy_test.rb +0 -33
- data/test/integration/blobs/create_blobs_test.rb +0 -51
- data/test/integration/blobs/create_container_test.rb +0 -13
- data/test/integration/blobs/create_snapshot_test.rb +0 -17
- data/test/integration/blobs/delete_blob_snapshots_test.rb +0 -19
- data/test/integration/blobs/delete_blobs_test.rb +0 -25
- data/test/integration/blobs/delete_container_test.rb +0 -24
- data/test/integration/blobs/delete_snapshot_test.rb +0 -17
- data/test/integration/blobs/get_blob_snapshot_test.rb +0 -18
- data/test/integration/blobs/get_blobs_test.rb +0 -31
- data/test/integration/blobs/get_page_range_test.rb +0 -19
- data/test/integration/blobs/list_blobs_test.rb +0 -39
- data/test/integration/blobs/list_containers_test.rb +0 -28
- data/test/integration/blobs/manage_blob_leases_test.rb +0 -45
- data/test/integration/blobs/manage_blob_metadata_test.rb +0 -51
- data/test/integration/blobs/manage_blob_properties_test.rb +0 -25
- data/test/integration/blobs/manage_blob_service_properties_test.rb +0 -38
- data/test/integration/blobs/manage_container_metadata_test.rb +0 -46
- data/test/integration/blobs/manage_container_permissions_test.rb +0 -17
- data/test/integration/blobs/update_page_range_test.rb +0 -20
- data/test/integration/queues/clear_messages_test.rb +0 -22
- data/test/integration/queues/create_queue_test.rb +0 -13
- data/test/integration/queues/delete_message_test.rb +0 -42
- data/test/integration/queues/delete_queue_test.rb +0 -24
- data/test/integration/queues/get_messages_test.rb +0 -39
- data/test/integration/queues/list_queues_test.rb +0 -43
- data/test/integration/queues/manage_queue_metadata_test.rb +0 -45
- data/test/integration/queues/manage_queue_service_properties_test.rb +0 -27
- data/test/integration/queues/peek_messages_test.rb +0 -55
- data/test/integration/queues/put_message_test.rb +0 -31
- data/test/integration/queues/update_message_test.rb +0 -46
- data/test/integration/service_bus/auth_test.rb +0 -18
- data/test/integration/service_bus/queues/create_queue_test.rb +0 -25
- data/test/integration/service_bus/queues/delete_message_from_queue_test.rb +0 -29
- data/test/integration/service_bus/queues/delete_queue_test.rb +0 -25
- data/test/integration/service_bus/queues/get_queue_test.rb +0 -23
- data/test/integration/service_bus/queues/list_queues_test.rb +0 -39
- data/test/integration/service_bus/queues/peek_message_from_queue_test.rb +0 -34
- data/test/integration/service_bus/queues/read_and_delete_message_from_queue_test.rb +0 -31
- data/test/integration/service_bus/queues/send_message_to_queue_test.rb +0 -22
- data/test/integration/service_bus/queues/unlock_message_from_queue_test.rb +0 -36
- data/test/integration/service_bus/rules/create_rule_test.rb +0 -19
- data/test/integration/service_bus/rules/delete_rule_test.rb +0 -17
- data/test/integration/service_bus/rules/get_rule_test.rb +0 -21
- data/test/integration/service_bus/rules/list_rules_test.rb +0 -24
- data/test/integration/service_bus/rules/rule_test.rb +0 -16
- data/test/integration/service_bus/subscriptions/create_subscription_test.rb +0 -25
- data/test/integration/service_bus/subscriptions/delete_message_from_subscription_test.rb +0 -31
- data/test/integration/service_bus/subscriptions/delete_subscription_test.rb +0 -30
- data/test/integration/service_bus/subscriptions/fetch_subscription_test.rb +0 -28
- data/test/integration/service_bus/subscriptions/list_subscriptions_test.rb +0 -23
- data/test/integration/service_bus/subscriptions/peek_lock_message_from_subscription_test.rb +0 -42
- data/test/integration/service_bus/subscriptions/read_delete_message_from_subscription_test.rb +0 -36
- data/test/integration/service_bus/subscriptions/subscription_test.rb +0 -31
- data/test/integration/service_bus/subscriptions/unlock_message_from_subscription_test.rb +0 -43
- data/test/integration/service_bus/topics/create_topic_test.rb +0 -25
- data/test/integration/service_bus/topics/delete_topic_test.rb +0 -25
- data/test/integration/service_bus/topics/get_topic_test.rb +0 -23
- data/test/integration/service_bus/topics/list_topics_test.rb +0 -39
- data/test/integration/service_bus/topics/send_message_to_topic_test.rb +0 -23
- data/test/integration/tables/auth_test.rb +0 -29
- data/test/integration/tables/creating_tables_test.rb +0 -16
- data/test/integration/tables/delete_entity_test.rb +0 -39
- data/test/integration/tables/deleting_table_test.rb +0 -22
- data/test/integration/tables/insert_entity_test.rb +0 -23
- data/test/integration/tables/merge_entity_test.rb +0 -28
- data/test/integration/tables/query_entities_test.rb +0 -131
- data/test/integration/tables/query_tables_test.rb +0 -63
- data/test/integration/tables/update_entity_test.rb +0 -54
- data/test/support/blobs.rb +0 -12
- data/test/support/table_names.rb +0 -44
- data/test/unit/atom_test.rb +0 -58
- data/test/unit/auth_test.rb +0 -24
- data/test/unit/blobs/blob_test.rb +0 -5
- data/test/unit/blobs/container_test.rb +0 -67
- data/test/unit/blobs/service_test.rb +0 -17
- data/test/unit/blobs/shared_access_signature_test.rb +0 -66
- data/test/unit/blobs_test.rb +0 -156
- data/test/unit/core/service_test.rb +0 -57
- data/test/unit/core/utils/interval_test.rb +0 -70
- data/test/unit/core/utils/queryable_test.rb +0 -69
- data/test/unit/core/utils/storage_service_properties_test.rb +0 -66
- data/test/unit/error_test.rb +0 -39
- data/test/unit/queues/message_test.rb +0 -40
- data/test/unit/queues/queue_test.rb +0 -64
- data/test/unit/queues/service_properties.rb +0 -35
- data/test/unit/request_test.rb +0 -38
- data/test/unit/response_test.rb +0 -43
- data/test/unit/service_bus/auth/authorizer_test.rb +0 -27
- data/test/unit/service_bus/auth/wrap_token_test.rb +0 -28
- data/test/unit/service_bus/queues/queue_test.rb +0 -38
- data/test/unit/service_bus/topics/topic_test.rb +0 -33
- data/test/unit/service_runtime/data/goalstate.xml +0 -9
- data/test/unit/service_runtime/data/roleenvironmentdata.xml +0 -29
- data/test/unit/service_runtime/data/runtime.xml +0 -6
- data/test/unit/service_runtime/role_environment_test.rb +0 -144
- data/test/unit/tables/auth/shared_key_lite_test.rb +0 -39
- data/test/unit/tables/auth/shared_key_test.rb +0 -45
- data/test/unit/tables/entities_collection_test.rb +0 -39
- data/test/unit/tables/entity_test.rb +0 -72
- data/test/unit/tables/table_test.rb +0 -57
- data/test/unit/tables_test.rb +0 -302
- data/test/unit/types_test.rb +0 -67
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
module Azure
|
|
2
|
-
module Core
|
|
3
|
-
module Utils
|
|
4
|
-
# Convenience module to build query strings.
|
|
5
|
-
module String
|
|
6
|
-
# The following methods have been borrowed (stolen?) from ActiveSupport
|
|
7
|
-
|
|
8
|
-
# By default, +camelize+ converts strings to UpperCamelCase. If the argument to +camelize+
|
|
9
|
-
# is set to <tt>:lower</tt> then +camelize+ produces lowerCamelCase.
|
|
10
|
-
#
|
|
11
|
-
# +camelize+ will also convert '/' to '::' which is useful for converting paths to namespaces.
|
|
12
|
-
#
|
|
13
|
-
# Examples:
|
|
14
|
-
# "active_model".camelize # => "ActiveModel"
|
|
15
|
-
# "active_model".camelize(:lower) # => "activeModel"
|
|
16
|
-
# "active_model/errors".camelize # => "ActiveModel::Errors"
|
|
17
|
-
# "active_model/errors".camelize(:lower) # => "activeModel::Errors"
|
|
18
|
-
#
|
|
19
|
-
# As a rule of thumb you can think of +camelize+ as the inverse of +underscore+,
|
|
20
|
-
# though there are cases where that does not hold:
|
|
21
|
-
#
|
|
22
|
-
# "SSLError".underscore.camelize # => "SslError"
|
|
23
|
-
def camelize(term, uppercase_first_letter = true)
|
|
24
|
-
string = term.to_s
|
|
25
|
-
acronyms = {}
|
|
26
|
-
if uppercase_first_letter
|
|
27
|
-
string = string.sub(/^[a-z\d]*/) { acronyms[$&] || $&.capitalize }
|
|
28
|
-
else
|
|
29
|
-
string = string.sub(/^(?:(?=a)b(?=\b|[A-Z_])|\w)/) { $&.downcase }
|
|
30
|
-
end
|
|
31
|
-
string.gsub(/(?:_|(\/))([a-z\d]*)/i) { "#{$1}#{acronyms[$2] || $2.capitalize}" }.gsub('/', '::')
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
# Makes an underscored, lowercase form from the expression in the string.
|
|
35
|
-
#
|
|
36
|
-
# Changes '::' to '/' to convert namespaces to paths.
|
|
37
|
-
#
|
|
38
|
-
# Examples:
|
|
39
|
-
# "ActiveModel".underscore # => "active_model"
|
|
40
|
-
# "ActiveModel::Errors".underscore # => "active_model/errors"
|
|
41
|
-
#
|
|
42
|
-
# As a rule of thumb you can think of +underscore+ as the inverse of +camelize+,
|
|
43
|
-
# though there are cases where that does not hold:
|
|
44
|
-
#
|
|
45
|
-
# "SSLError".underscore.camelize # => "SslError"
|
|
46
|
-
def underscore(camel_cased_word)
|
|
47
|
-
word = camel_cased_word.to_s.dup
|
|
48
|
-
word.gsub!(/::/, '/')
|
|
49
|
-
word.gsub!(/(?:([A-Za-z\d])|^)((?=a)b)(?=\b|[^a-z])/) { "#{$1}#{$1 && '_'}#{$2.downcase}" }
|
|
50
|
-
word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2')
|
|
51
|
-
word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
|
|
52
|
-
word.tr!("-", "_")
|
|
53
|
-
word.downcase!
|
|
54
|
-
word
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
data/lib/azure/error.rb
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
require "xml"
|
|
2
|
-
|
|
3
|
-
module Azure
|
|
4
|
-
# Public: Superclass for errors generated from this library, so people can
|
|
5
|
-
# just rescue this for generic error handling.
|
|
6
|
-
class Error < StandardError; end
|
|
7
|
-
|
|
8
|
-
# Public: FileUploadError
|
|
9
|
-
class FileUploadError < ::Azure::Error; end
|
|
10
|
-
|
|
11
|
-
# Public: Class for handling all HTTP response errors.
|
|
12
|
-
class HTTPError < ::Azure::Error
|
|
13
|
-
# Public: The HTTP status code of this error.
|
|
14
|
-
#
|
|
15
|
-
# Returns a Fixnum.
|
|
16
|
-
attr :code
|
|
17
|
-
|
|
18
|
-
# Public: The type of error, as described by the Azure documentation.
|
|
19
|
-
#
|
|
20
|
-
# Returns a String.
|
|
21
|
-
attr :type
|
|
22
|
-
|
|
23
|
-
# Public: The English description of this error.
|
|
24
|
-
#
|
|
25
|
-
# Returns a String.
|
|
26
|
-
attr :description
|
|
27
|
-
|
|
28
|
-
# Public: Initialize an error.
|
|
29
|
-
#
|
|
30
|
-
# http_response - An Azure::Response.
|
|
31
|
-
def initialize(http_response)
|
|
32
|
-
@http_response = http_response
|
|
33
|
-
@code = http_response.code
|
|
34
|
-
parse_response
|
|
35
|
-
super("#{type} (#{code}): #{description}")
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
# Extract the relevant information from the response's body. If the response
|
|
39
|
-
# body is not an XML, we return an 'Unknown' error with the entire body as
|
|
40
|
-
# the description.
|
|
41
|
-
#
|
|
42
|
-
# Returns nothing.
|
|
43
|
-
def parse_response
|
|
44
|
-
if @http_response.body.include?("<")
|
|
45
|
-
document = XML::Parser.string(@http_response.body).parse
|
|
46
|
-
|
|
47
|
-
# FIXME: For some reason document.find_first("code") (or "//code", etc.)
|
|
48
|
-
# and document.find_first("message") return nil, while this works. It
|
|
49
|
-
# makes no sense that this works and that doesn't. Oh well.
|
|
50
|
-
document.root.children.each do |child|
|
|
51
|
-
@type = child.content if child.name == "code"
|
|
52
|
-
@description = child.content if child.name == "message"
|
|
53
|
-
end
|
|
54
|
-
else
|
|
55
|
-
@type = "Unknown"
|
|
56
|
-
@description = @http_response.body.strip
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
# Public: Mixin that gives a few convenience methods for handling errors in
|
|
62
|
-
# domain objects.
|
|
63
|
-
module ErrorHandler
|
|
64
|
-
# Public: Get/Set the current error in this object.
|
|
65
|
-
attr_accessor :error
|
|
66
|
-
|
|
67
|
-
# Public: Check if this object doesn't have any errors.
|
|
68
|
-
def valid?
|
|
69
|
-
error.nil?
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
end
|
data/lib/azure/queues.rb
DELETED
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
require "nokogiri"
|
|
2
|
-
require "azure/queues/service"
|
|
3
|
-
require "azure/queues/queue"
|
|
4
|
-
require "azure/queues/message"
|
|
5
|
-
require "azure/queues/service_properties"
|
|
6
|
-
require "azure/queues/uri"
|
|
7
|
-
|
|
8
|
-
module Azure
|
|
9
|
-
module Queues
|
|
10
|
-
# Public: This operation gets the properties of a storage account’s Queue Service.
|
|
11
|
-
# If the operation is unsuccessful the resulting object will have the error
|
|
12
|
-
# accessible through the #error method.
|
|
13
|
-
#
|
|
14
|
-
# options - Options for this query (default: {}):
|
|
15
|
-
# :timeout - (optional) timeout for the request in seconds
|
|
16
|
-
# service - The backend service to implement this (optional).
|
|
17
|
-
#
|
|
18
|
-
# Returns an Azure::Queues::ServiceProperties object
|
|
19
|
-
def self.get_service_properties(options = {}, service=Azure::Queues::Services::GetServiceProperties.new)
|
|
20
|
-
response = service.call(options)
|
|
21
|
-
|
|
22
|
-
if response.success?
|
|
23
|
-
result = Nokogiri::XML(response.body)
|
|
24
|
-
node = result.xpath('//StorageServiceProperties').first
|
|
25
|
-
ServiceProperties.from_node(node)
|
|
26
|
-
else
|
|
27
|
-
ServiceProperties.from_error(response.error)
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
# Public: This operation sets the properties of a storage account’s Queue Service.
|
|
32
|
-
# If the operation is unsuccessful the resulting object will have the error
|
|
33
|
-
# accessible through the #error method.
|
|
34
|
-
#
|
|
35
|
-
# properties - an Azure::Queues::ServiceProperties object
|
|
36
|
-
# options - Options for this query (default: {}):
|
|
37
|
-
# :timeout - (optional) timeout for the request in seconds
|
|
38
|
-
# service - The backend service to implement this (optional).
|
|
39
|
-
#
|
|
40
|
-
# Returns an Azure::Queues::ServiceProperties object
|
|
41
|
-
def self.set_service_properties(properties, options = {}, service=Azure::Queues::Services::SetServiceProperties.new)
|
|
42
|
-
response = service.call(properties, options)
|
|
43
|
-
properties.error = response.error unless response.success?
|
|
44
|
-
response.success?
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
# Public: This operation lists all of the queues in a given storage account.
|
|
48
|
-
# GET http://myaccount.queue.core.windows.net?comp=list
|
|
49
|
-
#
|
|
50
|
-
# options - Options for this query (default: {}):
|
|
51
|
-
# :prefix - Filters the results to return only queues with names that begin with the specified prefix.
|
|
52
|
-
# :marker - A string value that identifies the portion of the list to be returned with the next list operation.
|
|
53
|
-
# :maxresults - Specifies the maximum number of queues to return
|
|
54
|
-
# :include_metadata - Include this parameter to specify that the container's metadata be returned as part of the response body.
|
|
55
|
-
# service - The backend service to implement this (optional).
|
|
56
|
-
#
|
|
57
|
-
# Returns an Array of Query elements.
|
|
58
|
-
def self.all(options = {}, service=Azure::Queues::Services::ListQueues.new)
|
|
59
|
-
response = service.call(options)
|
|
60
|
-
|
|
61
|
-
if response.success?
|
|
62
|
-
result = Nokogiri::XML(response.body)
|
|
63
|
-
result.xpath('//Queues/Queue').map {|node| Queue.from_node(node) }
|
|
64
|
-
else
|
|
65
|
-
[]
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
# Public: Try to create a new queue. If the operation is unsuccessful,
|
|
70
|
-
# the resulting Queue object will have the error accessible through the
|
|
71
|
-
# #error method.
|
|
72
|
-
#
|
|
73
|
-
# name - The name of the container.
|
|
74
|
-
# metadata - User defined metadata for this container (optional).
|
|
75
|
-
# service - The backend service to implement this (optional).
|
|
76
|
-
#
|
|
77
|
-
# Returns a Queue.
|
|
78
|
-
def self.create(name, metadata={}, service=Azure::Queues::Services::CreateQueue.new)
|
|
79
|
-
response = service.call(name, metadata)
|
|
80
|
-
|
|
81
|
-
if response.success?
|
|
82
|
-
Queue.new(name)
|
|
83
|
-
else
|
|
84
|
-
Queue.from_error(response.error)
|
|
85
|
-
end
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
# Public: Delete a Queue from the server. If the delete operation fails,
|
|
89
|
-
# the queue is invalidated. Otherwise it's frozen.
|
|
90
|
-
#
|
|
91
|
-
# queue - An Azure::Queues::Queue.
|
|
92
|
-
# service - The backend service to implement this (optional).
|
|
93
|
-
#
|
|
94
|
-
# Returns true|false to indicate success.
|
|
95
|
-
def self.delete(queue, service=Azure::Queues::Services::DeleteQueue.new)
|
|
96
|
-
response = service.call(queue.name)
|
|
97
|
-
|
|
98
|
-
if response.success?
|
|
99
|
-
queue.freeze
|
|
100
|
-
else
|
|
101
|
-
queue.error = response.error
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
response.success?
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
# Public: Obtain the queue metadata. This updates the queue and
|
|
108
|
-
# changes the metadata internally if successful. If the operation fails, the
|
|
109
|
-
# queue's metadata does not change, and the queue is invalidated.
|
|
110
|
-
#
|
|
111
|
-
# queue - An Azure::Queues::Queue.
|
|
112
|
-
# service - The backend service to implement this (optional).
|
|
113
|
-
#
|
|
114
|
-
# Returns a Hash.
|
|
115
|
-
def self.load_metadata(queue, service=Azure::Queues::Services::GetMetadata.new)
|
|
116
|
-
response = service.call(queue.name)
|
|
117
|
-
|
|
118
|
-
if response.success?
|
|
119
|
-
queue.extract_metadata(response.headers)
|
|
120
|
-
else
|
|
121
|
-
queue.error = response.error
|
|
122
|
-
{}
|
|
123
|
-
end
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
# Public: Save the current metadata of a queue in the storage service.
|
|
127
|
-
# If the operation fails, the queue is invalidated.
|
|
128
|
-
#
|
|
129
|
-
# queue - An Azure::Queues::Queue.
|
|
130
|
-
# service - The backend service to implement this (optional).
|
|
131
|
-
#
|
|
132
|
-
# Returns true|false to indicate success.
|
|
133
|
-
def self.save_metadata(queue, service=Azure::Queues::Services::SetMetadata.new)
|
|
134
|
-
response = service.call(queue.name, queue.metadata)
|
|
135
|
-
queue.error = response.error unless response.success?
|
|
136
|
-
response.success?
|
|
137
|
-
end
|
|
138
|
-
|
|
139
|
-
## MESSAGES
|
|
140
|
-
|
|
141
|
-
# Public: Try to add a new message to the back of the message queue. If the
|
|
142
|
-
# operation is unsuccessful, the message is invalidated.
|
|
143
|
-
#
|
|
144
|
-
# queue - An Azure::Queues::Queue.
|
|
145
|
-
# message - An Azure::Queues::Message.
|
|
146
|
-
# options - A Hash of options for this operation.
|
|
147
|
-
# :visibilitytimeout - Time in seconds until the message becomes
|
|
148
|
-
# visible in the queue (default: 0).
|
|
149
|
-
# :messagettl - Time-to-live interval for the message in
|
|
150
|
-
# seconds. Can go up to 7 days (the
|
|
151
|
-
# default).
|
|
152
|
-
# service - The backend service to implement this (optional).
|
|
153
|
-
#
|
|
154
|
-
# Returns the message.
|
|
155
|
-
def self.put_message(queue, message, options = {}, service=Azure::Queues::Services::PutMessage.new)
|
|
156
|
-
response = service.call(queue.name, message.text, options)
|
|
157
|
-
|
|
158
|
-
if response.success?
|
|
159
|
-
message.queue = queue
|
|
160
|
-
else
|
|
161
|
-
message.error = response.error
|
|
162
|
-
end
|
|
163
|
-
|
|
164
|
-
message
|
|
165
|
-
end
|
|
166
|
-
|
|
167
|
-
# Public: Get one or more messages from the front of the queue.
|
|
168
|
-
#
|
|
169
|
-
# FIXME: Handle errors.
|
|
170
|
-
#
|
|
171
|
-
# queue - An Azure::Queues::Queue.
|
|
172
|
-
# options - A Hash of options for this operation (optional):
|
|
173
|
-
# :visibilitytimeout - Update the returned messages'
|
|
174
|
-
# visibilitytimeout to this number (at least
|
|
175
|
-
# 1, the default).
|
|
176
|
-
# :numofmessages - A number between 1 and 32 of messages to
|
|
177
|
-
# return (default: 1).
|
|
178
|
-
# service - The backend service to implement this (optional).
|
|
179
|
-
#
|
|
180
|
-
# Returns an Array of Messages.
|
|
181
|
-
def self.get_messages(queue, options = {}, service = Azure::Queues::Services::GetMessages.new)
|
|
182
|
-
response = service.call(queue.name, options)
|
|
183
|
-
|
|
184
|
-
# FIXME: need error handling
|
|
185
|
-
document = Nokogiri::XML(response.body)
|
|
186
|
-
(document / "//QueueMessagesList/QueueMessage").map do |node|
|
|
187
|
-
Message.from_node(node) { |m| m.queue = queue }
|
|
188
|
-
end
|
|
189
|
-
end
|
|
190
|
-
|
|
191
|
-
# Public: Peek at one or more messages from the front of the queue.
|
|
192
|
-
#
|
|
193
|
-
# queue - The message queue
|
|
194
|
-
# options - A Hash of options for this operation (optional):
|
|
195
|
-
# :numofmessages - A number between 1 and 32 of messages to return
|
|
196
|
-
# (default: 1).
|
|
197
|
-
# service - The backend service to implement this (optional).
|
|
198
|
-
#
|
|
199
|
-
# Returns an Array of Messages.
|
|
200
|
-
def self.peek_messages(queue, options = {}, service = Azure::Queues::Services::PeekMessages.new)
|
|
201
|
-
response = service.call(queue.name, options)
|
|
202
|
-
|
|
203
|
-
# FIXME: need error handling
|
|
204
|
-
document = Nokogiri::XML(response.body)
|
|
205
|
-
(document / "//QueueMessagesList/QueueMessage").map do |node|
|
|
206
|
-
Message.from_node(node) { |m| m.queue = queue }
|
|
207
|
-
end
|
|
208
|
-
end
|
|
209
|
-
|
|
210
|
-
# Public: Delete the specified message from the queue. If the operation
|
|
211
|
-
# fails, the message is invalidated.
|
|
212
|
-
#
|
|
213
|
-
# message - An Azure::Queues::Message.
|
|
214
|
-
# service - The backend service to implement this (optional).
|
|
215
|
-
#
|
|
216
|
-
# Returns true|false to indicate success.
|
|
217
|
-
def self.delete_message(message, service = Azure::Queues::Services::DeleteMessage.new)
|
|
218
|
-
response = service.call(
|
|
219
|
-
message.queue.name,
|
|
220
|
-
message.id,
|
|
221
|
-
message.pop_receipt
|
|
222
|
-
)
|
|
223
|
-
|
|
224
|
-
if response.success?
|
|
225
|
-
message.freeze
|
|
226
|
-
else
|
|
227
|
-
message.error = response.error
|
|
228
|
-
end
|
|
229
|
-
|
|
230
|
-
response.success?
|
|
231
|
-
end
|
|
232
|
-
|
|
233
|
-
# Public: Delete all messages from the queue. If the operation fails, the
|
|
234
|
-
# queue is invalidated.
|
|
235
|
-
#
|
|
236
|
-
# queue - The message queue.
|
|
237
|
-
# service - The backend service to implement this (optional).
|
|
238
|
-
#
|
|
239
|
-
# Returns true|false to indicate success.
|
|
240
|
-
def self.clear_messages(queue, service = Azure::Queues::Services::ClearMessages.new)
|
|
241
|
-
response = service.call(queue.name)
|
|
242
|
-
queue.error = response.error unless response.success?
|
|
243
|
-
response.success?
|
|
244
|
-
end
|
|
245
|
-
|
|
246
|
-
# Public: Update the specified message. If the operation fails, the message
|
|
247
|
-
# is invalidated.
|
|
248
|
-
#
|
|
249
|
-
# message - An Azure::Queues::Message.
|
|
250
|
-
# service - The backend service to implement this (optional).
|
|
251
|
-
#
|
|
252
|
-
# Returns true|false to indicate success.
|
|
253
|
-
def self.update_message(message, service=Azure::Queues::Services::UpdateMessage.new)
|
|
254
|
-
response = service.call(
|
|
255
|
-
message.queue.name,
|
|
256
|
-
message.id,
|
|
257
|
-
message.text,
|
|
258
|
-
message.visibility_timeout,
|
|
259
|
-
message.pop_receipt
|
|
260
|
-
)
|
|
261
|
-
|
|
262
|
-
if response.success?
|
|
263
|
-
message.time_next_visible = response.headers['x-ms-time-next-visible']
|
|
264
|
-
message.pop_receipt = response.headers['x-ms-popreceipt']
|
|
265
|
-
else
|
|
266
|
-
message.error = response.error
|
|
267
|
-
end
|
|
268
|
-
|
|
269
|
-
response.success?
|
|
270
|
-
end
|
|
271
|
-
end
|
|
272
|
-
end
|
data/lib/azure/queues/message.rb
DELETED
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
require "azure/queues"
|
|
2
|
-
require "azure/queues/uri"
|
|
3
|
-
require "azure/error"
|
|
4
|
-
require "uri"
|
|
5
|
-
require "time"
|
|
6
|
-
|
|
7
|
-
module Azure
|
|
8
|
-
module Queues
|
|
9
|
-
# Public: Representation of a Message in a message queue.
|
|
10
|
-
class Message
|
|
11
|
-
include Azure::ErrorHandler
|
|
12
|
-
|
|
13
|
-
# The message queue for this message
|
|
14
|
-
#
|
|
15
|
-
# Returns a Azure::Queues::Queue object
|
|
16
|
-
attr_accessor :queue
|
|
17
|
-
|
|
18
|
-
# MessageId
|
|
19
|
-
# GUID value that identifies the message in the queue
|
|
20
|
-
#
|
|
21
|
-
# returns a String
|
|
22
|
-
attr_accessor :id
|
|
23
|
-
|
|
24
|
-
# InsertionTime
|
|
25
|
-
# UTC value formatted as described in RFC 1123
|
|
26
|
-
#
|
|
27
|
-
# Returns a String
|
|
28
|
-
attr_accessor :insertion_time
|
|
29
|
-
|
|
30
|
-
# ExpirationTime
|
|
31
|
-
# UTC value formatted as described in RFC 1123
|
|
32
|
-
#
|
|
33
|
-
# Returns a String
|
|
34
|
-
attr_accessor :expiration_time
|
|
35
|
-
|
|
36
|
-
# TimeNextVisible
|
|
37
|
-
# UTC value formatted as described in RFC 1123
|
|
38
|
-
#
|
|
39
|
-
# Returns a String
|
|
40
|
-
attr_accessor :time_next_visible
|
|
41
|
-
|
|
42
|
-
# PopReceipt
|
|
43
|
-
#
|
|
44
|
-
# Returns a String
|
|
45
|
-
attr_accessor :pop_receipt
|
|
46
|
-
|
|
47
|
-
# DequeueCount
|
|
48
|
-
# Has a value of 1 the first time the message is dequeued. This value is incremented each time the message is subsequently dequeued.
|
|
49
|
-
#
|
|
50
|
-
# Returns an Integer
|
|
51
|
-
attr_accessor :dequeue_count
|
|
52
|
-
|
|
53
|
-
# MessageText
|
|
54
|
-
#
|
|
55
|
-
# Returns a String
|
|
56
|
-
attr_accessor :text
|
|
57
|
-
|
|
58
|
-
# Amount of time in seconds the message remains invisible for GET
|
|
59
|
-
# operations.
|
|
60
|
-
#
|
|
61
|
-
# Returns an Integer.
|
|
62
|
-
attr_accessor :visibility_timeout
|
|
63
|
-
|
|
64
|
-
# Amount of seconds until this message expires.
|
|
65
|
-
#
|
|
66
|
-
# Returns an Integer.
|
|
67
|
-
attr_accessor :ttl
|
|
68
|
-
|
|
69
|
-
# Public: Instantiate a message from an XML entry.
|
|
70
|
-
#
|
|
71
|
-
# entry - An XML::Node element.
|
|
72
|
-
#
|
|
73
|
-
# Returns a Message.
|
|
74
|
-
def self.from_node(node)
|
|
75
|
-
pop_receipt = (node % "PopReceipt")
|
|
76
|
-
time_next_visible = (node % "TimeNextVisible")
|
|
77
|
-
text = (node % "MessageText").text
|
|
78
|
-
|
|
79
|
-
new(text) do |m|
|
|
80
|
-
m.id = (node % "MessageId").text
|
|
81
|
-
m.insertion_time = Time.parse((node % "InsertionTime").text)
|
|
82
|
-
m.expiration_time = Time.parse((node % "ExpirationTime").text)
|
|
83
|
-
m.dequeue_count = (node % "DequeueCount").text.to_i
|
|
84
|
-
m.pop_receipt = pop_receipt && pop_receipt.text
|
|
85
|
-
m.time_next_visible = time_next_visible && Time.parse(time_next_visible.text)
|
|
86
|
-
yield m if block_given?
|
|
87
|
-
end
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
# Public: Instantiate a message from an error object.
|
|
91
|
-
#
|
|
92
|
-
# error - An Azure::Error.
|
|
93
|
-
#
|
|
94
|
-
# Returns a Message.
|
|
95
|
-
def self.from_error(error)
|
|
96
|
-
message = new(nil)
|
|
97
|
-
message.error = error
|
|
98
|
-
message
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
# Public: Attempt to convert an object into a Message. If the object can't
|
|
102
|
-
# be converted, we return nil.
|
|
103
|
-
#
|
|
104
|
-
# object - An object that might be converted into a Message.
|
|
105
|
-
#
|
|
106
|
-
# Returns a Message or nil.
|
|
107
|
-
def self.try_convert(object)
|
|
108
|
-
if object.respond_to?(:to_message)
|
|
109
|
-
object.to_message
|
|
110
|
-
elsif object.respond_to?(:to_str)
|
|
111
|
-
new(object.to_str)
|
|
112
|
-
end
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
# Public: Initialize the message.
|
|
116
|
-
#
|
|
117
|
-
# text - The message text
|
|
118
|
-
# service - The Queue service to perform external calls.
|
|
119
|
-
def initialize(text, service=Azure::Queues)
|
|
120
|
-
@text = text
|
|
121
|
-
@visibility_timeout = 0
|
|
122
|
-
@ttl = 7 * 24 * 3600 # one week
|
|
123
|
-
@service = service
|
|
124
|
-
yield self if block_given?
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
# Public: Compare two messages to see if they are the same.
|
|
128
|
-
#
|
|
129
|
-
# other - A Message.
|
|
130
|
-
#
|
|
131
|
-
# Returns true|false.
|
|
132
|
-
def ==(other)
|
|
133
|
-
id == other.id
|
|
134
|
-
end
|
|
135
|
-
|
|
136
|
-
# Public: Deletes this message from the message queue.
|
|
137
|
-
#
|
|
138
|
-
# Returns true|false to indicate success.
|
|
139
|
-
def delete
|
|
140
|
-
@service.delete_message(self)
|
|
141
|
-
end
|
|
142
|
-
|
|
143
|
-
# Public: Updates this message with a new visibility timeout and new text
|
|
144
|
-
# if modified.
|
|
145
|
-
#
|
|
146
|
-
# Returns true|false to indicate success.
|
|
147
|
-
def update!
|
|
148
|
-
@service.update_message(self)
|
|
149
|
-
end
|
|
150
|
-
|
|
151
|
-
# Public: Turn this object into an Azure::Queues::Message. This is here
|
|
152
|
-
# just so we can use Message.try_convert and Message().
|
|
153
|
-
#
|
|
154
|
-
# Returns self.
|
|
155
|
-
def to_message
|
|
156
|
-
self
|
|
157
|
-
end
|
|
158
|
-
end
|
|
159
|
-
|
|
160
|
-
module ::Kernel
|
|
161
|
-
# Attempt to convert an object into a Message, or fail if the conversion
|
|
162
|
-
# can't be done.
|
|
163
|
-
#
|
|
164
|
-
# object - An object that might be converted into a message.
|
|
165
|
-
#
|
|
166
|
-
# Returns a Message.
|
|
167
|
-
# Raises ArgumentError if the object can't be converted into a Message.
|
|
168
|
-
def Message(object)
|
|
169
|
-
Message.try_convert(object) ||
|
|
170
|
-
raise(ArgumentError, "invalid value for Message(): #{object.inspect}")
|
|
171
|
-
end
|
|
172
|
-
end
|
|
173
|
-
end
|
|
174
|
-
end
|