usps_flags 0.4.1 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3d7ea83356a9fdf7e8b3ad5949e60462bcadbf2a98df05d270c2fc3875e5df7f
4
- data.tar.gz: 932d568a57b257d6dbd2e4ed595f11211e46597c0602e755559899f1c5548795
3
+ metadata.gz: 00b32e5fbfbb5d0d90e1f3f449e96b89c5d3d52de7a9ea6ae6a042609bb69665
4
+ data.tar.gz: c35ad25ec8df45961cbf57829109ad05eacba524daf1674751f2649322ad5479
5
5
  SHA512:
6
- metadata.gz: 1a320747b4cb6354667213bd5b5fef8a8f12b11d3fa6d406d8981381d6dfe2e08b622b83b52f4355cc27c88cf9117c85c88345a44baea78a5aedd92077713bc7
7
- data.tar.gz: dec6e9cf1c2dcc7d887d774bfaacd3e8a0db017fca0ce71f2aa4911f905d6dc9b759bd0d440a410f7d6ac904d01a10eae83087f38104b0cdfef150409c8f53dc
6
+ metadata.gz: 451d050441eb4de435dc9f4463d8fcbe04b9b58d17264ce5fac69dc60d1578597f91069ba536e75fe7ed44faaca64dde43cc5c07175fb386776373e0cb5ec5d7
7
+ data.tar.gz: 16fd6eaf1886833465bb5a8e16a25a70b1ff381447d90fda55117d402247bb6552669b20d6d0792842bcdb4cbf473d409edc8d87dfad48091ff196c7c488a404
data/.rubocop.yml CHANGED
@@ -1,6 +1,3 @@
1
- inherit_gem:
2
- rubocop-rails_config:
3
- - config/rails.yml
4
1
  require: rubocop-rspec
5
2
  AllCops:
6
3
  TargetRubyVersion: 2.5
data/.travis.yml CHANGED
@@ -13,6 +13,7 @@ before_script:
13
13
  - chmod +x ./cc-test-reporter
14
14
  - ./cc-test-reporter before-build
15
15
  script:
16
+ - bundle exec rubocop
16
17
  - bundle exec rspec
17
18
  after_script:
18
19
  - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- usps_flags (0.4.1)
4
+ usps_flags (0.5.0)
5
5
  file_utils (~> 1.1, >= 1.1.2)
6
6
  mini_magick (~> 4.8, >= 4.8.0)
7
7
  rubyzip (~> 1.2, >= 1.2.1)
@@ -9,11 +9,17 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
+ ast (2.4.0)
12
13
  diff-lcs (1.3)
13
14
  docile (1.1.5)
14
15
  file_utils (1.1.2)
16
+ jaro_winkler (1.5.2)
15
17
  json (2.1.0)
16
18
  mini_magick (4.9.3)
19
+ parallel (1.17.0)
20
+ parser (2.6.3.0)
21
+ ast (~> 2.4.0)
22
+ rainbow (3.0.0)
17
23
  rake (12.3.0)
18
24
  rspec (3.7.0)
19
25
  rspec-core (~> 3.7.0)
@@ -28,12 +34,21 @@ GEM
28
34
  diff-lcs (>= 1.2.0, < 2.0)
29
35
  rspec-support (~> 3.7.0)
30
36
  rspec-support (3.7.0)
37
+ rubocop (0.71.0)
38
+ jaro_winkler (~> 1.5.1)
39
+ parallel (~> 1.10)
40
+ parser (>= 2.6)
41
+ rainbow (>= 2.2.2, < 4.0)
42
+ ruby-progressbar (~> 1.7)
43
+ unicode-display_width (>= 1.4.0, < 1.7)
44
+ ruby-progressbar (1.10.1)
31
45
  rubyzip (1.2.3)
32
46
  simplecov (0.15.1)
33
47
  docile (~> 1.1.0)
34
48
  json (>= 1.8, < 3)
35
49
  simplecov-html (~> 0.10.0)
36
50
  simplecov-html (0.10.2)
51
+ unicode-display_width (1.6.0)
37
52
 
38
53
  PLATFORMS
39
54
  ruby
@@ -41,6 +56,7 @@ PLATFORMS
41
56
  DEPENDENCIES
42
57
  rake (~> 12.2, >= 12.2.1)
