geo_pattern 1.3.2 → 1.4.0
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/.rubocop.yml +58 -0
- data/.simplecov +25 -0
- data/.travis.yml +12 -0
- data/Gemfile +3 -1
- data/README.md +125 -23
- data/Rakefile +72 -9
- data/fixtures/generated_patterns/chevrons.svg +1 -0
- data/fixtures/generated_patterns/concentric_circles.svg +1 -0
- data/fixtures/generated_patterns/diamonds.svg +1 -0
- data/fixtures/generated_patterns/diamonds_with_base_color.svg +1 -0
- data/fixtures/generated_patterns/diamonds_with_color.svg +1 -0
- data/fixtures/generated_patterns/hexagons.svg +1 -0
- data/fixtures/generated_patterns/mosaic_squares.svg +1 -0
- data/fixtures/generated_patterns/nested_squares.svg +1 -0
- data/fixtures/generated_patterns/octagons.svg +1 -0
- data/fixtures/generated_patterns/overlapping_circles.svg +1 -0
- data/fixtures/generated_patterns/overlapping_rings.svg +1 -0
- data/fixtures/generated_patterns/plaid.svg +1 -0
- data/fixtures/generated_patterns/plus_signs.svg +1 -0
- data/fixtures/generated_patterns/sine_waves.svg +1 -0
- data/fixtures/generated_patterns/squares.svg +1 -0
- data/fixtures/generated_patterns/tessellation.svg +1 -0
- data/fixtures/generated_patterns/triangles.svg +1 -0
- data/fixtures/generated_patterns/xes.svg +1 -0
- data/geo_pattern.gemspec +8 -2
- data/lib/geo_pattern.rb +42 -20
- data/lib/geo_pattern/background.rb +25 -0
- data/lib/geo_pattern/background_generators/solid_generator.rb +52 -0
- data/lib/geo_pattern/color.rb +25 -0
- data/lib/geo_pattern/color_generators/base_color_generator.rb +55 -0
- data/lib/geo_pattern/color_generators/simple_generator.rb +27 -0
- data/lib/geo_pattern/color_preset.rb +26 -0
- data/lib/geo_pattern/errors.rb +7 -0
- data/lib/geo_pattern/geo_pattern_task.rb +59 -0
- data/lib/geo_pattern/helpers.rb +47 -0
- data/lib/geo_pattern/pattern.rb +84 -0
- data/lib/geo_pattern/pattern_generator.rb +33 -82
- data/lib/geo_pattern/pattern_helpers.rb +31 -2
- data/lib/geo_pattern/pattern_preset.rb +23 -0
- data/lib/geo_pattern/pattern_sieve.rb +36 -0
- data/lib/geo_pattern/pattern_store.rb +63 -0
- data/lib/geo_pattern/pattern_validator.rb +27 -0
- data/lib/geo_pattern/rake_task.rb +109 -0
- data/lib/geo_pattern/roles/comparable_metadata.rb +35 -0
- data/lib/geo_pattern/roles/named_generator.rb +13 -0
- data/lib/geo_pattern/seed.rb +21 -0
- data/lib/geo_pattern/structure.rb +25 -0
- data/lib/geo_pattern/structure_generators/base_generator.rb +85 -0
- data/lib/geo_pattern/structure_generators/chevrons_generator.rb +55 -0
- data/lib/geo_pattern/structure_generators/concentric_circles_generator.rb +56 -0
- data/lib/geo_pattern/structure_generators/diamonds_generator.rb +66 -0
- data/lib/geo_pattern/structure_generators/hexagons_generator.rb +67 -0
- data/lib/geo_pattern/structure_generators/mosaic_squares_generator.rb +85 -0
- data/lib/geo_pattern/structure_generators/nested_squares_generator.rb +60 -0
- data/lib/geo_pattern/structure_generators/octagons_generator.rb +44 -0
- data/lib/geo_pattern/structure_generators/overlapping_circles_generator.rb +55 -0
- data/lib/geo_pattern/structure_generators/overlapping_rings_generator.rb +55 -0
- data/lib/geo_pattern/structure_generators/plaid_generator.rb +55 -0
- data/lib/geo_pattern/structure_generators/plus_signs_generator.rb +62 -0
- data/lib/geo_pattern/structure_generators/sine_waves_generator.rb +43 -0
- data/lib/geo_pattern/structure_generators/squares_generator.rb +36 -0
- data/lib/geo_pattern/structure_generators/tessellation_generator.rb +103 -0
- data/lib/geo_pattern/structure_generators/triangles_generator.rb +61 -0
- data/lib/geo_pattern/structure_generators/xes_generator.rb +67 -0
- data/lib/geo_pattern/svg_image.rb +101 -0
- data/lib/geo_pattern/version.rb +1 -1
- data/script/bootstrap +30 -0
- data/script/console +8 -0
- data/script/test +21 -0
- data/spec/background_generators/solid_generator_spec.rb +50 -0
- data/spec/background_spec.rb +25 -0
- data/spec/color_generators/base_color_generator_spec.rb +31 -0
- data/spec/color_generators/simple_generator_spec.rb +12 -0
- data/spec/color_preset_spec.rb +53 -0
- data/spec/color_spec.rb +15 -0
- data/spec/geo_pattern_spec.rb +95 -24
- data/spec/helpers_spec.rb +65 -0
- data/spec/pattern_preset_spec.rb +41 -0
- data/spec/pattern_sieve_spec.rb +66 -0
- data/spec/pattern_spec.rb +72 -0
- data/spec/pattern_store_spec.rb +47 -0
- data/spec/pattern_validator_spec.rb +28 -0
- data/spec/seed_spec.rb +14 -0
- data/spec/spec_helper.rb +1 -6
- data/spec/structure_generators/chevrons_generator_spec.rb +5 -0
- data/spec/structure_generators/concentric_circles_generator_spec.rb +5 -0
- data/spec/structure_generators/diamonds_generator_spec.rb +5 -0
- data/spec/structure_generators/hexagons_generator_spec.rb +5 -0
- data/spec/structure_generators/mosaic_squares_generator_spec.rb +5 -0
- data/spec/structure_generators/nested_squares_generator_spec.rb +5 -0
- data/spec/structure_generators/octagons_generator_spec.rb +5 -0
- data/spec/structure_generators/overlapping_circles_generator_spec.rb +5 -0
- data/spec/structure_generators/overlapping_rings_generator_spec.rb +5 -0
- data/spec/structure_generators/plaid_generator_spec.rb +5 -0
- data/spec/structure_generators/plus_signs_generator_spec.rb +5 -0
- data/spec/structure_generators/sine_waves_generator_spec.rb +5 -0
- data/spec/structure_generators/squares_generator_spec.rb +5 -0
- data/spec/structure_generators/tessellation_generator_spec.rb +5 -0
- data/spec/structure_generators/triangles_generator_spec.rb +5 -0
- data/spec/structure_generators/xes_generator_spec.rb +5 -0
- data/spec/structure_spec.rb +38 -0
- data/spec/support/helpers/fixtures.rb +12 -0
- data/spec/support/kernel.rb +40 -0
- data/spec/support/matchers/image.rb +17 -0
- data/spec/support/matchers/name.rb +15 -0
- data/spec/support/rspec.rb +1 -1
- data/spec/support/shared_examples/generator.rb +46 -0
- data/spec/support/shared_examples/pattern.rb +31 -0
- data/spec/support/shared_examples/pattern_name.rb +7 -0
- data/spec/support/shared_examples/structure.rb +48 -0
- data/spec/svg_spec.rb +3 -3
- metadata +141 -25
- data/lib/geo_pattern/pattern/base_pattern.rb +0 -47
- data/lib/geo_pattern/pattern/chevron_pattern.rb +0 -45
- data/lib/geo_pattern/pattern/concentric_circles_pattern.rb +0 -47
- data/lib/geo_pattern/pattern/diamond_pattern.rb +0 -56
- data/lib/geo_pattern/pattern/hexagon_pattern.rb +0 -57
- data/lib/geo_pattern/pattern/mosaic_squares_pattern.rb +0 -76
- data/lib/geo_pattern/pattern/nested_squares_pattern.rb +0 -51
- data/lib/geo_pattern/pattern/octagon_pattern.rb +0 -35
- data/lib/geo_pattern/pattern/overlapping_circles_pattern.rb +0 -46
- data/lib/geo_pattern/pattern/overlapping_rings_pattern.rb +0 -46
- data/lib/geo_pattern/pattern/plaid_pattern.rb +0 -49
- data/lib/geo_pattern/pattern/plus_sign_pattern.rb +0 -53
- data/lib/geo_pattern/pattern/sine_wave_pattern.rb +0 -36
- data/lib/geo_pattern/pattern/square_pattern.rb +0 -27
- data/lib/geo_pattern/pattern/tessellation_pattern.rb +0 -93
- data/lib/geo_pattern/pattern/triangle_pattern.rb +0 -51
- data/lib/geo_pattern/pattern/xes_pattern.rb +0 -58
- data/lib/geo_pattern/svg.rb +0 -77
- data/spec/support/helpers.rb +0 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 505b039dc31f17e65a619928b123b061077629ad
|
4
|
+
data.tar.gz: 549237f81df720c5ef2a9a2767b4d7be0ee3a96f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 982753d4976ffe9aeef807a814aecc5e4a8a64f972228a05eef69dde285c4ec42d9b8dd328f5b0fbd5dbe6218fdad26a6956b729f443b21cb9fa54ea8628a3bc
|
7
|
+
data.tar.gz: 185373a809c450c8427928f72e0c4d4941b1c3182d78ddac129f797a5e67477ab66bfcd232c03358ee996e0c98efd1e578402de00d570dca58f0c968829ed6c4
|
data/.rubocop.yml
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
AllCops:
|
2
2
|
Exclude:
|
3
3
|
- 'tmp/**/*'
|
4
|
+
DisplayCopNames: true
|
4
5
|
|
5
6
|
# Configuration parameters: MaxSlashes.
|
6
7
|
Style/RegexpLiteral:
|
@@ -11,3 +12,60 @@ Metrics/AbcSize:
|
|
11
12
|
|
12
13
|
Lint/Debugger:
|
13
14
|
Enabled: false
|
15
|
+
|
16
|
+
# Offense count: 1
|
17
|
+
# Configuration parameters: AllowSafeAssignment.
|
18
|
+
Lint/AssignmentInCondition:
|
19
|
+
Enabled: false
|
20
|
+
|
21
|
+
# Offense count: 2
|
22
|
+
Lint/Eval:
|
23
|
+
Enabled: false
|
24
|
+
|
25
|
+
# Offense count: 6
|
26
|
+
Metrics/BlockNesting:
|
27
|
+
Max: 4
|
28
|
+
|
29
|
+
# Offense count: 8
|
30
|
+
Metrics/CyclomaticComplexity:
|
31
|
+
Max: 22
|
32
|
+
|
33
|
+
# Offense count: 155
|
34
|
+
# Configuration parameters: AllowURI, URISchemes.
|
35
|
+
Metrics/LineLength:
|
36
|
+
Max: 406
|
37
|
+
|
38
|
+
# Offense count: 24
|
39
|
+
# Configuration parameters: CountComments.
|
40
|
+
Metrics/MethodLength:
|
41
|
+
Max: 78
|
42
|
+
|
43
|
+
# Offense count: 6
|
44
|
+
Metrics/PerceivedComplexity:
|
45
|
+
Max: 10
|
46
|
+
|
47
|
+
# Offense count: 2
|
48
|
+
Style/AccessorMethodName:
|
49
|
+
Enabled: false
|
50
|
+
|
51
|
+
# Offense count: 36
|
52
|
+
Style/Documentation:
|
53
|
+
Enabled: false
|
54
|
+
|
55
|
+
# Offense count: 1
|
56
|
+
Style/EmptyElse:
|
57
|
+
Enabled: false
|
58
|
+
|
59
|
+
# Offense count: 10
|
60
|
+
Style/EvenOdd:
|
61
|
+
Enabled: false
|
62
|
+
|
63
|
+
# Offense count: 28
|
64
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
65
|
+
Style/For:
|
66
|
+
Enabled: false
|
67
|
+
|
68
|
+
# Offense count: 3
|
69
|
+
# Configuration parameters: MaxLineLength.
|
70
|
+
Style/IfUnlessModifier:
|
71
|
+
Enabled: false
|
data/.simplecov
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
class ExcludeRegexFilter < SimpleCov::Filter
|
4
|
+
def matches?(source_file)
|
5
|
+
source_file.filename !~ filter_argument
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class IncludeRegexFilter < SimpleCov::Filter
|
10
|
+
def matches?(source_file)
|
11
|
+
source_file.filename =~ filter_argument
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
SimpleCov.start do
|
16
|
+
add_filter "/features/"
|
17
|
+
add_filter "/fixtures/"
|
18
|
+
add_filter "/spec/"
|
19
|
+
add_filter "/tmp"
|
20
|
+
add_filter "/vendor"
|
21
|
+
|
22
|
+
generator_filter = %r{/background_generators/|/structure_generators/}
|
23
|
+
add_group "lib", ExcludeRegexFilter.new(generator_filter)
|
24
|
+
add_group "generators", IncludeRegexFilter.new(generator_filter)
|
25
|
+
end
|
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,13 +1,24 @@
|
|
1
1
|
[](http://rubygems.org/gems/geo_pattern)
|
2
|
+
[](https://travis-ci.org/jasonlong/geo_pattern)
|
2
3
|
[](http://rubygems.org/gems/geo_pattern)
|
3
4
|
|
4
5
|
# GeoPattern
|
5
6
|
|
6
|
-
Generate beautiful tiling SVG patterns from a string. The string is converted
|
7
|
+
Generate beautiful tiling SVG patterns from a string. The string is converted
|
8
|
+
into a SHA and a color and pattern are determined based on the values in the
|
9
|
+
hash. The color is determined by shifting the hue and saturation from a default
|
10
|
+
(or passed in) base color. One of 16 patterns is used (or you can specify one)
|
11
|
+
and the sizing of the pattern elements is also determined by the hash values.
|
7
12
|
|
8
|
-
You can use the generated pattern as the `background-image` for a container.
|
13
|
+
You can use the generated pattern as the `background-image` for a container.
|
14
|
+
Using the `base64` representation of the pattern still results in SVG
|
15
|
+
rendering, so it looks great on retina displays.
|
9
16
|
|
10
|
-
See the [GitHub Guides](http://guides.github.com) site and the [Explore section
|
17
|
+
See the [GitHub Guides](http://guides.github.com) site and the [Explore section
|
18
|
+
of GitHub](https://github.com/explore) are examples of this library in action.
|
19
|
+
Brandon Mills has put together an awesome [live preview
|
20
|
+
page](http://btmills.github.io/geopattern/geopattern.html) that's built on his
|
21
|
+
Javascript port.
|
11
22
|
|
12
23
|
## Installation
|
13
24
|
|
@@ -46,93 +57,175 @@ pattern = GeoPattern.generate('Mastering Markdown', color: '#fc0')
|
|
46
57
|
To use a specific [pattern generator](#available-patterns):
|
47
58
|
|
48
59
|
```ruby
|
49
|
-
pattern = GeoPattern.generate('Mastering Markdown',
|
60
|
+
pattern = GeoPattern.generate('Mastering Markdown', patterns: :sine_waves)
|
61
|
+
```
|
62
|
+
|
63
|
+
To use a subset of the [available patterns](#available-patterns):
|
64
|
+
|
65
|
+
```ruby
|
66
|
+
pattern = GeoPattern.generate('Mastering Markdown', patterns: [:sine_waves, :xes])
|
50
67
|
```
|
51
68
|
|
52
69
|
Get the SVG string:
|
53
70
|
|
54
71
|
```ruby
|
55
|
-
puts pattern.
|
72
|
+
puts pattern.to_svg
|
56
73
|
# => <svg xmlns="http://www.w3.org/2000/svg" ...
|
57
74
|
```
|
58
75
|
|
59
76
|
Get the Base64 encoded string:
|
60
77
|
|
61
78
|
```ruby
|
62
|
-
puts pattern.
|
79
|
+
puts pattern.to_base64
|
63
80
|
# => PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC...
|
64
81
|
```
|
65
82
|
|
66
83
|
You can then use this string to set the background:
|
67
84
|
|
68
85
|
```html
|
69
|
-
<div style="background-image: <%= pattern.
|
86
|
+
<div style="background-image: <%= pattern.to_data_uri %>"></div>
|
70
87
|
```
|
71
88
|
|
72
89
|
## Available patterns
|
73
90
|
|
74
|
-
*Note: As of version `1.3.0`, string references (e.g. `overlapping_circles`)
|
91
|
+
*Note: As of version `1.3.0`, string references (e.g. `overlapping_circles`)
|
92
|
+
are deprecated in favor of symbol references (e.g. `:overlapping_circles`).*
|
93
|
+
|
94
|
+
### :chevrons
|
95
|
+
|
96
|
+

|
75
97
|
|
76
|
-
|
98
|
+
|
99
|
+
### :octagons
|
77
100
|
|
78
101
|

|
79
102
|
|
80
|
-
###
|
103
|
+
### :overlapping_circles
|
81
104
|
|
82
105
|

|
83
106
|
|
84
|
-
###
|
107
|
+
### :plus_signs
|
85
108
|
|
86
109
|

|
87
110
|
|
88
|
-
###
|
111
|
+
### :xes
|
89
112
|
|
90
113
|

|
91
114
|
|
92
|
-
###
|
115
|
+
### :sine_waves
|
93
116
|
|
94
117
|

|
95
118
|
|
96
|
-
###
|
119
|
+
### :hexagons
|
97
120
|
|
98
121
|

|
99
122
|
|
100
|
-
###
|
123
|
+
### :overlapping_rings
|
101
124
|
|
102
125
|

|
103
126
|
|
104
|
-
###
|
127
|
+
### :plaid
|
105
128
|
|
106
129
|

|
107
130
|
|
108
|
-
###
|
131
|
+
### :triangles
|
109
132
|
|
110
133
|

|
111
134
|
|
112
|
-
###
|
135
|
+
### :squares
|
113
136
|
|
114
137
|

|
115
138
|
|
116
|
-
###
|
139
|
+
### :nested_squares
|
117
140
|
|
118
141
|

|
119
142
|
|
120
|
-
###
|
143
|
+
### :mosaic_squares
|
121
144
|
|
122
145
|

|
123
146
|
|
124
|
-
###
|
147
|
+
### :concentric_circles
|
125
148
|
|
126
149
|

|
127
150
|
|
128
|
-
###
|
151
|
+
### :diamonds
|
129
152
|
|
130
153
|

|
131
154
|
|
132
|
-
###
|
155
|
+
### :tessellation
|
133
156
|
|
134
157
|

|
135
158
|
|
159
|
+
### GeoPattern::ChevronPattern
|
160
|
+
|
161
|
+

|
162
|
+
|
163
|
+
|
164
|
+
## Inspection of pattern
|
165
|
+
|
166
|
+
If you want to get some more information about a pattern, please use the
|
167
|
+
following methods.
|
168
|
+
|
169
|
+
```ruby
|
170
|
+
pattern = GeoPattern.generate('Mastering Markdown', patterns: [:sine_waves, :xes])
|
171
|
+
|
172
|
+
# The color of the background in html notation
|
173
|
+
pattern.background.color.to_html
|
174
|
+
|
175
|
+
# The color of the background in svg notation
|
176
|
+
pattern.background.color.to_svg
|
177
|
+
|
178
|
+
|
179
|
+
# The input colors
|
180
|
+
pattern.background.preset.color
|
181
|
+
pattern.background.preset.base_color
|
182
|
+
|
183
|
+
# The generator
|
184
|
+
pattern.background.generator
|
185
|
+
```
|
186
|
+
|
187
|
+
To get more information about the structure of the pattern, please use the following methods:
|
188
|
+
|
189
|
+
```ruby
|
190
|
+
pattern = GeoPattern.generate('Mastering Markdown', patterns: [:sine_waves, :xes])
|
191
|
+
|
192
|
+
# The name of the structure
|
193
|
+
pattern.structure.name
|
194
|
+
|
195
|
+
# The generator of the structure
|
196
|
+
pattern.structure.generator
|
197
|
+
```
|
198
|
+
|
199
|
+
## Rake Support
|
200
|
+
|
201
|
+
```ruby
|
202
|
+
string = 'Mastering markdown'
|
203
|
+
|
204
|
+
require 'geo_pattern/geo_pattern_task'
|
205
|
+
|
206
|
+
GeoPattern::GeoPatternTask.new(
|
207
|
+
name: 'generate',
|
208
|
+
description: 'Generate patterns to make them available as fixtures',
|
209
|
+
data: {
|
210
|
+
'fixtures/generated_patterns/diamonds_with_color.svg' => { input: string, patterns: [:diamonds], color: '#00ff00' },
|
211
|
+
'fixtures/generated_patterns/diamonds_with_base_color.svg' => { input: string, patterns: [:diamonds], base_color: '#00ff00' }
|
212
|
+
}
|
213
|
+
)
|
214
|
+
```
|
215
|
+
|
216
|
+
## Developing
|
217
|
+
|
218
|
+
### Generate Fixtures
|
219
|
+
|
220
|
+
```ruby
|
221
|
+
rake fixtures:generate
|
222
|
+
```
|
223
|
+
|
224
|
+
### Run tests
|
225
|
+
|
226
|
+
```ruby
|
227
|
+
rake test
|
228
|
+
```
|
136
229
|
|
137
230
|
## Contributing
|
138
231
|
|
@@ -142,6 +235,15 @@ You can then use this string to set the background:
|
|
142
235
|
4. Push to the branch (`git push origin my-new-feature`)
|
143
236
|
5. Create new Pull Request
|
144
237
|
|
238
|
+
## Development
|
239
|
+
|
240
|
+
Prefix rspec-commandline with `RSPEC_PROFILE=1` to output the ten slowest
|
241
|
+
examples of the test suite.
|
242
|
+
|
243
|
+
```bash
|
244
|
+
RSPEC_PROFILE=1 bundle exec rspec
|
245
|
+
```
|
246
|
+
|
145
247
|
## Ports
|
146
248
|
|
147
249
|
JavaScript port by Brandon Mills:
|
data/Rakefile
CHANGED
@@ -1,23 +1,86 @@
|
|
1
|
-
|
2
|
-
require 'inch/rake'
|
3
|
-
require 'rspec/core/rake_task'
|
1
|
+
$LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
|
4
2
|
|
5
3
|
desc 'Default task running Tests'
|
6
4
|
task default: :test
|
7
5
|
|
8
6
|
desc 'Run test suite'
|
9
|
-
task test: 'test:rspec'
|
10
|
-
|
11
|
-
|
7
|
+
task test: ['test:rubocop', 'test:rspec']
|
8
|
+
task 'test:ci' => ['bootstrap:gem_requirements', :test]
|
12
9
|
namespace :test do
|
10
|
+
task :rspec do
|
11
|
+
sh 'rspec'
|
12
|
+
end
|
13
13
|
|
14
|
-
|
14
|
+
task :rubocop do
|
15
|
+
sh 'rubocop'
|
16
|
+
end
|
15
17
|
|
16
|
-
|
18
|
+
task 'rubocop:autocorrect' do
|
19
|
+
sh 'rubocop --auto-correct'
|
20
|
+
end
|
17
21
|
|
18
|
-
|
22
|
+
task 'inch' do
|
23
|
+
sh 'inch'
|
24
|
+
end
|
19
25
|
end
|
20
26
|
|
21
27
|
namespace :gem do
|
22
28
|
require 'bundler/gem_tasks'
|
23
29
|
end
|
30
|
+
|
31
|
+
unless ENV.key?('CI')
|
32
|
+
require 'geo_pattern/geo_pattern_task'
|
33
|
+
|
34
|
+
namespace :fixtures do
|
35
|
+
string = 'Mastering Markdown'
|
36
|
+
|
37
|
+
GeoPattern::GeoPatternTask.new(
|
38
|
+
name: 'generate',
|
39
|
+
description: 'Generate patterns to make them available as fixtures',
|
40
|
+
data: {
|
41
|
+
'fixtures/generated_patterns/chevrons.svg' => { input: string, patterns: [:chevrons] },
|
42
|
+
'fixtures/generated_patterns/concentric_circles.svg' => { input: string, patterns: [:concentric_circles] },
|
43
|
+
'fixtures/generated_patterns/diamonds.svg' => { input: string, patterns: [:diamonds] },
|
44
|
+
'fixtures/generated_patterns/hexagons.svg' => { input: string, patterns: [:hexagons] },
|
45
|
+
'fixtures/generated_patterns/mosaic_squares.svg' => { input: string, patterns: [:mosaic_squares] },
|
46
|
+
'fixtures/generated_patterns/nested_squares.svg' => { input: string, patterns: [:nested_squares] },
|
47
|
+
'fixtures/generated_patterns/octagons.svg' => { input: string, patterns: [:octagons] },
|
48
|
+
'fixtures/generated_patterns/overlapping_circles.svg' => { input: string, patterns: [:overlapping_circles] },
|
49
|
+
'fixtures/generated_patterns/overlapping_rings.svg' => { input: string, patterns: [:overlapping_rings] },
|
50
|
+
'fixtures/generated_patterns/plaid.svg' => { input: string, patterns: [:plaid] },
|
51
|
+
'fixtures/generated_patterns/plus_signs.svg' => { input: string, patterns: [:plus_signs] },
|
52
|
+
'fixtures/generated_patterns/sine_waves.svg' => { input: string, patterns: [:sine_waves] },
|
53
|
+
'fixtures/generated_patterns/squares.svg' => { input: string, patterns: [:squares] },
|
54
|
+
'fixtures/generated_patterns/tessellation.svg' => { input: string, patterns: [:tessellation] },
|
55
|
+
'fixtures/generated_patterns/triangles.svg' => { input: string, patterns: [:triangles] },
|
56
|
+
'fixtures/generated_patterns/xes.svg' => { input: string, patterns: [:xes] },
|
57
|
+
'fixtures/generated_patterns/diamonds_with_color.svg' => { input: string, patterns: [:diamonds], color: '#00ff00' },
|
58
|
+
'fixtures/generated_patterns/diamonds_with_base_color.svg' => { input: string, patterns: [:diamonds], base_color: '#00ff00' }
|
59
|
+
}
|
60
|
+
)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
desc 'Bootstrap project'
|
65
|
+
task bootstrap: %w(bootstrap:bundler)
|
66
|
+
|
67
|
+
desc 'Bootstrap project for ci'
|
68
|
+
task 'bootstrap:ci' do
|
69
|
+
Rake::Task['bootstrap'].invoke
|
70
|
+
end
|
71
|
+
|
72
|
+
namespace :bootstrap do
|
73
|
+
desc 'Bootstrap bundler'
|
74
|
+
task :bundler do |t|
|
75
|
+
puts t.comment
|
76
|
+
sh 'gem install bundler'
|
77
|
+
sh 'bundle install'
|
78
|
+
end
|
79
|
+
|
80
|
+
desc 'Require gems'
|
81
|
+
task :gem_requirements do |t|
|
82
|
+
puts t.comment
|
83
|
+
require 'bundler'
|
84
|
+
Bundler.require
|
85
|
+
end
|
86
|
+
end
|