asir 0.2.0 → 1.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 (82) hide show
  1. data/Gemfile +1 -2
  2. data/README.textile +4 -2
  3. data/VERSION +1 -1
  4. data/asir.gemspec +1 -4
  5. data/asir.riterate.yml +1 -0
  6. data/bin/asir +2 -1
  7. data/example/asir_control.sh +63 -1
  8. data/example/asir_control_client_http.rb +2 -2
  9. data/example/asir_control_client_resque.rb +16 -0
  10. data/example/asir_control_client_zmq.rb +3 -3
  11. data/example/config/asir_config.rb +20 -8
  12. data/example/ex02.rb +1 -1
  13. data/example/ex03.rb +2 -2
  14. data/example/ex04.rb +2 -2
  15. data/example/ex05.rb +1 -1
  16. data/example/ex06.rb +6 -5
  17. data/example/ex07.rb +2 -2
  18. data/example/ex08.rb +2 -2
  19. data/example/ex09.rb +2 -2
  20. data/example/ex10.rb +2 -2
  21. data/example/ex11.rb +5 -5
  22. data/example/ex12.rb +6 -6
  23. data/example/ex13.rb +4 -4
  24. data/example/ex14.rb +4 -4
  25. data/example/ex15.rb +2 -2
  26. data/example/ex16.rb +8 -8
  27. data/example/ex17.rb +12 -11
  28. data/example/ex18.rb +5 -5
  29. data/example/ex19.rb +3 -3
  30. data/example/ex20.rb +3 -3
  31. data/example/ex21.rb +3 -3
  32. data/example/ex22.rb +1 -1
  33. data/example/ex23.rb +2 -2
  34. data/example/ex24.rb +4 -4
  35. data/example/ex25.rb +41 -0
  36. data/example/example_helper.rb +38 -3
  37. data/example/sample_service.rb +4 -4
  38. data/hack_night/exercise/prob-3.rb +3 -3
  39. data/hack_night/exercise/prob-6.rb +2 -2
  40. data/hack_night/exercise/prob-7.rb +2 -2
  41. data/hack_night/solution/prob-2.rb +2 -2
  42. data/hack_night/solution/prob-3.rb +3 -3
  43. data/hack_night/solution/prob-6.rb +7 -6
  44. data/hack_night/solution/prob-7.rb +6 -6
  45. data/{spec → lab}/const_get_speed_spec.rb +0 -0
  46. data/lib/asir.rb +29 -7
  47. data/lib/asir/additional_data.rb +25 -0
  48. data/lib/asir/channel.rb +4 -5
  49. data/lib/asir/client.rb +29 -13
  50. data/lib/asir/config.rb +8 -0
  51. data/lib/asir/description.rb +34 -0
  52. data/lib/asir/environment.rb +96 -0
  53. data/lib/asir/error.rb +4 -1
  54. data/lib/asir/invoker.rb +14 -0
  55. data/lib/asir/main.rb +84 -103
  56. data/lib/asir/message.rb +1 -1
  57. data/lib/asir/poll_throttle.rb +53 -0
  58. data/lib/asir/retry_behavior.rb +1 -1
  59. data/lib/asir/thread_variable.rb +183 -0
  60. data/lib/asir/transport.rb +36 -23
  61. data/lib/asir/transport/beanstalk.rb +18 -52
  62. data/lib/asir/transport/conduit.rb +42 -0
  63. data/lib/asir/transport/connection_oriented.rb +32 -56
  64. data/lib/asir/transport/delegation.rb +5 -5
  65. data/lib/asir/transport/demux.rb +33 -0
  66. data/lib/asir/transport/file.rb +5 -3
  67. data/lib/asir/transport/payload_io.rb +8 -4
  68. data/lib/asir/transport/resque.rb +212 -0
  69. data/lib/asir/transport/stream.rb +19 -9
  70. data/lib/asir/transport/tcp_socket.rb +3 -2
  71. data/lib/asir/transport/zmq.rb +14 -17
  72. data/lib/asir/uri_config.rb +51 -0
  73. data/lib/asir/version.rb +1 -1
  74. data/spec/client_spec.rb +48 -0
  75. data/spec/demux_spec.rb +38 -0
  76. data/spec/json_spec.rb +0 -2
  77. data/spec/message_spec.rb +68 -0
  78. data/spec/performance_spec.rb +66 -0
  79. data/spec/spec_helper.rb +34 -0
  80. data/spec/thread_variable_spec.rb +135 -0
  81. data/spec/transport_spec.rb +82 -0
  82. metadata +28 -4
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asir
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -33,6 +33,7 @@ files:
33
33
  - doc/sequence.pic
34
34
  - example/asir_control.sh
35
35
  - example/asir_control_client_http.rb
36
+ - example/asir_control_client_resque.rb
36
37
  - example/asir_control_client_zmq.rb
