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

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 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