patch 0.4.13

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 (63) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +13 -0
  3. data/README.md +176 -0
  4. data/bin/patchrb +40 -0
  5. data/lib/patch/config.rb +124 -0
  6. data/lib/patch/em_patch.rb +47 -0
  7. data/lib/patch/hub.rb +68 -0
  8. data/lib/patch/io/midi/action.rb +42 -0
  9. data/lib/patch/io/midi/input.rb +110 -0
  10. data/lib/patch/io/midi/message.rb +112 -0
  11. data/lib/patch/io/midi/output.rb +58 -0
  12. data/lib/patch/io/midi.rb +45 -0
  13. data/lib/patch/io/module.rb +35 -0
  14. data/lib/patch/io/osc/action.rb +43 -0
  15. data/lib/patch/io/osc/client.rb +60 -0
  16. data/lib/patch/io/osc/message.rb +109 -0
  17. data/lib/patch/io/osc/server.rb +159 -0
  18. data/lib/patch/io/osc.rb +43 -0
  19. data/lib/patch/io/websocket/node.rb +103 -0
  20. data/lib/patch/io/websocket/socket.rb +103 -0
  21. data/lib/patch/io/websocket.rb +27 -0
  22. data/lib/patch/io.rb +15 -0
  23. data/lib/patch/log.rb +97 -0
  24. data/lib/patch/message.rb +67 -0
  25. data/lib/patch/node/container.rb +69 -0
  26. data/lib/patch/node/map.rb +71 -0
  27. data/lib/patch/node.rb +10 -0
  28. data/lib/patch/patch.rb +59 -0
  29. data/lib/patch/report.rb +132 -0
  30. data/lib/patch/thread.rb +19 -0
  31. data/lib/patch.rb +42 -0
  32. data/test/config/nodes.yml +16 -0
  33. data/test/config/patches.yml +41 -0
  34. data/test/config_test.rb +216 -0
  35. data/test/helper.rb +20 -0
  36. data/test/hub_test.rb +49 -0
  37. data/test/io/midi/action_test.rb +82 -0
  38. data/test/io/midi/input_test.rb +130 -0
  39. data/test/io/midi/message_test.rb +54 -0
  40. data/test/io/midi/output_test.rb +44 -0
  41. data/test/io/midi_test.rb +94 -0
  42. data/test/io/module_test.rb +21 -0
  43. data/test/io/osc/action_test.rb +76 -0
  44. data/test/io/osc/client_test.rb +49 -0
  45. data/test/io/osc/message_test.rb +53 -0
  46. data/test/io/osc/server_test.rb +116 -0
  47. data/test/io/osc_test.rb +111 -0
  48. data/test/io/websocket/node_test.rb +96 -0
  49. data/test/io/websocket_test.rb +37 -0
  50. data/test/js/logger.js +67 -0
  51. data/test/js/message.js +62 -0
  52. data/test/js/qunit-1.18.0.js +3828 -0
  53. data/test/js/qunit.css +291 -0
  54. data/test/js/test.html +15 -0
  55. data/test/js/websocket.js +12 -0
  56. data/test/log_test.rb +96 -0
  57. data/test/message_test.rb +109 -0
  58. data/test/node/container_test.rb +104 -0
  59. data/test/node/map_test.rb +50 -0
  60. data/test/node_test.rb +14 -0
  61. data/test/patch_test.rb +57 -0
  62. data/test/report_test.rb +37 -0
  63. metadata +320 -0
