squib 0.16.0.pre.preview1 → 0.16.0.pre.preview2

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
  SHA256:
3
- metadata.gz: 24cc3f2b97503042d0ad1a0db003e8cb585e4853389c78b49c54c036f45bf4e2
4
- data.tar.gz: aa49287f4fa01039f4ea8737e862d24637ba47142d84849e54335b44b00f4424
3
+ metadata.gz: b29314be4965781e64f6f4d476fd7f0bbc629459636144f3a779637070315087
4
+ data.tar.gz: da76c57ce49a539e118d565b474088034a043552cf873df1affd457e12d6666e
5
5
  SHA512:
6
- metadata.gz: 529665761713e33f8743356a90af15ab244e8e09ffbb4836d1aa3dd1e0398cba320ffb0e443aff355cc71604146f03865b413c3307a76d372860a07b35a8bb2b
7
- data.tar.gz: 0fe62d7d34630c98c2750e5da46d4fd5633692f6f5cab22248b4650e6f8bfa2964ac0c107f5efd847c44342ad7b2ccf41634719b6c6cf84a55154ca1bcaba405
6
+ metadata.gz: 7eddabde27b55fa664fe9501d46cecd4acef80e9135738f385196332465c9efc3fc87c9ae9137d2327cf0a8355f71a2bc646ac94d8f1b9fcd758a931237369d7
7
+ data.tar.gz: a53b8248edc59ab15560fadc73e1c4a0f3615b4c976c940a2226a54681f13b7b225d85d50ee46bed5b7955c8e4f1236f7e7fc80911dedea8cc23b71b3a0cf90b
@@ -3,49 +3,44 @@ require_relative 'unit_conversion'
3
3
  module Squib
4
4
  module Args
5
5
  module XYWHShorthands
6
- WIDTH_MINUS_REGEX = /^width\s*\-\s*/
7
- HEIGHT_MINUS_REGEX = /^height\s*\-\s*/
8
- WIDTH_DIV_REGEX = /^width\s*\/\s*/
9
- HEIGHT_DIV_REGEX = /^height\s*\/\s*/
10
- MIDDLE_PLUS_REGEX = /^middle\s*\+\s*/
11
- MIDDLE_MINUS_REGEX = /^middle\s*\-\s*/
12
6
 
7
+ MIDDLE_ONLY = /^(middle|center)\s*$/
8
+ DECK_ONLY = /^deck\s*$/
9
+ MIDDLE_MINUS_REGEX = /^(middle|center)\s*\-\s*/
10
+ MIDDLE_PLUS_REGEX = /^(middle|center)\s*\+\s*/
11
+ DECK_MINUS_REGEX = /^deck\s*\-\s*/
12
+ DECK_PLUS_REGEX = /^deck\s*\+\s*/
13
+ DECK_DIV_REGEX = /^deck\s*\/\s*/
13
14
 
14
15
  # dimension is usually either deck_width or deck_height
15
16
  def apply_shorthands(arg, deck, axis: :x)
16
17
  dimension = (axis == :x) ? deck.width : deck.height
17
18
  arg_s = arg.to_s
18
19
  case arg_s
19
- when 'middle'
20
+ when MIDDLE_ONLY
20
21
  dimension / 2.0
21
- when 'center'
22
- dimension / 2.0
23
- when 'deck'
22
+ when DECK_ONLY
24
23
  dimension
25
- when WIDTH_MINUS_REGEX # e.g. width - 1.5in
26
- n = arg_s.sub WIDTH_MINUS_REGEX, ''
27
- n = UnitConversion.parse(n, deck.dpi, deck.cell_px)
28
- deck.width - n
29
- when HEIGHT_MINUS_REGEX # e.g. height - 1.5in
30
- n = arg_s.sub HEIGHT_MINUS_REGEX, ''
31
- n = UnitConversion.parse(n, deck.dpi, deck.cell_px)
32
- deck.height - n
33
- when WIDTH_DIV_REGEX # e.g. width / 3
34
- n = arg_s.sub WIDTH_DIV_REGEX, ''
35
- n = UnitConversion.parse(n, deck.dpi, deck.cell_px).to_f
36
- deck.width / n
37
- when HEIGHT_DIV_REGEX # e.g. height / 3
38
- n = arg_s.sub HEIGHT_DIV_REGEX, ''
24
+ when MIDDLE_MINUS_REGEX # e.g. width: middle - 3
25
+ n = arg_s.sub MIDDLE_MINUS_REGEX, ''
39
26
  n = UnitConversion.parse(n, deck.dpi, deck.cell_px).to_f