43
58
  rspec (~> 3.7, >= 3.7.0)
59
+ rubocop (~> 0.59, >= 0.59.2)
44
60
  simplecov (~> 0.15, >= 0.15.1)
45
61
  usps_flags!
46
62
 
@@ -30,40 +30,11 @@ class USPSFlags::Config
30
30
  #
31
31
  # @return [Hash] RThe configuration values for tridents.
32
32
  def trident
33
- center_point_height = USPSFlags::Config::BASE_FLY / 48 * 23 / 8
34
- side_point_height = USPSFlags::Config::BASE_FLY / 48 * 21 / 8
35
- bar_width = USPSFlags::Config::BASE_FLY / 48 * 5 / 4
36
33
  {
37
- height: trident_heights,
38
-
39
- center_point: BASE_FLY / 2,
40
-
41
- width: USPSFlags::Config::BASE_FLY * 5 / 32,
42
-
43
- bar_width: bar_width,
44
-
45
- center_point_height: center_point_height,
46
- side_point_height: side_point_height,
47
-
48
- main_point_barb: USPSFlags::Config::BASE_HOIST / 82,
49
-
50
- crossbar_from_top: USPSFlags::Config::BASE_HOIST / 4 + bar_width / 5,
51
-
52
- side_spike_height: USPSFlags::Config::BASE_HOIST / 4 - side_point_height - bar_width * 3 / 5,
53
-
54
- hash_width: USPSFlags::Config::BASE_FLY * 47 / 528,
55
-
56
- delta_height: USPSFlags::Config::BASE_FLY * 33 / 240,
57
- delta_gap_height: USPSFlags::Config::BASE_FLY / 16,
58
- delta_gap_width: bar_width * 5 / 4,
59
- delta_width: USPSFlags::Config::BASE_FLY * 43 / 768,
60
- delta_from_bottom: USPSFlags::Config::BASE_HOIST * 10 / 64,
61
- delta_gap_scale: 0.40,
62
- delta_gap_x: USPSFlags::Config::BASE_HOIST * 144 / 128,
63
- delta_gap_y: USPSFlags::Config::BASE_HOIST * 221 / 256,
64
-
65
- circle_height_adj: USPSFlags::Config::BASE_FLY / 800
66
- }
34
+ height: trident_heights, center_point: BASE_FLY / 2,
35
+ width: USPSFlags::Config::BASE_FLY * 5 / 32, bar_width: bar_width,
36
+ hash_width: USPSFlags::Config::BASE_FLY * 47 / 528
37
+ }.merge(spikes_config).merge(delta_config).merge(circle_config)
67
38
  end
68
39
 
69
40
  # Height values for trident insignia.
@@ -100,4 +71,38 @@ private
100
71
  @use_larger_tridents = true
101
72
  @clear = false
102
73
  end
74
+
75
+ def center_point_height
76
+ USPSFlags::Config::BASE_FLY / 48 * 23 / 8
77
+ end
78
+
79
+ def side_point_height
80
+ USPSFlags::Config::BASE_FLY / 48 * 21 / 8
81
+ end
82
+
83
+ def bar_width
84
+ USPSFlags::Config::BASE_FLY / 48 * 5 / 4
85
+ end
86
+
87
+ def spikes_config
88
+ {
89
+ center_point_height: center_point_height, side_point_height: side_point_height,
90
+ main_point_barb: USPSFlags::Config::BASE_HOIST / 82,
91
+ crossbar_from_top: USPSFlags::Config::BASE_HOIST / 4 + bar_width / 5,
92
+ side_spike_height: USPSFlags::Config::BASE_HOIST / 4 - side_point_height - bar_width * 3 / 5
93
+ }
94
+ end
95
+
96
+ def delta_config
97
+ {
98
+ delta_height: USPSFlags::Config::BASE_FLY * 33 / 240, delta_gap_height: USPSFlags::Config::BASE_FLY / 16,
99
+ delta_gap_width: bar_width * 5 / 4, delta_width: USPSFlags::Config::BASE_FLY * 43 / 768,
100
+ delta_from_bottom: USPSFlags::Config::BASE_HOIST * 10 / 64, delta_gap_scale: 0.40,
101
+ delta_gap_x: USPSFlags::Config::BASE_HOIST * 144 / 128, delta_gap_y: USPSFlags::Config::BASE_HOIST * 221 / 256
102
+ }
103
+ end
104
+
105
+ def circle_config
106
+ { circle_height_adj: USPSFlags::Config::BASE_FLY / 800 }
107
+ end
103
108
  end
