sqed 0.2.2 → 0.2.3
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/sqed.rb +20 -12
- data/lib/sqed/extractor.rb +1 -1
- data/lib/sqed/version.rb +1 -1
- data/spec/lib/sqed_spec.rb +2 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a75cdb9451a36a8aec4846d4fc9af3809ae8b6a6
|
4
|
+
data.tar.gz: 8a02cda6c7e44a7942b7ab5cefaf045c38ca6b99
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3194e5fc9e13f1c04e652df9aeb614315da25106a8173e602ac88df8fe23516d5ab38ebbfdf151ef9f43a6d29ff97b249b01c87b40d962ff0c13a7f9bf1d33e
|
7
|
+
data.tar.gz: d7e34abf58f07cf8e19c5175ade4eecf2528675180350fc9a7b1ad2d3c01bf9d828c2124397efb3409d8e2396347cd25ebad3484112bb47da0015e5e778fe215
|
data/lib/sqed.rb
CHANGED
@@ -5,9 +5,9 @@ raise "IMPORTANT: sqed gem requires ruby >= 2.1.1" unless recent_ruby
|
|
5
5
|
|
6
6
|
require "rmagick"
|
7
7
|
|
8
|
-
#
|
8
|
+
# Instances take the following
|
9
9
|
# 1) A base image @image
|
10
|
-
# 2) A target extraction pattern
|
10
|
+
# 2) A target extraction pattern, or individually specified attributes
|
11
11
|
#
|
12
12
|
# Return a Sqed::Result
|
13
13
|
#
|
@@ -23,7 +23,10 @@ class Sqed
|
|
23
23
|
# initial image which is an instance of ImageMagick::Image, containing background and stage, or just stage
|
24
24
|
attr_accessor :image
|
25
25
|
|
26
|
-
#
|
26
|
+
# !optional! A lookup macro that if provided sets boundary_finder, layout, and metadata_map. These can be individually overwritten.
|
27
|
+
# Legal values are symbols taken from SqedConfig::EXTRACTION_PATTERNS.
|
28
|
+
# DO NOT pass pattern outside of a sqed instance!
|
29
|
+
#
|
27
30
|
attr_accessor :pattern
|
28
31
|
|
29
32
|
# Provide a specific layout, overrides layout metadata taken from pattern
|
@@ -53,7 +56,7 @@ class Sqed
|
|
53
56
|
# Provide a boundary_finder, overrides metadata taken from pattern
|
54
57
|
attr_accessor :boundary_finder
|
55
58
|
|
56
|
-
def initialize(target_image: nil, target_pattern:
|
59
|
+
def initialize(target_image: nil, target_pattern: nil, target_layout: nil, has_border: true, boundary_color: :green, use_thumbnail: true, boundary_finder: nil, metadata_map: nil)
|
57
60
|
raise 'extraction pattern not defined' if target_pattern && !SqedConfig::EXTRACTION_PATTERNS.keys.include?(target_pattern)
|
58
61
|
|
59
62
|
# data, and stubs for results
|
@@ -62,11 +65,13 @@ class Sqed
|
|
62
65
|
@stage_boundary = Sqed::Boundaries.new(:internal_box)
|
63
66
|
|
64
67
|
# extraction metadata
|
65
|
-
@pattern =
|
68
|
+
@pattern = target_pattern # not required if target_layout, metadata_map, and boundary_finder are provided
|
66
69
|
|
67
70
|
@has_border = has_border
|
68
71
|
@boundary_finder = boundary_finder.constantize if boundary_finder
|
69
|
-
@layout = target_layout
|
72
|
+
@layout = target_layout
|
73
|
+
@layout ||= SqedConfig::EXTRACTION_PATTERNS[pattern][:layout] if pattern
|
74
|
+
|
70
75
|
@metadata_map = metadata_map
|
71
76
|
@boundary_color = boundary_color
|
72
77
|
@use_thumbnail = use_thumbnail
|
@@ -77,13 +82,16 @@ class Sqed
|
|
77
82
|
# @return [Hash]
|
78
83
|
# federate extraction options and apply user provided over-rides
|
79
84
|
def extraction_metadata
|
80
|
-
data =
|
81
|
-
|
82
|
-
|
85
|
+
data = {}
|
86
|
+
data = SqedConfig::EXTRACTION_PATTERNS[pattern] if pattern
|
87
|
+
|
88
|
+
# if pattern is not provided, these must be
|
83
89
|
data[:boundary_finder] = @boundary_finder if boundary_finder
|
84
|
-
data[:has_border] = has_border
|
85
90
|
data[:target_layout] = layout if layout
|
86
91
|
data[:target_metadata_map] = metadata_map if metadata_map
|
92
|
+
|
93
|
+
data[:boundary_color] = boundary_color
|
94
|
+
data[:has_border] = has_border
|
87
95
|
data[:use_thumbnail] = use_thumbnail
|
88
96
|
data
|
89
97
|
end
|
@@ -134,8 +142,8 @@ class Sqed
|
|
134
142
|
end
|
135
143
|
|
136
144
|
def result
|
137
|
-
|
138
|
-
return false if
|
145
|
+
return false if image.nil?
|
146
|
+
return false if pattern.nil? && (metadata_map.nil? && layout.nil? && boundary_finder.nil?)
|
139
147
|
|
140
148
|
extractor = Sqed::Extractor.new(
|
141
149
|
target_boundaries: boundaries,
|
data/lib/sqed/extractor.rb
CHANGED
data/lib/sqed/version.rb
CHANGED
data/spec/lib/sqed_spec.rb
CHANGED
@@ -35,8 +35,8 @@ describe Sqed do
|
|
35
35
|
end
|
36
36
|
|
37
37
|
context 'initialization' do
|
38
|
-
specify 'without providing a pattern assigns
|
39
|
-
expect(s.pattern).to eq(
|
38
|
+
specify 'without providing a pattern assigns nil' do
|
39
|
+
expect(s.pattern).to eq(nil)
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|