duck_duck_duck 4.2.0 → 4.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fc9d363fc3f2add54ba7cc80a1f272fffd6ad9fe
4
- data.tar.gz: becb37dc9a4644a240d85115f1bdd59d6b7ced6e
3
+ metadata.gz: 8cacb764c7bac60b37b5c7fb1f33f1a3cd92cec9
4
+ data.tar.gz: e98767ef7e164d740e98dfec026c4e7cb4355da7
5
5
  SHA512:
6
- metadata.gz: 8f8e635b02307254b949e69967d07b689a6c1e5c919ad24fcbce22f3ec78397652e7f9929038fbe98c3b65e3485fcc605aa49adba0c61f4ff7ba3220281c9574
7
- data.tar.gz: b3a25e2d1cf9ec7a7544e2ec2a6f6a82343e8c22e7a5e5b3b8d843992a6349f635be4df266d0bee276afeb4f57e5528fcbafbe363448a37f77ff2fd1d5717bdb
6
+ metadata.gz: db90519964eac0fdf5f04be0dcb16d12cd557c4f93e5bc9f65c342466a1fa9f34ee7e5c6d379c6c85f1e5f6b8b57da5cdfef44334a601f8a381f0c5b295fb8f9
7
+ data.tar.gz: fc0566148fc87998478d195501be34bad00ada634426962c501e78a37cd7b55d57500fc01298955a0a8bd6c66ed24306f1a0a27b6306f8bf1db1c31029762969
data/VERSION CHANGED
@@ -1 +1 @@
1
- 4.2.0
1
+ 4.3.0
@@ -30,25 +30,32 @@ class Duck_Duck_Duck
30
30
  end
31
31
 
32
32
  def read_file f
33
- raw = File.read(f).split(/\s*--\s+(UP|DOWN):?\s*/).
34
- inject([:UP, { :UP => [], :DOWN => [] }]) do |memo, val|
35
- dir = memo.first
36
- meta = memo.last
33
+ raw = File.read(f).split(/\s*--\s+(UP|BOTH|DOWN):?\s*/).
34
+ inject([:UP, {:UP=>[], :DOWN=>[]}]) do |memo, val|
35
+ dir = memo.first
36
+ meta = memo.last
37
37
 
38
38
  case val
39
- when 'UP', :UP, :DOWN, 'DOWN'
39
+ when 'UP', :UP, :DOWN, 'DOWN', 'BOTH', :BOTH
40
40
  dir = val.to_sym
41
41
  when ''
42
42
  # do nothing
43
43
  else
44
- meta[dir] << val
44
+ case dir
45
+ when :BOTH
46
+ meta[:UP] << val
47
+ meta[:DOWN] << val
48
+ else
49
+ meta[dir] << val
50
+ end
45
51
  end
46
52
 
47
53
  [dir, meta]
48
54
  end
55
+
49
56
  meta = raw.last
50
57
  {:UP=>meta[:UP].join("\n"), :DOWN=>meta[:DOWN].join("\n")}
51
- end
58
+ end # === def read_file
52
59
 
53
60
  %w{reset up down}.each { |meth|
54
61
  eval <<-EOF, nil, __FILE__, __LINE__ + 1
@@ -187,12 +187,14 @@ describe '-- UP/-- DOWN model' do
187
187
  should == [
188
188
  {:title=>"record 1-1: 0030_model"},
189
189
  {:title=>"record 2-1: 0030_model"},
190
- {:title=>"record 2-2: 0030_model"},
191
- ]
190
+ {:title=>"record 2-2: 0030_model"}
191
+ ]
192
192
  end # === it
193
193
 
194
194
  end # === describe '-- UP/-- DOWN model'
195
195
 
196
+
197
+
196
198
  describe '__-...sql files' do
197
199
 
198
200
  before { reset }
@@ -226,3 +228,26 @@ describe '__-...sql files' do
226
228
 
227
229
  end # === describe '__-...sql files'
228
230
 
231
+
232
+ describe '-- BOTH' do
233
+
234
+ before { reset }
235
+
236
+ it "runs -- BOTH each time" do
237
+ Exit_0("duck_duck_duck up 0050_model")
238
+ Exit_0("duck_duck_duck down 0050_model")
239
+ get(%^SELECT title FROM "0050_model"^).
240
+ should == [
241
+ {:title=>"__ both 1"},
242
+ {:title=>"__ up 1"},
243
+ {:title=>"__ both 2"},
244
+ {:title=>"CREATE 0050_model"},
245
+ {:title=>"DROP 0050_model"},
246
+ {:title=>"__ both 1"},
247
+ {:title=>"__ down 1"},
248
+ {:title=>"__ both 2"}
249
+ ]
250
+ end # === it
251
+
252
+ end # === describe '-- BOTH'
253
+
@@ -0,0 +1,14 @@
1
+
2
+
3
+ INSERT INTO "0050_model" (title)
4
+ VALUES ('CREATE 0050_model');
5
+
6
+
7
+ -- DOWN
8
+
9
+ INSERT INTO "0050_model" (title)
10
+ VALUES ('DROP 0050_model');
11
+
12
+
13
+
14
+
@@ -0,0 +1,24 @@
1
+
2
+ -- BOTH
3
+ CREATE TABLE IF NOT EXISTS "0050_model" (
4
+ id serial NOT NULL PRIMARY KEY,
5
+ title varchar(100)
6
+ );
7
+
8
+
9
+ INSERT INTO "0050_model" (title)
10
+ VALUES ('__ both 1');
11
+
12
+
13
+ -- UP
14
+ INSERT INTO "0050_model" (title)
15
+ VALUES ('__ up 1');
16
+
17
+
18
+ -- DOWN
19
+ INSERT INTO "0050_model" (title)
20
+ VALUES ('__ down 1');
21
+
22
+ -- BOTH
23
+ INSERT INTO "0050_model" (title)
24
+ VALUES ('__ both 2');
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: duck_duck_duck
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0
4
+ version: 4.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - da99
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-29 00:00:00.000000000 Z
11
+ date: 2015-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -147,6 +147,8 @@ files:
147
147
  - specs/lib/models/0030_model/migrates/0030-insert_2.sql
148
148
  - specs/lib/models/0040_model/migrates/0010-table.sql
149
149
  - specs/lib/models/0040_model/migrates/__-insert-1.sql
150
+ - specs/lib/models/0050_model/migrates/0010-table.sql
151
+ - specs/lib/models/0050_model/migrates/__-both.sql
150
152
  homepage: https://github.com/da99/duck_duck_duck
151
153
  licenses:
152
154
  - MIT