ahisazurequeue 1.0.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/lib/ahis_azure_queue.rb +73 -0
- metadata +44 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f472278c57f365ced22510a8c21385334975d62b
|
4
|
+
data.tar.gz: ae29318ea1a96905b7576767c95535e6adc02882
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b1febf9d2b1ce7cc176300353bbdd8a7827406aff866fc89c192bb8bc6bade2c0b0ed0e30d8b6a422419489f8cdeed9db66c9bf2bc0fd94bd5d00238603084f2
|
7
|
+
data.tar.gz: dcde6487bdb8e1f16b9f9fca988f36304b212e90a20c7dd1be8a5f44d0bfbb7b24bb3d975ed35213177bac58b2f2e1d794fb103d203228f3edbc8d0e31ddb739
|
@@ -0,0 +1,73 @@
|
|
1
|
+
#This is for building the AhisAzureQueue using Azure Storage Queue
|
2
|
+
|
3
|
+
require "azure"
|
4
|
+
|
5
|
+
class AhisAzureQueue
|
6
|
+
##azure_queue_service class instace for accessing through out the class
|
7
|
+
@@azure_queue_service
|
8
|
+
|
9
|
+
##Initialize of azure Queue Service
|
10
|
+
def initialize
|
11
|
+
@@azure_queue_service = Azure::QueueService.new
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.create
|
15
|
+
AhisAzureQueue.new
|
16
|
+
end
|
17
|
+
|
18
|
+
##For deleting queue from Azure Storage
|
19
|
+
def self.delete_queue(queue_name)
|
20
|
+
@@azure_queue_service.delete_queue(queue_name)
|
21
|
+
end
|
22
|
+
|
23
|
+
##For creating queue if not already exists from Azure Storage
|
24
|
+
def self.create_a_queue(queue_name)
|
25
|
+
|
26
|
+
queues_to_be_created = Array.new
|
27
|
+
existing_queues = @@azure_queue_service.list_queues()
|
28
|
+
|
29
|
+
existing_queues.each do |q|
|
30
|
+
queues_to_be_created << q.name
|
31
|
+
end
|
32
|
+
|
33
|
+
if queues_to_be_created.include? queue_name
|
34
|
+
#no need to execute
|
35
|
+
else
|
36
|
+
#else create a new queue
|
37
|
+
@@azure_queue_service.create_queue(queue_name)
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
##this method will send instrution to the Azure Queue
|
43
|
+
def self.send_instruction(queue_name,instruct)
|
44
|
+
@@azure_queue_service.create_message(queue_name, instruct)
|
45
|
+
end
|
46
|
+
|
47
|
+
##this method will read instrution to the Azure Queue
|
48
|
+
def self.read_instruction(queue_name)
|
49
|
+
instruction_array=[]
|
50
|
+
message_count, metadata = @@azure_queue_service.get_queue_metadata(queue_name)
|
51
|
+
puts message_count
|
52
|
+
while message_count!=0 do
|
53
|
+
messages = @@azure_queue_service.list_messages(queue_name,30)
|
54
|
+
messages.each do |m|
|
55
|
+
puts m.message_text
|
56
|
+
instruction_array<<m.message_text
|
57
|
+
@@azure_queue_service.delete_message(queue_name,m.id, m.pop_receipt)
|
58
|
+
message_count=message_count-1
|
59
|
+
end
|
60
|
+
end
|
61
|
+
return instruction_array
|
62
|
+
end
|
63
|
+
|
64
|
+
##this method will configure Azure Storage Queue
|
65
|
+
def self.config_access_azure_storage(storage_account_name,storage_access_key)
|
66
|
+
Azure.config.storage_account_name = storage_account_name
|
67
|
+
Azure.config.storage_access_key = storage_access_key
|
68
|
+
end
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
end
|
metadata
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ahisazurequeue
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Rohan Kore
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-04-18 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: please visit www.rohanskore.in for more information
|
14
|
+
email: rohanskore@gmail.com
|
15
|
+
executables: []
|
16
|
+
extensions: []
|
17
|
+
extra_rdoc_files: []
|
18
|
+
files:
|
19
|
+
- lib/ahis_azure_queue.rb
|
20
|
+
homepage: http://rubygems.org/gems/ahisazurequeue
|
21
|
+
licenses: []
|
22
|
+
metadata: {}
|
23
|
+
post_install_message:
|
24
|
+
rdoc_options: []
|
25
|
+
require_paths:
|
26
|
+
- lib
|
27
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
29
|
+
- - ">="
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: '0'
|
32
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '0'
|
37
|
+
requirements: []
|
38
|
+
rubyforge_project:
|
39
|
+
rubygems_version: 2.2.2
|
40
|
+
signing_key:
|
41
|
+
specification_version: 4
|
42
|
+
summary: AHIS is Autonaumous Home Intelligent System uses Azure Queue for the instruction
|
43
|
+
mapping from Cloud Server to Home Server
|
44
|
+
test_files: []
|