@@ -8,6 +8,7 @@ class USPSFlags::Core::Ensign
8
8
  def svg
9
9
  <<~SVG
10
10
  #{stripes}
11
+ #{canton}
11
12
  <g transform="scale(0.3675)">
12
13
  <g transform="translate(1200, 600)">
13
14
  <g transform="rotate(-45, 693, 1500)">
@@ -22,39 +23,46 @@ class USPSFlags::Core::Ensign
22
23
  private
23
24
 
24
25
  def stripes
26
+ (0..12).map do |index|
27
+ index.odd? ? white_stripe(index) : blue_stripe(index)
28
+ end.join
29
+ end
30
+
31
+ def canton
25
32
  <<~SVG
26
- <rect x="0" y="0" width="#{USPSFlags::Config::BASE_FLY / 13}" height="#{USPSFlags::Config::BASE_HOIST}" fill="#{USPSFlags::Config::BLUE}" />
27
- <rect x="#{USPSFlags::Config::BASE_FLY * 1 / 13}" y="0" width="#{USPSFlags::Config::BASE_FLY / 13}" height="#{USPSFlags::Config::BASE_HOIST}" fill="#FFFFFF" />
28
- <rect x="#{USPSFlags::Config::BASE_FLY * 2 / 13}" y="0" width="#{USPSFlags::Config::BASE_FLY / 13}" height="#{USPSFlags::Config::BASE_HOIST}" fill="#{USPSFlags::Config::BLUE}" />
29
- <rect x="#{USPSFlags::Config::BASE_FLY * 3 / 13}" y="0" width="#{USPSFlags::Config::BASE_FLY / 13}" height="#{USPSFlags::Config::BASE_HOIST}" fill="#FFFFFF" />
30
- <rect x="#{USPSFlags::Config::BASE_FLY * 4 / 13}" y="0" width="#{USPSFlags::Config::BASE_FLY / 13}" height="#{USPSFlags::Config::BASE_HOIST}" fill="#{USPSFlags::Config::BLUE}" />
31
- <rect x="#{USPSFlags::Config::BASE_FLY * 5 / 13}" y="0" width="#{USPSFlags::Config::BASE_FLY / 13}" height="#{USPSFlags::Config::BASE_HOIST}" fill="#FFFFFF" />
32
- <rect x="#{USPSFlags::Config::BASE_FLY * 6 / 13}" y="0" width="#{USPSFlags::Config::BASE_FLY / 13}" height="#{USPSFlags::Config::BASE_HOIST}" fill="#{USPSFlags::Config::BLUE}" />
33
- <rect x="#{USPSFlags::Config::BASE_FLY * 7 / 13}" y="0" width="#{USPSFlags::Config::BASE_FLY / 13}" height="#{USPSFlags::Config::BASE_HOIST}" fill="#FFFFFF" />
34
- <rect x="#{USPSFlags::Config::BASE_FLY * 8 / 13}" y="0" width="#{USPSFlags::Config::BASE_FLY / 13}" height="#{USPSFlags::Config::BASE_HOIST}" fill="#{USPSFlags::Config::BLUE}" />
35
- <rect x="#{USPSFlags::Config::BASE_FLY * 9 / 13}" y="0" width="#{USPSFlags::Config::BASE_FLY / 13}" height="#{USPSFlags::Config::BASE_HOIST}" fill="#FFFFFF" />
36
- <rect x="#{USPSFlags::Config::BASE_FLY * 10 / 13}" y="0" width="#{USPSFlags::Config::BASE_FLY / 13}" height="#{USPSFlags::Config::BASE_HOIST}" fill="#{USPSFlags::Config::BLUE}" />
37
- <rect x="#{USPSFlags::Config::BASE_FLY * 11 / 13}" y="0" width="#{USPSFlags::Config::BASE_FLY / 13}" height="#{USPSFlags::Config::BASE_HOIST}" fill="#FFFFFF" />
38
- <rect x="#{USPSFlags::Config::BASE_FLY * 12 / 13}" y="0" width="#{USPSFlags::Config::BASE_FLY / 13}" height="#{USPSFlags::Config::BASE_HOIST}" fill="#{USPSFlags::Config::BLUE}" />
39
33
  <rect x="0" y="0" width="#{USPSFlags::Config::BASE_FLY * 6 / 13}" height="1000" fill="#{USPSFlags::Config::RED}" />