40
- deck.height / n
27
+ dimension / 2.0 - n
41
28
  when MIDDLE_PLUS_REGEX # e.g. middle + 1.5in
42
29
  n = arg_s.sub MIDDLE_PLUS_REGEX, ''
43
- n = UnitConversion.parse(n, deck.dpi, deck.cell_px)
30
+ n = UnitConversion.parse(n, deck.dpi, deck.cell_px).to_f
44
31
  dimension / 2.0 + n
45
- when MIDDLE_MINUS_REGEX # e.g. middle - 1.5in
46
- n = arg_s.sub MIDDLE_MINUS_REGEX, ''
47
- n = UnitConversion.parse(n, deck.dpi, deck.cell_px)
48
- dimension / 2.0 - n
32
+ when DECK_MINUS_REGEX # e.g. width: deck - 1.5in
33
+ n = arg_s.sub DECK_MINUS_REGEX, ''
34
+ n = UnitConversion.parse(n, deck.dpi, deck.cell_px).to_f
35
+ dimension - n
36
+ when DECK_PLUS_REGEX # e.g. deck + 1.5in (which is weird but ok)
37
+ n = arg_s.sub DECK_PLUS_REGEX, ''
38
+ n = UnitConversion.parse(n, deck.dpi, deck.cell_px).to_f
39
+ dimension + n
40
+ when DECK_DIV_REGEX # e.g. width: deck/3
41
+ n = arg_s.sub DECK_DIV_REGEX, ''
42
+ n = UnitConversion.parse(n, deck.dpi, deck.cell_px).to_f
43
+ dimension / n
49
44
  else
50
45
  arg
51
46
  end
@@ -29,19 +29,16 @@ module Squib
29
29
 
30
30
  def run(opts)
31
31
  warn_if_unexpected opts
32
- Dir.chdir(deck.img_dir) do
33
- range = Args.extract_range opts, deck
34
- batch = Args.extract_save_batch opts, deck
35
- @bar.start("Saving PNGs to #{batch.summary}", deck.size) do |bar|
36
- range.map do |i|
37
- deck.cards[i].save_png(batch[i])
38
- bar.increment
39
- end
40
-
32
+ range = Args.extract_range opts, deck
33
+ batch = Args.extract_save_batch opts, deck
34
+ @bar.start("Saving PNGs to #{batch.summary}", deck.size) do |bar|
35
+ range.map do |i|
36
+ deck.cards[i].save_png(batch[i])
37
+ bar.increment
41
38
  end
42
39
  end
43
-
44
40
  end
45
41
  end
42
+
46
43
  end
47
44
  end
@@ -6,5 +6,6 @@ module Squib
6
6
  # Most of the time this is in the alpha of the next release.
7
7
  # e.g. v0.0.5a is on its way to becoming v0.0.5
8
8
  #
9
- VERSION = '0.16.0-preview1'
9
+ VERSION = '0.16.0-preview2'
10
10
  end
11
+
@@ -20,14 +20,13 @@ Squib::Deck.new(width: '0.5in', height: '0.25in') do
20
20
 
21
21
  # We can also do width-, height-, width/, height/
22
22
  rect x: 20, y: 5, stroke_color: :green,
23
- width: 'width - 0.1in', height: 10
23
+ width: 'deck - 0.1in', height: 10
24
24
 
25
- rect x: 10, y: 50, width: 10, height: 'height / 3',
25
+ rect x: 10, y: 50, width: 10, height: 'deck / 3',
26
26
  stroke_color: :purple
27
27
 
28
28
  # And middle+/-
29
-
30
- rect x: 'middle + 0.1in', y: 'middle - 0.1in',
29
+ rect x: 'middle + 0.1in', y: 'center - 0.1in',
31
30
  width: '0.1in', height: '0.1in', fill_color: :blue
32
31
 
33
32
  # Layouts apply this too.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: squib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0.pre.preview1
4
+ version: 0.16.0.pre.preview2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Meneely
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-19 00:00:00.000000000 Z
11
+ date: 2020-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cairo