estorm-message-processor 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +28 -2
  3. data/lib/estorm-message-processor/client.rb +28 -0
  4. data/test/coverage/assets/0.7.1/application.css +1110 -0
  5. data/test/coverage/assets/0.7.1/application.js +626 -0
  6. data/test/coverage/assets/0.7.1/fancybox/blank.gif +0 -0
  7. data/test/coverage/assets/0.7.1/fancybox/fancy_close.png +0 -0
  8. data/test/coverage/assets/0.7.1/fancybox/fancy_loading.png +0 -0
  9. data/test/coverage/assets/0.7.1/fancybox/fancy_nav_left.png +0 -0
  10. data/test/coverage/assets/0.7.1/fancybox/fancy_nav_right.png +0 -0
  11. data/test/coverage/assets/0.7.1/fancybox/fancy_shadow_e.png +0 -0
  12. data/test/coverage/assets/0.7.1/fancybox/fancy_shadow_n.png +0 -0
  13. data/test/coverage/assets/0.7.1/fancybox/fancy_shadow_ne.png +0 -0
  14. data/test/coverage/assets/0.7.1/fancybox/fancy_shadow_nw.png +0 -0
  15. data/test/coverage/assets/0.7.1/fancybox/fancy_shadow_s.png +0 -0
  16. data/test/coverage/assets/0.7.1/fancybox/fancy_shadow_se.png +0 -0
  17. data/test/coverage/assets/0.7.1/fancybox/fancy_shadow_sw.png +0 -0
  18. data/test/coverage/assets/0.7.1/fancybox/fancy_shadow_w.png +0 -0
  19. data/test/coverage/assets/0.7.1/fancybox/fancy_title_left.png +0 -0
  20. data/test/coverage/assets/0.7.1/fancybox/fancy_title_main.png +0 -0
  21. data/test/coverage/assets/0.7.1/fancybox/fancy_title_over.png +0 -0
  22. data/test/coverage/assets/0.7.1/fancybox/fancy_title_right.png +0 -0
  23. data/test/coverage/assets/0.7.1/fancybox/fancybox-x.png +0 -0
  24. data/test/coverage/assets/0.7.1/fancybox/fancybox-y.png +0 -0
  25. data/test/coverage/assets/0.7.1/fancybox/fancybox.png +0 -0
  26. data/test/coverage/assets/0.7.1/favicon_green.png +0 -0
  27. data/test/coverage/assets/0.7.1/favicon_red.png +0 -0
  28. data/test/coverage/assets/0.7.1/favicon_yellow.png +0 -0
  29. data/test/coverage/assets/0.7.1/loading.gif +0 -0
  30. data/test/coverage/assets/0.7.1/magnify.png +0 -0
  31. data/test/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  32. data/test/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  33. data/test/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  34. data/test/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  35. data/test/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  36. data/test/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  37. data/test/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  38. data/test/coverage/assets/0.7.1/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  39. data/test/coverage/assets/0.7.1/smoothness/images/ui-icons_222222_256x240.png +0 -0
  40. data/test/coverage/assets/0.7.1/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  41. data/test/coverage/assets/0.7.1/smoothness/images/ui-icons_454545_256x240.png +0 -0
  42. data/test/coverage/assets/0.7.1/smoothness/images/ui-icons_888888_256x240.png +0 -0
  43. data/test/coverage/assets/0.7.1/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  44. data/test/coverage/index.html +72 -0
  45. data/test/test_estorm.rb +6 -13
  46. metadata +44 -2
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- Y2JjZmEzMTNjNTY5MTk1YmEzOTZlMWFkNjE0OGNiODdiMThiODMwOQ==
4
+ YzYxYTU0YWFjNDRmNWJjOWZjZWMzYWViZjI0ZmMxZjQ5ZmYwMWQyOQ==
5
5
  data.tar.gz: !binary |-
6
- NzdkOTI1MTk0NzlmOWQzYTg5NDA3NjFhOTcwNmU5MTkyMDVlMTM5OA==
6
+ MTQzOWRhMTAxNDRiYzkzMDdmMzU1MmRjMDFjNWM2NzQzODBjZGNkMg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- ZmU5MGFkODE2NzFhMWUyMTgyZTdkMmMyMjIzMDAzNWMyMzMyOTQyNWI3NWY2
10
- NjI1MjE5NjVlYmIxZDAxMWE3YjZiN2M1NDEzNjQ3MzllOWZhY2ZjMWNjZWEz
11
- ODJlYWRmNDRkMjA2YzQ1ZGYzNWEzY2JjMjdjM2MxMGJkYzM3YmU=
9
+ Nzg3YzQwNjM3OTQ2YzE1YTY4YmZjMDRhZTI1YTI3Y2M3MzliYjNkOTA0ODky
10
+ NGJjNDIwYTRiNWEyY2Y3ZTQ3ZjBlZjE3MDRjMjAyZDI5YmRkMzliYmExMzc3
11
+ ZDkwYWJhMGE1MTc5MDM4MWU3ZDk0MmYwNTQ1MzZjMjM5MDRlNDY=
12
12
  data.tar.gz: !binary |-
