sqed 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|