ahisazurequeue 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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: []