40
34
  SVG
41
- # <circle cx="#{USPSFlags::Config::BASE_FLY*3/13}" cy="#{USPSFlags::Config::BASE_HOIST/4}" r="#{USPSFlags::Config::BASE_FLY*6/13*5/16}" fill="#FFFFFF" fill-opacity="0.6" />
35
+ end
36
+
37
+ def white_stripe(index)
38
+ <<~SVG
39
+ <rect x="#{USPSFlags::Config::BASE_FLY * index / 13}" y="0" width="#{USPSFlags::Config::BASE_FLY / 13}" height="#{USPSFlags::Config::BASE_HOIST}" fill="#FFFFFF" />
40
+ SVG
41
+ end
42
+
43
+ def blue_stripe(index)
44
+ <<~SVG
45
+ <rect x="#{USPSFlags::Config::BASE_FLY * index / 13}" y="0" width="#{USPSFlags::Config::BASE_FLY / 13}" height="#{USPSFlags::Config::BASE_HOIST}" fill="#{USPSFlags::Config::BLUE}" />
46
+ SVG
42
47
  end
43
48
 
44
49
  def star_circle
45
- svg = ''
46
- (0..13).each do |i|
47
- rotation = i * (360.0 / 13)
48
- svg << <<~SVG
49
- <g transform="scale(0.375)">
50
- <g transform="translate(1885, 465)">
51
- <g transform="rotate(#{rotation}, 0, 900)">
52
- #{USPSFlags::Core.star}
53
- </g>
50
+ svg = +''
51
+
52
+ (0..13).each { |i| svg << rotated_star(i * (360.0 / 13)) }
53
+
54
+ svg
55
+ end
56
+
57
+ def rotated_star(rotation)
58
+ <<~SVG
59
+ <g transform="scale(0.375)">
60
+ <g transform="translate(1885, 465)">
61
+ <g transform="rotate(#{rotation}, 0, 900)">
62
+ #{USPSFlags::Core.star}
54
63
  </g>
55
64
  </g>
56
- SVG
57
- end
58
- svg
65
+ </g>
66
+ SVG
59
67
  end
60
68
  end
@@ -8,24 +8,13 @@ class USPSFlags::Core::Field
8
8
  def initialize(style: :regular, color: :white, fly: USPSFlags::Config::BASE_FLY)
9
9
  @style = style
10
10
  @fly = fly
11
- case color
12
- when :white
13
- border = true
14
- @color_code = '#FFFFFF'
15
- @past_mid_color = USPSFlags::Config::BLUE
16
- @past_tail_color = USPSFlags::Config::RED
17
- when :red
18
- border = false
19
- @color_code = USPSFlags::Config::RED
20
- @past_mid_color = '#FFFFFF'
21
- @past_tail_color = USPSFlags::Config::BLUE
22
- when :blue
23
- border = false
24
- @color_code = USPSFlags::Config::BLUE
25
- @past_mid_color = '#FFFFFF'
26
- @past_tail_color = USPSFlags::Config::RED
11
+ border = color == :white
12
+ @color_code, @past_mid_color, @past_tail_color = send("#{color}_colors")
13
+ @border_svg = if border
14
+ "stroke=\"#000000\" stroke-width=\"#{USPSFlags::Config::BASE_FLY / 600}\" "
15
+ else
16
+ ''
27
17
  end
28
- @border_svg = border ? "stroke=\"#000000\" stroke-width=\"#{USPSFlags::Config::BASE_FLY / 600}\" " : ''
29
18
 
30
19
  @hoist = (@fly * 2) / 3
31
20
  end
@@ -43,6 +32,18 @@ class USPSFlags::Core::Field
43
32
 
44
33
  private
45
34
 