37
38
  - example/config/asir_config.rb
38
39
  - example/delayed_service.rb
@@ -60,6 +61,7 @@ files:
60
61
  - example/ex22.rb
61
62
  - example/ex23.rb
62
63
  - example/ex24.rb
64
+ - example/ex25.rb
63
65
  - example/example_helper.rb
64
66
  - example/sample_service.rb
65
67
  - example/unsafe_service.rb
@@ -79,6 +81,7 @@ files:
79
81
  - hack_night/solution/prob-5.rb
80
82
  - hack_night/solution/prob-6.rb
81
83
  - hack_night/solution/prob-7.rb
84
+ - lab/const_get_speed_spec.rb
82
85
  - lab/phony_proc.rb
83
86
  - lib/asir.rb
84
87
  - lib/asir/additional_data.rb
@@ -98,25 +101,33 @@ files:
98
101
  - lib/asir/coder/xml.rb
99
102
  - lib/asir/coder/yaml.rb
100
103
  - lib/asir/coder/zlib.rb
104
+ - lib/asir/config.rb
101
105
  - lib/asir/configuration.rb
106
+ - lib/asir/description.rb
107
+ - lib/asir/environment.rb
102
108
  - lib/asir/error.rb
103
109
  - lib/asir/identity.rb
104
110
  - lib/asir/initialization.rb
111
+ - lib/asir/invoker.rb
105
112
  - lib/asir/log.rb
106
113
  - lib/asir/main.rb
107
114
  - lib/asir/message.rb
108
115
  - lib/asir/message/delay.rb
109
116
  - lib/asir/object_resolving.rb
117
+ - lib/asir/poll_throttle.rb
110
118
  - lib/asir/result.rb
111
119
  - lib/asir/retry_behavior.rb
120
+ - lib/asir/thread_variable.rb
112
121
  - lib/asir/transport.rb
113
122
  - lib/asir/transport/beanstalk.rb
114
123
  - lib/asir/transport/broadcast.rb
115
124
  - lib/asir/transport/buffer.rb
116
125
  - lib/asir/transport/composite.rb
126
+ - lib/asir/transport/conduit.rb
117
127
  - lib/asir/transport/connection_oriented.rb
118
128
  - lib/asir/transport/delay.rb
119
129
  - lib/asir/transport/delegation.rb
130
+ - lib/asir/transport/demux.rb
120
131
  - lib/asir/transport/fallback.rb
121
132
  - lib/asir/transport/file.rb
122
133
  - lib/asir/transport/http.rb
@@ -124,19 +135,26 @@ files:
124
135
  - lib/asir/transport/null.rb
125
136
  - lib/asir/transport/payload_io.rb
126
137
  - lib/asir/transport/rack.rb
138
+ - lib/asir/transport/resque.rb
127
139
  - lib/asir/transport/retry.rb
128
140
  - lib/asir/transport/stream.rb
129
141
  - lib/asir/transport/subprocess.rb
130
142
  - lib/asir/transport/tcp_socket.rb
131
143
  - lib/asir/transport/webrick.rb
132
144
  - lib/asir/transport/zmq.rb
145
+ - lib/asir/uri_config.rb
133
146
  - lib/asir/uuid.rb
134
147
  - lib/asir/version.rb
135
- - spec/const_get_speed_spec.rb
148
+ - spec/client_spec.rb
136
149
  - spec/debug_helper.rb
150
+ - spec/demux_spec.rb
137
151
  - spec/example_spec.rb
138
152
  - spec/json_spec.rb
153
+ - spec/message_spec.rb
154
+ - spec/performance_spec.rb
139
155
  - spec/spec_helper.rb
156
+ - spec/thread_variable_spec.rb
157
+ - spec/transport_spec.rb
140
158
  - spec/xml_spec.rb
141
159
  - stylesheets/slides.css
142
160
  homepage: http://github.com/kstephens/abstracting_services_in_ruby
@@ -160,14 +178,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
178
  version: '0'
161
179
  requirements: []
162
180
  rubyforge_project:
163
- rubygems_version: 1.8.15
181
+ rubygems_version: 1.8.24
164
182
  signing_key:
165
183
  specification_version: 3
166
184
  summary: Abstracting Services in Ruby
167
185
  test_files:
168
- - spec/const_get_speed_spec.rb
186
+ - spec/client_spec.rb
169
187
  - spec/debug_helper.rb
188
+ - spec/demux_spec.rb
170
189
  - spec/example_spec.rb
171
190
  - spec/json_spec.rb
191
+ - spec/message_spec.rb
192
+ - spec/performance_spec.rb
172
193
  - spec/spec_helper.rb
194
+ - spec/thread_variable_spec.rb
195
+ - spec/transport_spec.rb
173
196
  - spec/xml_spec.rb
197
+ has_rdoc: