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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/ahis_azure_queue.rb +73 -0
  3. metadata +44 -0
@@ -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: []