@@ -0,0 +1,57 @@
1
+ require "helper"
2
+
3
+ class Patch::PatchTest < Minitest::Test
4
+
5
+ context "Patch" do
6
+
7
+ setup do
8
+ load_test_data
9
+ @nodes = Patch::Config.to_nodes(@nodes_path)
10
+ @patches = Patch::Config.to_patches(@nodes, @patches_path)
11
+ end
12
+
13
+ context "#populate_actions" do
14
+
15
+ should "populate actions" do
16
+ patch = @patches.first
17
+ refute_nil patch.actions
18
+ refute_empty patch.actions
19
+ assert patch.actions.all? { |action| action.kind_of?(Hash) }
20
+ end
21
+
22
+ end
23
+
24
+ context "#populate_maps" do
25
+
26
+ should "populate node maps" do
27
+ patch = @patches.first
28
+ refute_nil patch.maps
29
+ refute_empty patch.maps
30
+ assert patch.maps.all? { |map| map.kind_of?(Patch::Node::Map) }
31
+ end
32
+
33
+ end
34
+
35
+ context "#enable" do
36
+
37
+ setup do
38
+ Patch::IO::MIDI::Input.any_instance.expects(:listen).once
39
+ Patch::IO::OSC::Server.any_instance.expects(:listen).once
40
+ Patch::IO::Websocket::Node.any_instance.expects(:listen).once
41
+ end
42
+
43
+ teardown do
44
+ Patch::IO::MIDI::Input.any_instance.unstub(:listen)
45
+ Patch::IO::OSC::Server.any_instance.unstub(:listen)
46
+ Patch::IO::Websocket::Node.any_instance.unstub(:listen)
47
+ end
48
+
49
+ should "map nodes together" do
50
+ assert @patches.first.enable
51
+ end
52
+
53
+ end
54
+
55
+ end
56
+
57
+ end
@@ -0,0 +1,37 @@
1
+ require "helper"
2
+
3
+ class Patch::ReportTest < Minitest::Test
4
+
5
+ context "Message" do
6
+
7
+ setup do
8
+ load_test_data
9
+ @hub = Patch::Config.to_hub(@nodes_path, :patches => @patches_path)
10
+ @report = Patch::Report.new(@hub)
11
+ end
12
+
13
+ context "#report" do
14
+
15
+ should "include ips" do
16
+ ips = @report.report[:ips]
17
+ refute_nil ips
18
+ assert_equal @hub.ips.count, ips.count
19
+ end
20
+
21
+ should "include nodes" do
22
+ nodes = @report.report[:nodes]
23
+ refute_nil nodes
24
+ assert_equal @hub.nodes.count, nodes.count
25
+ end
26
+
27
+ should "include patches" do
28
+ patches = @report.report[:patches]
29
+ refute_nil patches
30
+ assert_equal @hub.patches.count, patches.count
31
+ end
32
+
33
+ end
34
+
35
+ end
36
+
37
+ end
metadata ADDED
@@ -0,0 +1,320 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: patch
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.13
5
+ platform: ruby
6
+ authors:
7
+ - Ari Russo
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-05-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitest
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.5'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 5.5.0
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '5.5'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 5.5.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: mocha
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.1'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 1.1.0
43
+ type: :development
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1.1'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 1.1.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: rake
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '10.4'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 10.4.2
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '10.4'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 10.4.2
73
+ - !ruby/object:Gem::Dependency
74
+ name: rake-minify
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '0.4'
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 0.4.0
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.4'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 0.4.0
93
+ - !ruby/object:Gem::Dependency
94
+ name: shoulda-context
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '1.2'
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 1.2.1
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.2'
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 1.2.1
113
+ - !ruby/object:Gem::Dependency
114
+ name: analog
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '0.3'
120
+ type: :runtime
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - "~>"
125
+ - !ruby/object:Gem::Version
126
+ version: '0.3'
127
+ - !ruby/object:Gem::Dependency
128
+ name: em-websocket
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - "~>"
132
+ - !ruby/object:Gem::Version
133
+ version: '0.5'
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: 0.5.1
137
+ type: :runtime
138
+ prerelease: false
139
+ version_requirements: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - "~>"
142
+ - !ruby/object:Gem::Version
143
+ version: '0.5'
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: 0.5.1
147
+ - !ruby/object:Gem::Dependency
148
+ name: eventmachine
149
+ requirement: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: '1.0'
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: 1.0.4
157
+ type: :runtime
158
+ prerelease: false
159
+ version_requirements: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - "~>"
162
+ - !ruby/object:Gem::Version
163
+ version: '1.0'
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: 1.0.4
167
+ - !ruby/object:Gem::Dependency
168
+ name: midi-eye
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '0.3'
174
+ - - ">="
175
+ - !ruby/object:Gem::Version
176
+ version: 0.3.7
177
+ type: :runtime
178
+ prerelease: false
179
+ version_requirements: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - "~>"
182
+ - !ruby/object:Gem::Version
183
+ version: '0.3'
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: 0.3.7
187
+ - !ruby/object:Gem::Dependency
188
+ name: osc-ruby
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '1.1'
194
+ - - ">="
195
+ - !ruby/object:Gem::Version
196
+ version: 1.1.1
197
+ type: :runtime
198
+ prerelease: false
199
+ version_requirements: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - "~>"
202
+ - !ruby/object:Gem::Version
203
+ version: '1.1'
204
+ - - ">="
205
+ - !ruby/object:Gem::Version
206
+ version: 1.1.1
207
+ - !ruby/object:Gem::Dependency
208
+ name: rainbow
209
+ requirement: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - "~>"
212
+ - !ruby/object:Gem::Version
213
+ version: '2.0'
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: 2.0.0
217
+ type: :runtime
218
+ prerelease: false
219
+ version_requirements: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - "~>"
222
+ - !ruby/object:Gem::Version
223
+ version: '2.0'
224
+ - - ">="
225
+ - !ruby/object:Gem::Version
226
+ version: 2.0.0
227
+ description: Universally patch controller messages such as MIDI and OSC between devices
228
+ email:
229
+ - ari.russo@gmail.com
230
+ executables:
231
+ - patchrb
232
+ extensions: []
233
+ extra_rdoc_files: []
234
+ files:
235
+ - LICENSE
236
+ - README.md
237
+ - bin/patchrb
238
+ - lib/patch.rb
239
+ - lib/patch/config.rb
240
+ - lib/patch/em_patch.rb
241
+ - lib/patch/hub.rb
242
+ - lib/patch/io.rb
243
+ - lib/patch/io/midi.rb
244
+ - lib/patch/io/midi/action.rb
245
+ - lib/patch/io/midi/input.rb
246
+ - lib/patch/io/midi/message.rb
247
+ - lib/patch/io/midi/output.rb
248
+ - lib/patch/io/module.rb
249
+ - lib/patch/io/osc.rb
250
+ - lib/patch/io/osc/action.rb
251
+ - lib/patch/io/osc/client.rb
252
+ - lib/patch/io/osc/message.rb
253
+ - lib/patch/io/osc/server.rb
254
+ - lib/patch/io/websocket.rb
255
+ - lib/patch/io/websocket/node.rb
256
+ - lib/patch/io/websocket/socket.rb
257
+ - lib/patch/log.rb
258
+ - lib/patch/message.rb
259
+ - lib/patch/node.rb
260
+ - lib/patch/node/container.rb
261
+ - lib/patch/node/map.rb
262
+ - lib/patch/patch.rb
263
+ - lib/patch/report.rb
264
+ - lib/patch/thread.rb
265
+ - test/config/nodes.yml
266
+ - test/config/patches.yml
267
+ - test/config_test.rb
268
+ - test/helper.rb
269
+ - test/hub_test.rb
270
+ - test/io/midi/action_test.rb
271
+ - test/io/midi/input_test.rb
272
+ - test/io/midi/message_test.rb
273
+ - test/io/midi/output_test.rb
274
+ - test/io/midi_test.rb
275
+ - test/io/module_test.rb
276
+ - test/io/osc/action_test.rb
277
+ - test/io/osc/client_test.rb
278
+ - test/io/osc/message_test.rb
279
+ - test/io/osc/server_test.rb
280
+ - test/io/osc_test.rb
281
+ - test/io/websocket/node_test.rb
282
+ - test/io/websocket_test.rb
283
+ - test/js/logger.js
284
+ - test/js/message.js
285
+ - test/js/qunit-1.18.0.js
286
+ - test/js/qunit.css
287
+ - test/js/test.html
288
+ - test/js/websocket.js
289
+ - test/log_test.rb
290
+ - test/message_test.rb
291
+ - test/node/container_test.rb
292
+ - test/node/map_test.rb
293
+ - test/node_test.rb
294
+ - test/patch_test.rb
295
+ - test/report_test.rb
296
+ homepage: http://github.com/arirusso/patch
297
+ licenses:
298
+ - Apache 2.0
299
+ metadata: {}
300
+ post_install_message:
301
+ rdoc_options: []
302
+ require_paths:
303
+ - lib
304
+ required_ruby_version: !ruby/object:Gem::Requirement
305
+ requirements:
306
+ - - ">="
307
+ - !ruby/object:Gem::Version
308
+ version: '0'
309
+ required_rubygems_version: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - ">="
312
+ - !ruby/object:Gem::Version
313
+ version: 1.3.6
314
+ requirements: []
315
+ rubyforge_project: patch
316
+ rubygems_version: 2.4.6
317
+ signing_key:
318
+ specification_version: 4
319
+ summary: Universal controller messages
320
+ test_files: []