patch 0.4.13

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