35
+ def white_colors
36
+ ['#FFFFFF', USPSFlags::Config::BLUE, USPSFlags::Config::RED]
37
+ end
38
+
39
+ def red_colors
40
+ [USPSFlags::Config::RED, '#FFFFFF', USPSFlags::Config::BLUE]
41
+ end
42
+
43
+ def blue_colors
44
+ [USPSFlags::Config::BLUE, '#FFFFFF', USPSFlags::Config::RED]
45
+ end
46
+
46
47
  def regular_field
47
48
  <<~SVG
48
49
  <path d="M 0 0
@@ -68,29 +69,45 @@ private
68
69
  def past_field
69
70
  <<~SVG
70
71
  <g transform="translate(#{USPSFlags::Config::BASE_FLY / 1200}, #{USPSFlags::Config::BASE_FLY / 1800})">
71
- <path d="M 0 #{USPSFlags::Config::BASE_FLY / 600}
72
- l #{@fly / 2} #{@hoist / 12}
73
- l 0 #{@hoist * 10 / 12}
74
- l -#{@fly / 2} #{@hoist / 12}
75
- " fill="#{@color_code}" />
76
- <path d="M #{@fly / 2} #{@hoist / 12}
77
- l #{@fly / 4} #{@hoist / 24}
78
- l 0 #{@hoist * 9 / 12}
79
- l -#{@fly / 4} #{@hoist / 24}
80
- " fill="#{@past_mid_color}" />
81
- <path d="M #{@fly * 3 / 4} #{@hoist * 3 / 24}
82
- l #{@fly / 4} #{@hoist / 24}
83
- l -#{@fly / 5} #{@hoist / 3}
84
- l #{@fly / 5} #{@hoist / 3}
85
- l -#{@fly / 4} #{@hoist / 24}
86
- " fill="#{@past_tail_color}" />
87
- <path d="M 0 0
88
- l #{@fly} #{@hoist / 6}
89
- l -#{@fly / 5} #{@hoist / 3}
90
- l #{@fly / 5} #{@hoist / 3}
91
- l -#{@fly} #{@hoist / 6} z
92
- " fill="none" stroke="#000000" stroke-width="#{USPSFlags::Config::BASE_FLY / 600}" />
72
+ <path d="M 0 #{USPSFlags::Config::BASE_FLY / 600} #{past_line_one}" fill="#{@color_code}" />
73
+ <path d="M #{@fly / 2} #{@hoist / 12} #{past_line_two}" fill="#{@past_mid_color}" />
74
+ <path d="M #{@fly * 3 / 4} #{@hoist * 3 / 24} #{past_line_three}" fill="#{@past_tail_color}" />
75
+ <path d="M 0 0 #{past_line_four} z" fill="none" stroke="#000000" stroke-width="#{USPSFlags::Config::BASE_FLY / 600}" />
93
76
  </g>
94
77
  SVG
95
78
  end
79
+
80
+ def past_line_one
81
+ <<~SVG
82
+ l #{@fly / 2} #{@hoist / 12}
83
+ l 0 #{@hoist * 10 / 12}
84
+ l -#{@fly / 2} #{@hoist / 12}
85
+ SVG
86
+ end
87
+
88
+ def past_line_two
89
+ <<~SVG
90
+ l #{@fly / 4} #{@hoist / 24}
91
+ l 0 #{@hoist * 9 / 12}
92
+ l -#{@fly / 4} #{@hoist / 24}
93
+ SVG
94
+ end
95
+
96
+ def past_line_three
97
+ <<~SVG
98
+ l #{@fly / 4} #{@hoist / 24}
99
+ l -#{@fly / 5} #{@hoist / 3}
100
+ l #{@fly / 5} #{@hoist / 3}
101
+ l -#{@fly / 4} #{@hoist / 24}
102
+ SVG
103
+ end
104
+
105
+ def past_line_four
106
+ <<~SVG
107
+ l #{@fly} #{@hoist / 6}
108
+ l -#{@fly / 5} #{@hoist / 3}
109
+ l #{@fly / 5} #{@hoist / 3}
110
+ l -#{@fly} #{@hoist / 6}
111
+ SVG
112
+ end
96
113
  end
@@ -12,21 +12,38 @@ class USPSFlags::Core::Headers
12
12
  scale ||= 3
13
13
  @generated_at = Time.now.strftime('%Y%m%d.%H%S%z')
14
14
 
