asynk 0.0.1

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 (92) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/Gemfile +3 -0
  4. data/Gemfile.lock +172 -0
  5. data/README.md +168 -0
  6. data/asynk.gemspec +27 -0
  7. data/bin/asynk +12 -0
  8. data/bin/asynkctl +93 -0
  9. data/consumer.rb +52 -0
  10. data/lib/asynk/benchmark.rb +21 -0
  11. data/lib/asynk/broker.rb +33 -0
  12. data/lib/asynk/cli.rb +146 -0
  13. data/lib/asynk/config.rb +33 -0
  14. data/lib/asynk/consumer.rb +98 -0
  15. data/lib/asynk/logging.rb +97 -0
  16. data/lib/asynk/message.rb +30 -0
  17. data/lib/asynk/publisher.rb +28 -0
  18. data/lib/asynk/response.rb +57 -0
  19. data/lib/asynk/server.rb +62 -0
  20. data/lib/asynk/sync_publisher.rb +36 -0
  21. data/lib/asynk/test_helper.rb +52 -0
  22. data/lib/asynk/version.rb +3 -0
  23. data/lib/asynk/worker.rb +56 -0
  24. data/lib/asynk.rb +65 -0
  25. data/myapp/.gitignore +17 -0
  26. data/myapp/Gemfile +16 -0
  27. data/myapp/Gemfile.lock +175 -0
  28. data/myapp/README.rdoc +28 -0
  29. data/myapp/Rakefile +6 -0
  30. data/myapp/app/assets/images/.keep +0 -0
  31. data/myapp/app/assets/javascripts/application.js +16 -0
  32. data/myapp/app/assets/stylesheets/application.css +15 -0
  33. data/myapp/app/consumers/wallet_events_consumer.rb +22 -0
  34. data/myapp/app/controllers/application_controller.rb +5 -0
  35. data/myapp/app/controllers/concerns/.keep +0 -0
  36. data/myapp/app/helpers/application_helper.rb +2 -0
  37. data/myapp/app/mailers/.keep +0 -0
  38. data/myapp/app/models/.keep +0 -0
  39. data/myapp/app/models/concerns/.keep +0 -0
  40. data/myapp/app/models/user.rb +2 -0
  41. data/myapp/app/views/layouts/application.html.erb +14 -0
  42. data/myapp/bin/bundle +3 -0
  43. data/myapp/bin/rails +8 -0
  44. data/myapp/bin/rake +8 -0
  45. data/myapp/bin/setup +29 -0
  46. data/myapp/bin/spring +15 -0
  47. data/myapp/config/application.rb +26 -0
  48. data/myapp/config/boot.rb +3 -0
  49. data/myapp/config/database.yml +32 -0
  50. data/myapp/config/environment.rb +5 -0
  51. data/myapp/config/environments/development.rb +41 -0
  52. data/myapp/config/environments/production.rb +79 -0
  53. data/myapp/config/environments/test.rb +42 -0
  54. data/myapp/config/initializers/assets.rb +11 -0
  55. data/myapp/config/initializers/backtrace_silencers.rb +7 -0
  56. data/myapp/config/initializers/cookies_serializer.rb +3 -0
  57. data/myapp/config/initializers/filter_parameter_logging.rb +4 -0
  58. data/myapp/config/initializers/inflections.rb +16 -0
  59. data/myapp/config/initializers/mime_types.rb +4 -0
  60. data/myapp/config/initializers/session_store.rb +3 -0
  61. data/myapp/config/initializers/wrap_parameters.rb +14 -0
  62. data/myapp/config/locales/en.yml +23 -0
  63. data/myapp/config/routes.rb +56 -0
  64. data/myapp/config/secrets.yml +22 -0
  65. data/myapp/config.ru +4 -0
  66. data/myapp/db/migrate/20150826104429_create_users.rb +10 -0
  67. data/myapp/db/schema.rb +26 -0
  68. data/myapp/db/seeds.rb +7 -0
  69. data/myapp/lib/assets/.keep +0 -0
  70. data/myapp/lib/tasks/.keep +0 -0
  71. data/myapp/log/.keep +0 -0
  72. data/myapp/public/404.html +67 -0
  73. data/myapp/public/422.html +67 -0
  74. data/myapp/public/500.html +66 -0
  75. data/myapp/public/favicon.ico +0 -0
  76. data/myapp/public/robots.txt +5 -0
  77. data/myapp/test/controllers/.keep +0 -0
  78. data/myapp/test/fixtures/.keep +0 -0
  79. data/myapp/test/fixtures/users.yml +9 -0
  80. data/myapp/test/helpers/.keep +0 -0
  81. data/myapp/test/integration/.keep +0 -0
  82. data/myapp/test/mailers/.keep +0 -0
  83. data/myapp/test/models/.keep +0 -0
  84. data/myapp/test/models/user_test.rb +7 -0
  85. data/myapp/test/test_helper.rb +10 -0
  86. data/myapp/vendor/assets/javascripts/.keep +0 -0
  87. data/myapp/vendor/assets/stylesheets/.keep +0 -0
  88. data/publisher.rb +15 -0
  89. data/test/consumer_example.rb +31 -0
  90. data/test/consumer_testing_example_test.rb +21 -0
  91. data/test/test_helper.rb +7 -0
  92. metadata +271 -0
