diamond 0.5.3 → 0.5.4
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.
- checksums.yaml +4 -4
- data/lib/diamond.rb +4 -4
- data/lib/diamond/clock.rb +4 -2
- data/test/api_test.rb +13 -13
- data/test/arpeggiator_test.rb +7 -7
- data/test/clock_test.rb +7 -7
- data/test/helper.rb +3 -3
- data/test/osc_test.rb +10 -8
- data/test/pattern_test.rb +6 -6
- data/test/sequence_parameters_test.rb +55 -22
- data/test/sequence_test.rb +1 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22b0827e29e0badfcb4d903d1d044a37547ed9cf
|
4
|
+
data.tar.gz: fc7f67067f9f4d4d96f20fa55e607c0de29c2018
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f53d500728d43d54edc7e5ef988c9468282cd08453e3bf0c32e9fc87e87387323a8d95ff0a73a047ee06bfdaaa8a5495c73360cf5a5e49ce798dc570bce6807e
|
7
|
+
data.tar.gz: 6dd537bb28d2eedb740c87f48377517341a5c0d399cd0777d07d3d0383f9b7f9e89fa1ced1f0548f19f6bf8609017e455be8ae38a720883a7605effff81b006d
|
data/lib/diamond.rb
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
# (c)2011-2014 Ari Russo and licensed under the Apache 2.0 License
|
6
6
|
#
|
7
7
|
|
8
|
-
# libs
|
8
|
+
# libs
|
9
9
|
require "forwardable"
|
10
10
|
require "midi-instrument"
|
11
11
|
require "midi-message"
|
@@ -29,7 +29,7 @@ require "diamond/sequence"
|
|
29
29
|
require "diamond/sequence_parameters"
|
30
30
|
|
31
31
|
module Diamond
|
32
|
-
|
33
|
-
VERSION = "0.5.
|
34
|
-
|
32
|
+
|
33
|
+
VERSION = "0.5.4"
|
34
|
+
|
35
35
|
end
|
data/lib/diamond/clock.rb
CHANGED
@@ -80,10 +80,12 @@ module Diamond
|
|
80
80
|
# Initialize the tick event
|
81
81
|
# @return [Boolean]
|
82
82
|
def initialize_events
|
83
|
+
@arpeggiators.each do |arpeggiator|
|
84
|
+
arpeggiator.sequencer.event.stop << proc { @clock.stop }
|
85
|
+
end
|
83
86
|
@clock.event.tick << proc do
|
84
|
-
@arpeggiators.
|
87
|
+
@arpeggiators.map do |arpeggiator|
|
85
88
|
arpeggiator.sequencer.exec(arpeggiator.sequence)
|
86
|
-
arpeggiator.sequencer.event.stop { @clock.stop }
|
87
89
|
arpeggiator
|
88
90
|
end
|
89
91
|
end
|
data/test/api_test.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require "helper"
|
2
2
|
|
3
|
-
class Diamond::APITest < Test
|
3
|
+
class Diamond::APITest < Minitest::Test
|
4
4
|
|
5
5
|
context "API" do
|
6
6
|
|
@@ -23,14 +23,14 @@ class Diamond::APITest < Test::Unit::TestCase
|
|
23
23
|
end
|
24
24
|
|
25
25
|
should "acknowledge message with rx channel" do
|
26
|
-
@arpeggiator.add(@messages[1])
|
27
26
|
@arpeggiator.sequence.instance_variable_get("@input_queue").expects(:concat).once.with([@messages[1]])
|
27
|
+
@arpeggiator.add(@messages[1])
|
28
28
|
end
|
29
29
|
|
30
30
|
should "with omni on, acknowledge any rx channel" do
|
31
31
|
@arpeggiator.omni_on
|
32
|
+
@arpeggiator.sequence.instance_variable_get("@input_queue").expects(:concat).once.with([@messages[2]])
|
32
33
|
@arpeggiator.add(@messages[2])
|
33
|
-
@arpeggiator.sequence.instance_variable_get("@input_queue").expects(:concat).once.with([@messages[2]])
|
34
34
|
end
|
35
35
|
|
36
36
|
end
|
@@ -45,7 +45,7 @@ class Diamond::APITest < Test::Unit::TestCase
|
|
45
45
|
|
46
46
|
should "add a midi source" do
|
47
47
|
@arpeggiator.add_midi_source(@input)
|
48
|
-
|
48
|
+
refute_empty @arpeggiator.midi_sources
|
49
49
|
assert @arpeggiator.midi_sources.include?(@input)
|
50
50
|
end
|
51
51
|
|
@@ -57,7 +57,7 @@ class Diamond::APITest < Test::Unit::TestCase
|
|
57
57
|
@input = $test_device[:input]
|
58
58
|
@arpeggiator = Diamond::Arpeggiator.new
|
59
59
|
@arpeggiator.add_midi_source(@input)
|
60
|
-
|
60
|
+
refute_empty @arpeggiator.midi_sources
|
61
61
|
assert @arpeggiator.midi_sources.include?(@input)
|
62
62
|
end
|
63
63
|
|
@@ -75,7 +75,7 @@ class Diamond::APITest < Test::Unit::TestCase
|
|
75
75
|
end
|
76
76
|
|
77
77
|
should "mute the arpeggiator" do
|
78
|
-
refute @arpeggiator.muted?
|
78
|
+
refute @arpeggiator.muted?
|
79
79
|
@arpeggiator.mute = true
|
80
80
|
assert @arpeggiator.muted?
|
81
81
|
@arpeggiator.mute = false
|
@@ -97,7 +97,7 @@ class Diamond::APITest < Test::Unit::TestCase
|
|
97
97
|
context "#rate=" do
|
98
98
|
|
99
99
|
should "set the rate" do
|
100
|
-
|
100
|
+
refute_equal 16, @arpeggiator.rate
|
101
101
|
@arpeggiator.rate = 16
|
102
102
|
assert_equal 16, @arpeggiator.rate
|
103
103
|
end
|
@@ -110,7 +110,7 @@ class Diamond::APITest < Test::Unit::TestCase
|
|
110
110
|
@arpeggiator.range = 4
|
111
111
|
assert_equal 4, @arpeggiator.range
|
112
112
|
@arpeggiator.range += 1
|
113
|
-
assert_equal 5, @arpeggiator.range
|
113
|
+
assert_equal 5, @arpeggiator.range
|
114
114
|
end
|
115
115
|
|
116
116
|
end
|
@@ -118,9 +118,9 @@ class Diamond::APITest < Test::Unit::TestCase
|
|
118
118
|
context "#interval=" do
|
119
119
|
|
120
120
|
should "set the interval" do
|
121
|
-
|
121
|
+
refute_equal 7, @arpeggiator.interval
|
122
122
|
@arpeggiator.interval = 7
|
123
|
-
assert_equal 7, @arpeggiator.interval
|
123
|
+
assert_equal 7, @arpeggiator.interval
|
124
124
|
end
|
125
125
|
|
126
126
|
end
|
@@ -128,9 +128,9 @@ class Diamond::APITest < Test::Unit::TestCase
|
|
128
128
|
context "#gate=" do
|
129
129
|
|
130
130
|
should "set the gate" do
|
131
|
-
|
131
|
+
refute_equal 125, @arpeggiator.gate
|
132
132
|
@arpeggiator.gate = 125
|
133
|
-
assert_equal 125, @arpeggiator.gate
|
133
|
+
assert_equal 125, @arpeggiator.gate
|
134
134
|
end
|
135
135
|
|
136
136
|
end
|
@@ -138,7 +138,7 @@ class Diamond::APITest < Test::Unit::TestCase
|
|
138
138
|
context "#pattern_offset=" do
|
139
139
|
|
140
140
|
should "set the offset" do
|
141
|
-
|
141
|
+
refute_equal 5, @arpeggiator.pattern_offset
|
142
142
|
@arpeggiator.pattern_offset = 5
|
143
143
|
assert_equal 5, @arpeggiator.pattern_offset
|
144
144
|
end
|
data/test/arpeggiator_test.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require "helper"
|
2
2
|
|
3
|
-
class Diamond::ApeggiatorTest < Test
|
3
|
+
class Diamond::ApeggiatorTest < Minitest::Test
|
4
4
|
|
5
5
|
context "Arpeggiator" do
|
6
6
|
|
@@ -10,23 +10,23 @@ class Diamond::ApeggiatorTest < Test::Unit::TestCase
|
|
10
10
|
@arpeggiator = Diamond::Arpeggiator.new
|
11
11
|
assert_equal 128, @arpeggiator.resolution
|
12
12
|
assert_equal 8, @arpeggiator.rate
|
13
|
-
assert_equal 3, @arpeggiator.range
|
14
|
-
assert_equal 12, @arpeggiator.interval
|
13
|
+
assert_equal 3, @arpeggiator.range
|
14
|
+
assert_equal 12, @arpeggiator.interval
|
15
15
|
end
|
16
16
|
|
17
17
|
should "allow setting params" do
|
18
18
|
@arpeggiator = Diamond::Arpeggiator.new(:interval => 7, :range => 4, :rate => 16)
|
19
19
|
assert_equal 128, @arpeggiator.resolution
|
20
20
|
assert_equal 16, @arpeggiator.rate
|
21
|
-
assert_equal 4, @arpeggiator.range
|
22
|
-
assert_equal 7, @arpeggiator.interval
|
21
|
+
assert_equal 4, @arpeggiator.range
|
22
|
+
assert_equal 7, @arpeggiator.interval
|
23
23
|
end
|
24
24
|
|
25
25
|
should "allow passing in input" do
|
26
26
|
@input = $test_device[:input]
|
27
27
|
@arpeggiator = Diamond::Arpeggiator.new(:midi => @input)
|
28
|
-
|
29
|
-
assert @arpeggiator.midi_sources.include?(@input)
|
28
|
+
refute_empty @arpeggiator.midi_sources
|
29
|
+
assert @arpeggiator.midi_sources.include?(@input)
|
30
30
|
end
|
31
31
|
|
32
32
|
end
|
data/test/clock_test.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require "helper"
|
2
2
|
|
3
|
-
class Diamond::ClockTest < Test
|
3
|
+
class Diamond::ClockTest < Minitest::Test
|
4
4
|
|
5
5
|
context "Clock" do
|
6
6
|
|
@@ -13,8 +13,8 @@ class Diamond::ClockTest < Test::Unit::TestCase
|
|
13
13
|
should "get MIDI output" do
|
14
14
|
output = Object.new
|
15
15
|
@clock = Diamond::Clock.new(120, :output => output)
|
16
|
-
|
17
|
-
|
16
|
+
refute_nil @clock.midi_outputs
|
17
|
+
refute_empty @clock.midi_outputs
|
18
18
|
assert @clock.midi_outputs.include?(output)
|
19
19
|
end
|
20
20
|
|
@@ -26,8 +26,8 @@ class Diamond::ClockTest < Test::Unit::TestCase
|
|
26
26
|
output = Object.new
|
27
27
|
refute @clock.midi_outputs.include?(output)
|
28
28
|
@clock.midi_output.devices << output
|
29
|
-
|
30
|
-
|
29
|
+
refute_nil @clock.midi_outputs
|
30
|
+
refute_empty @clock.midi_outputs
|
31
31
|
assert @clock.midi_outputs.include?(output)
|
32
32
|
end
|
33
33
|
|
@@ -39,8 +39,8 @@ class Diamond::ClockTest < Test::Unit::TestCase
|
|
39
39
|
output = Object.new
|
40
40
|
refute @clock.midi_outputs.include?(output)
|
41
41
|
@clock.midi_output.devices << output
|
42
|
-
|
43
|
-
|
42
|
+
refute_nil @clock.midi_outputs
|
43
|
+
refute_empty @clock.midi_outputs
|
44
44
|
assert @clock.midi_outputs.include?(output)
|
45
45
|
|
46
46
|
@clock.midi_output.devices.delete(output)
|
data/test/helper.rb
CHANGED
@@ -1,20 +1,20 @@
|
|
1
1
|
dir = File.dirname(File.expand_path(__FILE__))
|
2
2
|
$LOAD_PATH.unshift dir + "/../lib"
|
3
3
|
|
4
|
-
require "
|
4
|
+
require "minitest/autorun"
|
5
5
|
require "mocha/test_unit"
|
6
6
|
require "shoulda-context"
|
7
7
|
require "diamond"
|
8
8
|
|
9
9
|
module TestHelper
|
10
|
-
|
10
|
+
|
11
11
|
def self.select_devices
|
12
12
|
$test_device ||= {}
|
13
13
|
{ :input => UniMIDI::Input, :output => UniMIDI::Output }.each do |type, klass|
|
14
14
|
$test_device[type] = klass.gets
|
15
15
|
end
|
16
16
|
end
|
17
|
-
|
17
|
+
|
18
18
|
end
|
19
19
|
|
20
20
|
TestHelper.select_devices
|
data/test/osc_test.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require "helper"
|
2
2
|
|
3
|
-
class Diamond::OSCTest < Test
|
3
|
+
class Diamond::OSCTest < Minitest::Test
|
4
4
|
|
5
5
|
context "OSC" do
|
6
6
|
|
@@ -13,20 +13,23 @@ class Diamond::OSCTest < Test::Unit::TestCase
|
|
13
13
|
]
|
14
14
|
@addresses = @map.map { |mapping| mapping[:address] }
|
15
15
|
@osc = Diamond::OSC.new(:server_port => 8000)
|
16
|
+
::OSC::EMServer.any_instance.expects(:run).once
|
17
|
+
::OSC::EMServer.any_instance.expects(:add_method).times(@map.size).with do |arg|
|
18
|
+
assert @addresses.include?(arg)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
teardown do
|
23
|
+
::OSC::EMServer.any_instance.unstub(:run)
|
24
|
+
::OSC::EMServer.any_instance.unstub(:add_method)
|
16
25
|
end
|
17
26
|
|
18
27
|
should "start server" do
|
19
|
-
::OSC::EMServer.any_instance.expects(:run).once
|
20
28
|
@osc.enable_parameter_control(Object.new, @map)
|
21
|
-
::OSC::EMServer.any_instance.unstub(:run)
|
22
29
|
end
|
23
30
|
|
24
31
|
should "assign map" do
|
25
|
-
::OSC::EMServer.any_instance.expects(:add_method).times(@map.size).with do |arg|
|
26
|
-
assert @addresses.include?(arg)
|
27
|
-
end
|
28
32
|
@osc.enable_parameter_control(Object.new, @map)
|
29
|
-
::OSC::EMServer.any_instance.unstub(:add_method)
|
30
33
|
end
|
31
34
|
|
32
35
|
end
|
@@ -34,4 +37,3 @@ class Diamond::OSCTest < Test::Unit::TestCase
|
|
34
37
|
end
|
35
38
|
|
36
39
|
end
|
37
|
-
|
data/test/pattern_test.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require "helper"
|
2
2
|
|
3
|
-
class PatternTest < Test
|
3
|
+
class PatternTest < Minitest::Test
|
4
4
|
|
5
5
|
context "Pattern" do
|
6
6
|
|
@@ -26,7 +26,7 @@ class PatternTest < Test::Unit::TestCase
|
|
26
26
|
pattern = Diamond::Pattern.find("Up")
|
27
27
|
result = pattern.compute(3, 7)
|
28
28
|
assert_equal 4, result.length
|
29
|
-
assert_equal [0, 7, 14, 21], result
|
29
|
+
assert_equal [0, 7, 14, 21], result
|
30
30
|
end
|
31
31
|
|
32
32
|
end
|
@@ -35,25 +35,25 @@ class PatternTest < Test::Unit::TestCase
|
|
35
35
|
should "populate Up" do
|
36
36
|
pattern = Diamond::Pattern.find("Up")
|
37
37
|
result = pattern.compute(2, 12)
|
38
|
-
assert_equal [0, 12, 24], result
|
38
|
+
assert_equal [0, 12, 24], result
|
39
39
|
end
|
40
40
|
|
41
41
|
should "populate Down" do
|
42
42
|
pattern = Diamond::Pattern.find("Down")
|
43
43
|
result = pattern.compute(2, 12)
|
44
|
-
assert_equal [24, 12, 0], result
|
44
|
+
assert_equal [24, 12, 0], result
|
45
45
|
end
|
46
46
|
|
47
47
|
should "populate UpDown" do
|
48
48
|
pattern = Diamond::Pattern.find("UpDown")
|
49
49
|
result = pattern.compute(3, 12)
|
50
|
-
assert_equal [0, 12, 24, 36, 24, 12, 0], result
|
50
|
+
assert_equal [0, 12, 24, 36, 24, 12, 0], result
|
51
51
|
end
|
52
52
|
|
53
53
|
should "populate DownUp" do
|
54
54
|
pattern = Diamond::Pattern.find("DownUp")
|
55
55
|
result = pattern.compute(3, 12)
|
56
|
-
assert_equal [36, 24, 12, 0, 12, 24, 36], result
|
56
|
+
assert_equal [36, 24, 12, 0, 12, 24, 36], result
|
57
57
|
end
|
58
58
|
|
59
59
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require "helper"
|
2
2
|
|
3
|
-
class Diamond::SequenceParametersTest < Test
|
3
|
+
class Diamond::SequenceParametersTest < Minitest::Test
|
4
4
|
|
5
5
|
context "SequenceParameters" do
|
6
6
|
|
@@ -11,8 +11,15 @@ class Diamond::SequenceParametersTest < Test::Unit::TestCase
|
|
11
11
|
|
12
12
|
context "#rate=" do
|
13
13
|
|
14
|
+
setup do
|
15
|
+
@sequence.expects(:mark_changed).times(7)
|
16
|
+
end
|
17
|
+
|
18
|
+
teardown do
|
19
|
+
@sequence.unstub(:mark_changed)
|
20
|
+
end
|
21
|
+
|
14
22
|
should "set rate" do
|
15
|
-
@sequence.expects(:mark_changed).once
|
16
23
|
@params.rate = 16
|
17
24
|
assert_equal 16, @params.rate
|
18
25
|
end
|
@@ -43,34 +50,54 @@ class Diamond::SequenceParametersTest < Test::Unit::TestCase
|
|
43
50
|
|
44
51
|
context "#range=" do
|
45
52
|
|
53
|
+
setup do
|
54
|
+
@sequence.expects(:mark_changed).times(2)
|
55
|
+
end
|
56
|
+
|
57
|
+
teardown do
|
58
|
+
@sequence.unstub(:mark_changed)
|
59
|
+
end
|
60
|
+
|
46
61
|
should "set range" do
|
47
|
-
@sequence.expects(:mark_changed).once
|
48
62
|
@params.range = 4
|
49
63
|
assert_equal 4, @params.range
|
50
64
|
|
51
|
-
@sequence.expects(:mark_changed).once
|
52
65
|
@params.range += 1
|
53
|
-
assert_equal 5, @params.range
|
66
|
+
assert_equal 5, @params.range
|
54
67
|
end
|
55
68
|
|
56
69
|
end
|
57
70
|
|
58
71
|
context "#interval=" do
|
59
72
|
|
60
|
-
|
73
|
+
setup do
|
61
74
|
@sequence.expects(:mark_changed).once
|
62
|
-
|
75
|
+
end
|
76
|
+
|
77
|
+
teardown do
|
78
|
+
@sequence.unstub(:mark_changed)
|
79
|
+
end
|
80
|
+
|
81
|
+
should "set interval" do
|
82
|
+
refute_equal 7, @params.interval
|
63
83
|
@params.interval = 7
|
64
|
-
assert_equal 7, @params.interval
|
84
|
+
assert_equal 7, @params.interval
|
65
85
|
end
|
66
86
|
|
67
87
|
end
|
68
88
|
|
69
89
|
context "#gate=" do
|
70
90
|
|
91
|
+
setup do
|
92
|
+
@sequence.expects(:mark_changed).times(3)
|
93
|
+
end
|
94
|
+
|
95
|
+
teardown do
|
96
|
+
@sequence.unstub(:mark_changed)
|
97
|
+
end
|
98
|
+
|
71
99
|
should "set gate" do
|
72
|
-
@
|
73
|
-
assert_not_equal 125, @params.gate
|
100
|
+
refute_equal 125, @params.gate
|
74
101
|
@params.gate = 125
|
75
102
|
assert_equal 125, @params.gate
|
76
103
|
end
|
@@ -85,11 +112,18 @@ class Diamond::SequenceParametersTest < Test::Unit::TestCase
|
|
85
112
|
|
86
113
|
context "#pattern_offset=" do
|
87
114
|
|
88
|
-
|
115
|
+
setup do
|
89
116
|
@sequence.expects(:mark_changed).once
|
90
|
-
|
117
|
+
end
|
118
|
+
|
119
|
+
teardown do
|
120
|
+
@sequence.unstub(:mark_changed)
|
121
|
+
end
|
122
|
+
|
123
|
+
should "set pattern offset" do
|
124
|
+
refute_equal 5, @params.pattern_offset
|
91
125
|
@params.pattern_offset = 5
|
92
|
-
assert_equal 5, @params.pattern_offset
|
126
|
+
assert_equal 5, @params.pattern_offset
|
93
127
|
end
|
94
128
|
|
95
129
|
end
|
@@ -97,28 +131,27 @@ class Diamond::SequenceParametersTest < Test::Unit::TestCase
|
|
97
131
|
context "#constrain" do
|
98
132
|
|
99
133
|
should "constrain max only" do
|
100
|
-
assert_equal 40, @params.send(:constrain, 50, :max => 40)
|
101
|
-
assert_equal 30, @params.send(:constrain, 30, :max => 40)
|
134
|
+
assert_equal 40, @params.send(:constrain, 50, :max => 40)
|
135
|
+
assert_equal 30, @params.send(:constrain, 30, :max => 40)
|
102
136
|
end
|
103
137
|
|
104
138
|
should "constain min only" do
|
105
|
-
assert_equal 40, @params.send(:constrain, 30, :min => 40)
|
106
|
-
assert_equal 50, @params.send(:constrain, 50, :min => 40)
|
139
|
+
assert_equal 40, @params.send(:constrain, 30, :min => 40)
|
140
|
+
assert_equal 50, @params.send(:constrain, 50, :min => 40)
|
107
141
|
end
|
108
142
|
|
109
143
|
should "constrain to min and max" do
|
110
144
|
assert_equal 10, @params.send(:constrain, 5, :min => 10, :max => 100)
|
111
|
-
assert_equal 100, @params.send(:constrain, 500, :min => 10, :max => 100)
|
112
|
-
assert_equal 50, @params.send(:constrain, 50, :min => 10, :max => 100)
|
145
|
+
assert_equal 100, @params.send(:constrain, 500, :min => 10, :max => 100)
|
146
|
+
assert_equal 50, @params.send(:constrain, 50, :min => 10, :max => 100)
|
113
147
|
end
|
114
148
|
|
115
149
|
should "constrain to range" do
|
116
150
|
assert_equal 10, @params.send(:constrain, 5, :range => 10..100)
|
117
|
-
assert_equal 100, @params.send(:constrain, 500, :range => 10..100)
|
118
|
-
assert_equal 50, @params.send(:constrain, 50, :range => 10..100)
|
151
|
+
assert_equal 100, @params.send(:constrain, 500, :range => 10..100)
|
152
|
+
assert_equal 50, @params.send(:constrain, 50, :range => 10..100)
|
119
153
|
end
|
120
154
|
|
121
155
|
end
|
122
156
|
end
|
123
157
|
end
|
124
|
-
|
data/test/sequence_test.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: diamond
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ari Russo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: analog
|