13
- YjQyYjMyZjc2YmQwNTE5MzYxZDgzMjUzOTVmNGY3YmQ0NWZhNDExZDhmMDA2
14
- YjdmNmRhYzQxYjI1ZmQ1YTE1ZjUzMDhkMzk2MjE2ZGVmOTViNzczYTRkNGVh
15
- ZWUxOThhMmI5NGE4NDE0N2QzM2QzMDViYzE3NGQ2YTA1Y2VmZDI=
13
+ ZTAyODY5MTFhYmY4NTc5OGQyOGYxOGRkNDhmZjVlOGY3ZmFkZWQ2MDhhY2Mz
14
+ YWFiM2ViY2IyYTBkMjNjZGIzMjM4Y2Q1Nzk0Mjk4N2E0NzRiYjMwNjU0ODQ1
15
+ ZGU0OTU5YjhmMTc3YjQ4YTY0YjhjODAyYmIxYzFlZDgzNTk5Yzc=
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
- [![Build Status](https://travis-ci.org/semdinsp/randprize.png)](https://travis-ci.org/semdinsp/randprize)
2
- [![Code Climate](https://codeclimate.com/repos/524654d9c7f3a31b29038e3a/badges/58ed8386e3e6d266c7ac/gpa.png)](https://codeclimate.com/repos/524654d9c7f3a31b29038e3a/feed)
1
+ [![Build Status](https://travis-ci.org/semdinsp/estorm-message-processor.png)](https://travis-ci.org/semdinsp/estorm-message-processor)
2
+ [![Code Climate](https://codeclimate.com/repos/5258c4167e00a42fef002879/badges/da46d720691ea2bae63a/gpa.png)](https://codeclimate.com/repos/5258c4167e00a42fef002879/feed)
3
3
  [![Gem Version](https://badge.fury.io/rb/estorm-message-processor.png)](http://badge.fury.io/rb/estorm-message-processor)
4
4
 
5
5
  estorm-message-processor gem
@@ -11,3 +11,29 @@ Simple gem to use in rails apps for AMQP inclusiong. Send a hash via AMQP and th
11
11
  Usage
12
12
  =======
13
13
 
14
+ pull in the normal files for ruby. Everytime a message is received with 'command' => "sendtemplates" delegate to that callback So add more delete_routings and you will be able to handle multiple commands
15
+
16
+ ## Setup delegate processor
17
+ This is the callback processor
18
+
19
+ class EstormMessageProcessor::Base
20
+ def delegate_sendtemplates(cmdhash)
21
+ p=Promotion.find(cmdhash['promotion'].to_i)
22
+ data=YAML.load(p.data)
23
+ data.each { |entry|
24
+ cc=CustomerContact.create_and_send_template(entry['email'],entry,p.configuration_setting,p) if entry!=nil and entry['email']!=nil }
25
+ end
26
+ end
27
+
28
+ # Start the Message Processor
29
+ begin
30
+ config={:url => AMQPURL,:connecturlflag=> Rails.env.production? ,:queuename => CONTACT_MESSAGE, :blocking => true}
31
+ #puts "Starting SMS Gateway. Please check the log at #{LOGFILE}"
32
+ EstormMessageProcessor::Base.logger=Logger.new(STDOUT)
33
+ puts "Starting Bunny Contact Processor on #{config.inspect} "
34
+ mp = EstormMessageProcessor::Base.new
35
+ mp.start(config)
36
+ rescue Exception => ex
37
+ puts "Exception in Message Processor: #{ex} at #{ex.backtrace.join("\n")}"
38
+ end
39
+
@@ -0,0 +1,28 @@
1
+ require 'rubygems'
2
+ require 'bunny'
3
+ require 'yaml'
4
+
5
+ module EstormMessageProcessor
6
+ class Client
7
+ def setup_bunny(url,flag)
8
+ #maybe save this as global to speed it up.
9
+ begin
10
+ @conn = Bunny.new(url) if flag
11
+ @conn = Bunny.new if !flag
12
+ @conn.start
13
+ rescue Bunny::PossibleAuthenticationFailureError => e
14
+ puts "Could not authenticate as #{conn.username}"
15
+ end
16
+ channel = @conn.create_channel
17
+ #puts "connected: #{conn.inspect}"
18
+ [@conn,channel]
19
+ end
20
+ def bunny_send(url,flag,queuename,cmdhash)
21
+ @conn,channel=setup_bunny(url,flag)
22
+ queue = channel.queue(queuename)
23
+ #cmdhash={'command'=>'sendtemplates', 'promotion'=>self.id.to_s}
24
+ channel.default_exchange.publish(cmdhash.to_yaml, :routing_key => queue.name)
25
+ @conn.close
26
+ end
27
+ end
28
+ end