@@ -0,0 +1,31 @@
1
+ class WalletEventsConsumer
2
+ include Asynk::Consumer
3
+
4
+ set_consume 'sample_app.wallet.registration_completed'
5
+ set_queue_options durable: true, ack: true
6
+ set_subscribe_arguments manual_ack: true
7
+ set_concurrency 1
8
+ set_route_ending_as_action true
9
+
10
+ def registration_completed(message)
11
+ respond(message.body)
12
+ end
13
+ end
14
+
15
+ class LogEventsConsumer
16
+ include Asynk::Consumer
17
+
18
+ set_consume 'sample_app.logs.warn', 'sample_app.logs.info'
19
+ set_queue_options durable: true, ack: true
20
+ set_subscribe_arguments manual_ack: true
21
+ set_concurrency 1
22
+ set_route_ending_as_action true
23
+
24
+ def warn(message)
25
+ respond(message.body)
26
+ end
27
+
28
+ def info(message)
29
+ respond(message.body)
30
+ end
31
+ end
@@ -0,0 +1,21 @@
1
+ require 'test_helper'
2
+ require 'consumer_example'
3
+
4
+ class ConsumerTestingExampleTest < Minitest::Test
5
+ include Asynk::TestHelper
6
+ def setup
7
+ end
8
+
9
+ def test_should_create_wallet_for_with_start_creation_failure
10
+ message = { name: 'Pes', surname: 'Kotovskiy' }
11
+ response = publish_sync 'sample_app.wallet.registration_completed', message
12
+ assert_equal message.to_json, response
13
+
14
+ response = publish_sync 'sample_app.logs.warn', message
15
+ assert_equal message.to_json, response
16
+
17
+ response = publish_sync 'sample_app.logs.info', message
18
+ assert_equal message.to_json, response
19
+
20
+ end
21
+ end
@@ -0,0 +1,7 @@
1
+ $:.unshift(File.expand_path("..", File.dirname(__FILE__)) + '/lib')
2
+ require 'asynk'
3
+ require 'minitest/autorun'
4
+
5
+ class Minitest::Test
6
+
7
+ end
metadata ADDED
@@ -0,0 +1,271 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: asynk
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Danil Nurgaliev
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-06-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: celluloid
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.17'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.17'
27
+ - !ruby/object:Gem::Dependency
28
+ name: celluloid-io
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.17'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.17'
41
+ - !ruby/object:Gem::Dependency
42
+ name: connection_pool
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.2'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: activesupport
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '4.2'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '4.2'
69
+ - !ruby/object:Gem::Dependency
70
+ name: json
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: bunny
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '2.3'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '2.3'
97
+ - !ruby/object:Gem::Dependency
98
+ name: minitest
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '5.7'
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: 5.7.0
107
+ type: :development
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - "~>"
112
+ - !ruby/object:Gem::Version
113
+ version: '5.7'
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: 5.7.0
117
+ - !ruby/object:Gem::Dependency
118
+ name: rake
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '10.0'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '10.0'
131
+ - !ruby/object:Gem::Dependency
132
+ name: rails
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '4'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '4'
145
+ description: Async/sync inter sevrer communication tool, based on RabbitMQ and Celluloid
146
+ email:
147
+ - jkonalegi@gmail.com
148
+ executables:
149
+ - asynk
150
+ - asynkctl
151
+ extensions: []
152
+ extra_rdoc_files: []
153
+ files:
154
+ - ".gitignore"
155
+ - Gemfile
156
+ - Gemfile.lock
157
+ - README.md
158
+ - asynk.gemspec
159
+ - bin/asynk
160
+ - bin/asynkctl
161
+ - consumer.rb
162
+ - lib/asynk.rb
163
+ - lib/asynk/benchmark.rb
164
+ - lib/asynk/broker.rb
165
+ - lib/asynk/cli.rb
166
+ - lib/asynk/config.rb
167
+ - lib/asynk/consumer.rb
168
+ - lib/asynk/logging.rb
169
+ - lib/asynk/message.rb
170
+ - lib/asynk/publisher.rb
171
+ - lib/asynk/response.rb
172
+ - lib/asynk/server.rb
173
+ - lib/asynk/sync_publisher.rb
174
+ - lib/asynk/test_helper.rb
175
+ - lib/asynk/version.rb
176
+ - lib/asynk/worker.rb
177
+ - myapp/.gitignore
178
+ - myapp/Gemfile
179
+ - myapp/Gemfile.lock
180
+ - myapp/README.rdoc
181
+ - myapp/Rakefile
182
+ - myapp/app/assets/images/.keep
183
+ - myapp/app/assets/javascripts/application.js
184
+ - myapp/app/assets/stylesheets/application.css
185
+ - myapp/app/consumers/wallet_events_consumer.rb
186
+ - myapp/app/controllers/application_controller.rb
187
+ - myapp/app/controllers/concerns/.keep
188
+ - myapp/app/helpers/application_helper.rb
189
+ - myapp/app/mailers/.keep
190
+ - myapp/app/models/.keep
191
+ - myapp/app/models/concerns/.keep
192
+ - myapp/app/models/user.rb
193
+ - myapp/app/views/layouts/application.html.erb
194
+ - myapp/bin/bundle
195
+ - myapp/bin/rails
196
+ - myapp/bin/rake
197
+ - myapp/bin/setup
198
+ - myapp/bin/spring
199
+ - myapp/config.ru
200
+ - myapp/config/application.rb
201
+ - myapp/config/boot.rb
202
+ - myapp/config/database.yml
203
+ - myapp/config/environment.rb
204
+ - myapp/config/environments/development.rb
205
+ - myapp/config/environments/production.rb
206
+ - myapp/config/environments/test.rb
207
+ - myapp/config/initializers/assets.rb
208
+ - myapp/config/initializers/backtrace_silencers.rb
209
+ - myapp/config/initializers/cookies_serializer.rb
210
+ - myapp/config/initializers/filter_parameter_logging.rb
211
+ - myapp/config/initializers/inflections.rb
212
+ - myapp/config/initializers/mime_types.rb
213
+ - myapp/config/initializers/session_store.rb
214
+ - myapp/config/initializers/wrap_parameters.rb
215
+ - myapp/config/locales/en.yml
216
+ - myapp/config/routes.rb
217
+ - myapp/config/secrets.yml
218
+ - myapp/db/migrate/20150826104429_create_users.rb
219
+ - myapp/db/schema.rb
220
+ - myapp/db/seeds.rb
221
+ - myapp/lib/assets/.keep
222
+ - myapp/lib/tasks/.keep
223
+ - myapp/log/.keep
224
+ - myapp/public/404.html
225
+ - myapp/public/422.html
226
+ - myapp/public/500.html
227
+ - myapp/public/favicon.ico
228
+ - myapp/public/robots.txt
229
+ - myapp/test/controllers/.keep
230
+ - myapp/test/fixtures/.keep
231
+ - myapp/test/fixtures/users.yml
232
+ - myapp/test/helpers/.keep
233
+ - myapp/test/integration/.keep
234
+ - myapp/test/mailers/.keep
235
+ - myapp/test/models/.keep
236
+ - myapp/test/models/user_test.rb
237
+ - myapp/test/test_helper.rb
238
+ - myapp/vendor/assets/javascripts/.keep
239
+ - myapp/vendor/assets/stylesheets/.keep
240
+ - publisher.rb
241
+ - test/consumer_example.rb
242
+ - test/consumer_testing_example_test.rb
243
+ - test/test_helper.rb
244
+ homepage: https://github.com/konalegi/asynk
245
+ licenses:
246
+ - LGPL-3.0
247
+ metadata: {}
248
+ post_install_message:
249
+ rdoc_options: []
250
+ require_paths:
251
+ - lib
252
+ required_ruby_version: !ruby/object:Gem::Requirement
253
+ requirements:
254
+ - - ">="
255
+ - !ruby/object:Gem::Version
256
+ version: '0'
257
+ required_rubygems_version: !ruby/object:Gem::Requirement
258
+ requirements:
259
+ - - ">="
260
+ - !ruby/object:Gem::Version
261
+ version: '0'
262
+ requirements: []
263
+ rubyforge_project:
264
+ rubygems_version: 2.5.1
265
+ signing_key:
266
+ specification_version: 4
267
+ summary: Async/sync inter sevrer communication tool.
268
+ test_files:
269
+ - test/consumer_example.rb
270
+ - test/consumer_testing_example_test.rb
271
+ - test/test_helper.rb