15
- if @width.nil? || @height.nil?
16
- @width = USPSFlags::Config::BASE_FLY / scale
17
- @height = (@width * Rational(2, 3)).to_i
18
- @view_width = USPSFlags::Config::BASE_FLY
19
- @view_height = USPSFlags::Config::BASE_HOIST
20
- set_pennant_height(@height) if pennant
21
- else
22
- @view_width = width * scale
23
- @view_height = height * scale
24
- end
15
+ return no_sizes(scale, pennant) if @width.nil? || @height.nil?
16
+
17
+ @view_width = width * scale
18
+ @view_height = height * scale
25
19
  end
26
20
 
27
21
  def svg
28
- svg = ''
29
- svg << <<~SVG
22
+ svg = +''
23
+ svg << header_top
24
+ svg << trademark unless @title == 'US Ensign'
25
+ svg << '</metadata>'
26
+
27
+ svg
28
+ end
29
+
30
+ private
31
+
32
+ def no_sizes(scale, pennant)
33
+ @width = USPSFlags::Config::BASE_FLY / scale
34
+ @height = (@width * Rational(2, 3)).to_i
35
+ @view_width = USPSFlags::Config::BASE_FLY
36
+ @view_height = USPSFlags::Config::BASE_HOIST
37
+ set_pennant_height(@height) if pennant
38
+ end
39
+
40
+ def set_pennant_height(height)
41
+ @height = height / 4
42
+ @view_height = USPSFlags::Config::BASE_HOIST / 4
43
+ end
44
+
45
+ def header_top
46
+ <<~SVG
30
47
  <?xml version="1.0" standalone="no"?>
31
48
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
32
49
  <svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="#{@width}" height="#{@height}" viewBox="0 0 #{@view_width} #{@view_height}" preserveAspectRatio="xMidYMid meet">
@@ -35,25 +52,12 @@ class USPSFlags::Core::Headers
35
52
  <desc id="created-by">Julian Fiander</desc>
36
53
  <desc id="generated-at">#{@generated_at}</desc>
37
54
  SVG
38
-
39
- unless @title == 'US Ensign'
40
- svg << <<~SVG
41
- <desc id="trademark-desc">This image is a registered trademark of United States Power Squadrons.</desc>
42
- <desc id="trademark-link">https://www.usps.org/images/secretary/itcom/trademark.pdf</desc>
43
- SVG
44
- end
45
-
46
- svg << <<~SVG
47
- </metadata>
48
- SVG
49
-
50
- svg
51
55
  end
52
56
 
53
- private
54
-
55
- def set_pennant_height(height)
56
- @height = height / 4
57
- @view_height = USPSFlags::Config::BASE_HOIST / 4
57
+ def trademark
58
+ <<~SVG
59
+ <desc id="trademark-desc">This image is a registered trademark of United States Power Squadrons.</desc>
60
+ <desc id="trademark-link">https://www.usps.org/images/secretary/itcom/trademark.pdf</desc>
61
+ SVG
58
62
  end
59
63
  end
@@ -6,27 +6,21 @@
6
6
  # @private
7
7
  class USPSFlags::Core::Icons::Star
8
8
  def svg
9
- points = [
10
- [117.555, 81.805],
11
- [-41.47, -137.085],
12
- [114.125, -86.525],
13
- [-143.185, -2.915],
14
- [-47.025, -135.28],
15
- [-47.025, 135.28],
16
- [-143.185, 2.915],
17
- [114.125, 86.525],
18
- [-41.47, 137.085],
19
- [117.555, -81.805]
20
- ]
21
-
22
9
  svg = "<path d=\"M 0 0\n"
23
-
24
- points.each do |x, y|
25
- svg << "l #{x} #{y}\n"
26
- end
27
-
10
+ points.each { |x, y| svg << "l #{x} #{y}\n" }
28
11
  svg << "\" fill=\"#FFFFFF\" />\n"
29
12
 
30
13
  svg
31
14
  end
15
+
16
+ private
17
+
18
+ def points
19
+ [
20
+ [117.555, 81.805], [-41.47, -137.085], [114.125, -86.525],
21
+ [-143.185, -2.915], [-47.025, -135.28], [-47.025, 135.28],
22
+ [-143.185, 2.915], [114.125, 86.525], [-41.47, 137.085],
23
+ [117.555, -81.805]
24
+ ]
25
+ end
32
26
  end