squib 0.13.2 → 0.13.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/lib/squib/args/paragraph.rb +10 -10
- data/lib/squib/graphics/image.rb +3 -3
- data/lib/squib/graphics/save_pdf.rb +1 -1
- data/lib/squib/version.rb +1 -1
- data/squib.gemspec +17 -17
- metadata +45 -45
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 021e19b6953834355ee29bf07243f9a36527d43d
|
4
|
+
data.tar.gz: 74abd82c6bae7a123332c09a928e427fc84b17df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 224c3c3403ea1caa4ac39d4c99a1490a05a98530c96fef9a055b2404b751b4392526368e4ca5dfa8178b6bbd7f6be6ad0b695f764e04f721cd388d8f67289812
|
7
|
+
data.tar.gz: c4602dcb29128c690f88c1a5cf390cbb86ac2321a279489776ddc0aa7a79ea01a98f85650bf0209aec6303fbaa2961418146a6a7f498a4179feba57ad0eed491
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,27 @@
|
|
1
1
|
# Squib CHANGELOG
|
2
2
|
Squib follows [semantic versioning](http://semver.org).
|
3
3
|
|
4
|
+
## v0.14.0 / Unreleased
|
5
|
+
|
6
|
+
Features:
|
7
|
+
* `circle` method now supports various `arc` options, so you can draw partial circles (#211) by @sparr
|
8
|
+
* `save_sheet` method now supports `rtl` or "right-to-left", for easier duplex printing of backs (#204, #208) by @sparr
|
9
|
+
* `yaml` method for reading in data, much like `csv` and `xlsx` by @blinks
|
10
|
+
|
11
|
+
Chores:
|
12
|
+
* Bumped dependencies for Cairo to 1.15.8, Pango et al. to 3.1.4, and nokogiri to 1.7.2. Locked in Cairo and Pango deps so we don't have live release issues that we had recently.
|
13
|
+
|
14
|
+
Bugs:
|
15
|
+
* Fixed some deprecation warnings on `text`
|
16
|
+
|
17
|
+
## v0.13.3 / 2017-07-15
|
18
|
+
|
19
|
+
Bugs:
|
20
|
+
* Fix `undefined method [] for nil:NilClass` error on `svg` (was a regression error in librsvg that we worked around.)
|
21
|
+
* Bump dependencies to latest stable versions. Pango et al. to 3.1.7 and Cairo to 1.15.9. This fixes some compatibility issues.
|
22
|
+
|
23
|
+
Compatibility known issue: if you are using Homebrew on Mac, you may need to set an environment variable for this version. This should be fixed in the upcoming 3.1.8 version of Pango that is forthcoming. See this: https://github.com/ruby-gnome2/ruby-gnome2/issues/1058
|
24
|
+
|
4
25
|
## v0.13.2 / 2017-01-27
|
5
26
|
|
6
27
|
Bugs:
|
data/lib/squib/args/paragraph.rb
CHANGED
@@ -49,11 +49,11 @@ module Squib
|
|
49
49
|
def validate_align(arg, _i)
|
50
50
|
case arg.to_s.downcase.strip
|
51
51
|
when 'left'
|
52
|
-
Pango::
|
52
|
+
Pango::Alignment::LEFT
|
53
53
|
when 'right'
|
54
|
-
Pango::
|
54
|
+
Pango::Alignment::RIGHT
|
55
55
|
when 'center'
|
56
|
-
Pango::
|
56
|
+
Pango::Alignment::CENTER
|
57
57
|
else
|
58
58
|
raise ArgumentError, 'align must be one of: center, left, right'
|
59
59
|
end
|
@@ -62,11 +62,11 @@ module Squib
|
|
62
62
|
def validate_wrap(arg, _i)
|
63
63
|
case arg.to_s.downcase.strip
|
64
64
|
when 'word'
|
65
|
-
Pango::
|
65
|
+
Pango::WrapMode::WORD
|
66
66
|
when 'char', 'false'
|
67
|
-
Pango::
|
67
|
+
Pango::WrapMode::CHAR
|
68
68
|
when 'word_char', 'true'
|
69
|
-
Pango::
|
69
|
+
Pango::WrapMode::WORD_CHAR
|
70
70
|
else
|
71
71
|
raise ArgumentError, 'wrap must be one of: word, char, word_char, true, or false'
|
72
72
|
end
|
@@ -75,13 +75,13 @@ module Squib
|
|
75
75
|
def validate_ellipsize(arg, _i)
|
76
76
|
case arg.to_s.downcase.strip
|
77
77
|
when 'none', 'false'
|
78
|
-
Pango::
|
78
|
+
Pango::EllipsizeMode::NONE
|
79
79
|
when 'start'
|
80
|
-
Pango::
|
80
|
+
Pango::EllipsizeMode::START
|
81
81
|
when 'middle'
|
82
|
-
Pango::
|
82
|
+
Pango::EllipsizeMode::MIDDLE
|
83
83
|
when 'end', 'true'
|
84
|
-
Pango::
|
84
|
+
Pango::EllipsizeMode::END
|
85
85
|
else
|
86
86
|
raise ArgumentError, 'ellipsize must be one of: none, start, middle, end, true, or false'
|
87
87
|
end
|
data/lib/squib/graphics/image.rb
CHANGED
@@ -67,7 +67,7 @@ module Squib
|
|
67
67
|
Squib.logger.warn 'Both an SVG file and SVG data were specified' unless file.to_s.empty? || svg_args.data.to_s.empty?
|
68
68
|
return if (file.nil? or file.eql? '') and svg_args.data.nil? # nothing specified TODO Move this out to arg validator
|
69
69
|
svg_args.data = File.read(file) if svg_args.data.to_s.empty?
|
70
|
-
svg =
|
70
|
+
svg = Rsvg::Handle.new_from_data(svg_args.data)
|
71
71
|
box.width = svg.width if box.width == :native
|
72
72
|
box.height = svg.height if box.height == :native
|
73
73
|
box.width = svg.width.to_f * box.height.to_f / svg.height.to_f if box.width == :scale
|
@@ -88,11 +88,11 @@ module Squib
|
|
88
88
|
|
89
89
|
cc.operator = paint.blend unless paint.blend == :none
|
90
90
|
if paint.mask.to_s.empty?
|
91
|
-
cc.render_rsvg_handle(svg, svg_args.id)
|
91
|
+
cc.render_rsvg_handle(svg, id: svg_args.id)
|
92
92
|
else
|
93
93
|
tmp = Cairo::ImageSurface.new(box.width / scale_width, box.height / scale_height)
|
94
94
|
tmp_cc = Cairo::Context.new(tmp)
|
95
|
-
tmp_cc.render_rsvg_handle(svg, svg_args.id)
|
95
|
+
tmp_cc.render_rsvg_handle(svg, id: svg_args.id)
|
96
96
|
cc.set_source_squibcolor(paint.mask)
|
97
97
|
cc.mask(tmp, 0, 0)
|
98
98
|
end
|
@@ -30,7 +30,7 @@ module Squib
|
|
30
30
|
card.cairo_surface.finish
|
31
31
|
cc.save
|
32
32
|
cc.scale(0.8, 0.8) # I really don't know why I needed to do this at all. But 0.8 is the magic number to get this to scale right
|
33
|
-
cc.render_rsvg_handle(
|
33
|
+
cc.render_rsvg_handle(Rsvg::Handle.new_from_file(card.svgfile))
|
34
34
|
cc.restore
|
35
35
|
else
|
36
36
|
abort "No such back end supported for save_pdf: #{backend}"
|
data/lib/squib/version.rb
CHANGED
data/squib.gemspec
CHANGED
@@ -29,22 +29,22 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.test_files = spec.files.grep(/^(spec|samples|docs|benchmarks)\//)
|
30
30
|
spec.require_paths = ['lib']
|
31
31
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
32
|
+
spec.add_runtime_dependency 'cairo', '1.15.9'
|
33
|
+
spec.add_runtime_dependency 'gio2', '3.1.7'
|
34
|
+
spec.add_runtime_dependency 'gobject-introspection', '3.1.7'
|
35
|
+
spec.add_runtime_dependency 'mercenary', '0.3.6'
|
36
|
+
spec.add_runtime_dependency 'nokogiri', '1.8.0'
|
37
|
+
spec.add_runtime_dependency 'pango', '3.1.7'
|
38
|
+
spec.add_runtime_dependency 'rsvg2', '3.1.7'
|
39
|
+
spec.add_runtime_dependency 'roo', '2.7.1'
|
40
|
+
spec.add_runtime_dependency 'ruby-progressbar', '1.8.1'
|
41
|
+
|
42
|
+
spec.add_development_dependency 'bundler'
|
43
|
+
spec.add_development_dependency 'rake'
|
44
|
+
spec.add_development_dependency 'rspec', '~> 3.3'
|
45
|
+
spec.add_development_dependency 'coveralls'
|
46
|
+
# spec.add_development_dependency 'byebug'
|
47
|
+
spec.add_development_dependency 'launchy'
|
48
|
+
spec.add_development_dependency 'game_icons'
|
49
49
|
|
50
50
|
end
|
metadata
CHANGED
@@ -1,155 +1,155 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: squib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.13.
|
4
|
+
version: 0.13.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Meneely
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cairo
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.15.
|
19
|
+
version: 1.15.9
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.15.
|
26
|
+
version: 1.15.9
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: gio2
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 3.1.
|
33
|
+
version: 3.1.7
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 3.1.
|
40
|
+
version: 3.1.7
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: gobject-introspection
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 3.1.
|
47
|
+
version: 3.1.7
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 3.1.
|
54
|
+
version: 3.1.7
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: mercenary
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.3.
|
61
|
+
version: 0.3.6
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.3.
|
68
|
+
version: 0.3.6
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: nokogiri
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - '='
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 1.
|
75
|
+
version: 1.8.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - '='
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 1.
|
82
|
+
version: 1.8.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: pango
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - '='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 3.1.
|
89
|
+
version: 3.1.7
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - '='
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 3.1.
|
96
|
+
version: 3.1.7
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: rsvg2
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - '='
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: 3.1.7
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - '='
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: 3.1.7
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: roo
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - '='
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
117
|
+
version: 2.7.1
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - '='
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
124
|
+
version: 2.7.1
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: ruby-progressbar
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- -
|
129
|
+
- - '='
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
131
|
+
version: 1.8.1
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- -
|
136
|
+
- - '='
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
138
|
+
version: 1.8.1
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: bundler
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- - "
|
143
|
+
- - ">="
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
145
|
+
version: '0'
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- - "
|
150
|
+
- - ">="
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
152
|
+
version: '0'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: rake
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -408,7 +408,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
408
408
|
version: '0'
|
409
409
|
requirements: []
|
410
410
|
rubyforge_project:
|
411
|
-
rubygems_version: 2.6.
|
411
|
+
rubygems_version: 2.6.11
|
412
412
|
signing_key:
|
413
413
|
specification_version: 2
|
414
414
|
summary: A Ruby DSL for prototyping card games
|