usps_flags-grades 0.0.6 → 0.0.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a9fe2eb294805179bfd1e121d34e998206e4eb2ae279749698c89f68dfddaba6
4
- data.tar.gz: cb891ffa5ba8192566fd810693d82731a1b4d3d1eba92a94648d72a7ee7a451f
3
+ metadata.gz: 5a5991abb508061d741c0e065757ecc32ddbd14e878d1203dd45785916f6e5f1
4
+ data.tar.gz: 6e53b7a1d08472ad0152747f96b236100c948142a995c845464e8125a3fe2ced
5
5
  SHA512:
6
- metadata.gz: 0d2f9d2a15065686905311d594b51b7b2431be98baf5b9325e10f3045c9e667d1477ecc2a5c3b10be1a0ab6ef84abbdc4eec8104d366e527cea67cb36bb985fe
7
- data.tar.gz: cb1f0b25caf8d67d22ed28d28742679e6fc17d029427f17112558e772852a91581528fb903e51f6ffd84e52eb0a6bf08809e3f0d215dc5093b62146ccfef6211
6
+ metadata.gz: 011e2f9724320cfb0fb8b07fc8d2c00b3b813226bedb5c94a7dea12b34fd8b9d3c86bd6bfcad507305c0fe6d5f2b0be54a3a23dfe6701f086b89aa88acdf88da
7
+ data.tar.gz: 2b3ac1f555c1728eaf7dfeb1bdda2b0309d3a90e439b23c83803eb329a2f058f78580e71ca8eee7d79f3e66048f874949b7060956492615c41a3cd263e574218
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- usps_flags-grades (0.0.6)
5
- usps_flags (~> 0.3, >= 0.3.18)
4
+ usps_flags-grades (0.0.7)
5
+ usps_flags (~> 0.3, >= 0.3.21)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
@@ -32,7 +32,7 @@ GEM
32
32
  json (>= 1.8, < 3)
33
33
  simplecov-html (~> 0.10.0)
34
34
  simplecov-html (0.10.2)
35
- usps_flags (0.3.20)
35
+ usps_flags (0.3.21)
36
36
  file_utils (~> 1.1, >= 1.1.2)
37
37
  mini_magick (~> 4.8, >= 4.8.0)
38
38
  rubyzip (~> 1.2, >= 1.2.1)
data/README.md CHANGED
@@ -5,7 +5,8 @@
5
5
  [![Test Coverage](https://api.codeclimate.com/v1/badges/760b824f0edac3316a11/test_coverage)](https://codeclimate.com/github/jfiander/usps-flags_grades/test_coverage)
6
6
  [![Maintainability](https://api.codeclimate.com/v1/badges/760b824f0edac3316a11/maintainability)](https://codeclimate.com/github/jfiander/usps-flags_grades/maintainability)
7
7
 
8
- An extension for [USPSFlags](https://github.com/jfiander/usps-flags) to generate grade insignia.
8
+ An extension for [USPSFlags](https://github.com/jfiander/usps-flags) to generate
9
+ regrade insignia.
9
10
 
10
11
  ## Usage
11
12
 
@@ -20,27 +21,11 @@ end
20
21
  insignia.svg #=> Generates SVG file at "/path/to/svg/output.svg"
21
22
  ```
22
23
 
23
- ## Security
24
-
25
- This gem is cryptographically signed. To be sure the gem code hasn’t been
26
- tampered with:
27
-
28
- Add my public key as a trusted certificate:
29
-
30
- ```sh
31
- gem cert --add <(curl -Ls https://raw.github.com/jfiander/usps-flags_grades/master/certs/jfiander.pem)
32
- ```
33
-
34
- Then install the gem securely:
35
-
36
- ```sh
37
- gem install usps_flags-grades -P HighSecurity
38
- ```
39
-
40
24
  ## License
41
25
 
42
- Actual images generated may be registered trademarks of their
43
- respective squadrons.
26
+ Actual images generated are
27
+ [registered trademarks](http://www.usps.org/national/itcom/trademark.html) of
28
+ United States Power Squadrons.
44
29
 
45
30
  This project is released under the
46
31
  [GPLv3](https://raw.github.com/jfiander/usps-flags-grades/master/LICENSE).
@@ -42,7 +42,7 @@ class USPSFlags::Grades
42
42
  def svg
43
43
  validate
44
44
  @svg = <<~SVG
45
- #{USPSFlags::Core.headers(title: self.title)}
45
+ #{USPSFlags::Core.headers(title: title)}
46
46
  <g transform="translate(0, 50)">
47
47
  #{USPSFlags::Grades::Grade.get(@grade)}
48
48
  #{USPSFlags::Grades::EdPro.get(@grade) if @edpro && USPSFlags::Grades::EdPro.for_grade(@grade)}
@@ -57,6 +57,9 @@ class USPSFlags::Grades
57
57
  USPSFlags::Helpers.output(@svg, outfile: @outfile)
58
58
  end
59
59
 
60
+ # Generates the descriptive title for the SVG.
61
+ #
62
+ # @return [String] Returns the descriptive title.
60
63
  def title
61
64
  grade = @grade.to_s.upcase
62
65
  edpro = " - EdPro" if @edpro && @grade != :sn
@@ -71,9 +74,28 @@ class USPSFlags::Grades
71
74
  end
72
75
 
73
76
  private
77
+
74
78
  def validate
75
- raise USPSFlags::Errors::InvalidInsignia, "Unknown grade: #{@grade}" unless @grade.nil? || USPSFlags::Grades::Grade.valid_grades.include?(@grade)
76
- raise USPSFlags::Errors::InvalidInsignia, "EdPro must be boolean" unless [true, false].include?(@edpro)
77
- raise USPSFlags::Errors::InvalidInsignia, "Unknown membership level: #{@membership}" unless [nil, :senior, :life].include?(@membership)
79
+ validate_grade
80
+ validate_edpro
81
+ validate_membership
82
+ end
83
+
84
+ def validate_grade
85
+ return if @grade.nil? || USPSFlags::Grades::Grade.valid_grades.include?(@grade)
86
+
87
+ raise USPSFlags::Errors::InvalidInsignia, "Unknown grade: #{@grade}"
88
+ end
89
+
90
+ def validate_edpro
91
+ return if [true, false].include?(@edpro)
92
+
93
+ raise USPSFlags::Errors::InvalidInsignia, "EdPro must be boolean"
94
+ end
95
+
96
+ def validate_membership
97
+ return if [nil, :senior, :life].include?(@membership)
98
+
99
+ raise USPSFlags::Errors::InvalidInsignia, "Unknown membership level: #{@membership}"
78
100
  end
79
101
  end
@@ -1,14 +1,38 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe USPSFlags::Grades do
4
- context "invalid grade" do
5
- it "should raise USPSFlags::Errors::InvalidInsignia if an invalid insignia is specified" do
4
+ describe "invalid insignia" do
5
+ it "should raise USPSFlags::Errors::InvalidInsignia if an invalid grade is specified" do
6
6
  @insignia = USPSFlags::Grades.new do |b|
7
7
  b.grade = :not_a_grade
8
8
  b.outfile = ""
9
9
  end
10
10
 
11
- expect { @insignia.svg }.to raise_error(USPSFlags::Errors::InvalidInsignia)
11
+ expect { @insignia.svg }.to raise_error(
12
+ USPSFlags::Errors::InvalidInsignia, "Unknown grade: not_a_grade"
13
+ )
14
+ end
15
+
16
+ it "should raise USPSFlags::Errors::InvalidInsignia if an invalid edpro is specified" do
17
+ @insignia = USPSFlags::Grades.new do |b|
18
+ b.edpro = nil
19
+ b.outfile = ""
20
+ end
21
+
22
+ expect { @insignia.svg }.to raise_error(
23
+ USPSFlags::Errors::InvalidInsignia, "EdPro must be boolean"
24
+ )
25
+ end
26
+
27
+ it "should raise USPSFlags::Errors::InvalidInsignia if an invalid membership is specified" do
28
+ @insignia = USPSFlags::Grades.new do |b|
29
+ b.membership = :normal
30
+ b.outfile = ""
31
+ end
32
+
33
+ expect { @insignia.svg }.to raise_error(
34
+ USPSFlags::Errors::InvalidInsignia, "Unknown membership level: normal"
35
+ )
12
36
  end
13
37
  end
14
38
 
@@ -257,11 +281,8 @@ describe USPSFlags::Grades do
257
281
  end
258
282
 
259
283
  it "should have the SN insignia box" do
260
- expect(@insignia.svg).to include(
261
- <<~SVG
262
- <polyline points="20,-10 735,-10 735,150 20,150 20,-10" fill="none" stroke-width="15" stroke="#FFBF3F" />
263
- SVG
264
- )
284
+ expect(@insignia.svg).to include('<rect x="20" y="-10" width="')
285
+ expect(@insignia.svg).to include('" height="150" fill="none" stroke-width="15"')
265
286
  end
266
287
 
267
288
  it "should have a senior member arrow" do
@@ -270,6 +291,7 @@ describe USPSFlags::Grades do
270
291
  <polyline points="0,250 75,220 75,240 150,240 150,260 75,260 75,280 0,250" fill="#FFBF3F" />
271
292
  <polyline points="145,240 350,240 350,260 145,260 145,240" fill="#FFBF3F" />
272
293
  <polyline points="400,240 610,240 610,260 400,260 400,240" fill="#FFBF3F" />
294
+
273
295
  <polyline points="600,240 675,240 675,220 750,250 675,280 675,260 600,260 600,240" fill="#FFBF3F" />
274
296
 
275
297
  <polyline points="325,200 350,200 375,275 400,200 425,200 390,300 360,300 325,200" fill="#FFBF3F" />
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'usps_flags-grades'
3
- s.version = '0.0.6'
4
- s.date = '2019-01-23'
3
+ s.version = '0.0.7'
4
+ s.date = '2019-02-08'
5
5
  s.summary = 'Insignia generator for United States Power Squadrons'
6
6
  s.description = 'An extension to the flag image (PNG, SVG) generator for United States Power Squadrons to generate grade insignia.'
7
7
  s.homepage = 'http://rubygems.org/gems/usps_flags-grades'
@@ -12,12 +12,9 @@ Gem::Specification.new do |s|
12
12
  s.files = `git ls-files`.split("\n")
13
13
  s.test_files = `git ls-files -- spec/*`.split("\n")
14
14
 
15
- s.cert_chain = ['certs/jfiander.pem']
16
- s.signing_key = File.expand_path("~/.ssh/usps-flags-cert-2019.pem") if $0 =~ /gem\z/
17
-
18
15
  s.required_ruby_version = '~> 2.4'
19
16
 
20
- s.add_runtime_dependency 'usps_flags', '~> 0.3', '>= 0.3.18'
17
+ s.add_runtime_dependency 'usps_flags', '~> 0.3', '>= 0.3.21'
21
18
 
22
19
  s.add_development_dependency 'rake', '~> 12.2', '>= 12.2.1'
23
20
  s.add_development_dependency 'rspec', '~> 3.7', '>= 3.7.0'
metadata CHANGED
@@ -1,41 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: usps_flags-grades
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julian Fiander
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain:
11
- - |
12
- -----BEGIN CERTIFICATE-----
13
- MIIEdDCCAtygAwIBAgIBATANBgkqhkiG9w0BAQsFADBAMRIwEAYDVQQDDAlqc2Zp
14
- YW5kZXIxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
15
- bTAeFw0xOTAxMjMxNzM4MjVaFw0yMDAxMjMxNzM4MjVaMEAxEjAQBgNVBAMMCWpz
16
- ZmlhbmRlcjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYD
17
- Y29tMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA1wNuP8liL/6u1CPf
18
- mDHh3pQVrmjhoXrahUnCYpFNuxLtLr5uguhHYGK2pnUXmaJ5yECuMkYyNpdw5Cr0
19
- DQXyQU3xLbZRvxBSYqzADxVsH/QYoxUkpSJCIY24eOa/5ri5VripMyB05C9J6xdM
20
- Useylp5mkEwpw/0yHaniE93Bh3NOpQfN3leW6ipffavcExEI6/YSv6biqO7ksz+J
21
- wlY8N96vldmd5f/Ha+R/Gu4o/u/8XsrJ9wGZHixHOMJVSweXEhUg+wnYC/r6vAqy
22
- C8kxqqT47phSiODnuWMdC9JAgIXseXEvRAMMvipMjtewgrIvPd98qBlR41nlQKby
23
- 9Do4tnrECb9qXqVNJ7RHC6/D4OZJtvgjCuEGLdJWMv4J7Wl+fKjXOqQXlNlGmwXh
24
- CVlVuGw7dFGy3PjhAjyU81i5oXE3HzvizOrQBU+yby0pZlM4WEQdEfLnh4BUlGnm
25
- sXV5BZxMSUaPwZvH4yaVSOtDBEGdqeFTy1SI/gVRMrBJdapdAgMBAAGjeTB3MAkG
26
- A1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQMubWRr7n9KJE88qGhjrYJ
27
- htcFcTAeBgNVHREEFzAVgRNqc2ZpYW5kZXJAZ21haWwuY29tMB4GA1UdEgQXMBWB
28
- E2pzZmlhbmRlckBnbWFpbC5jb20wDQYJKoZIhvcNAQELBQADggGBACHlt/26Rb+4
29
- bXNcA9/0ELXbFY5ABJfs2yI0RKTpi+8kQDxK7WnPzBS1k6DBsyEJpUoJ1O9DIjxB
30
- in5veCTurZdykBtLsWWyAgCeP7rM9TktaUDQGux7rm3tOao2OSx6sDSKo6ndblvw
31
- Pk1RPFH+9EjaW7fl2wdDgSKvFjywbrM75cQnaO0NXor7RjN6bga4VhwgraPmqaDR
32
- oQc3hfDDcAKegakpIoyKj+X8Qe2p8u4bJAiFxEIG+tiyvDq5eDmHz+shCRidfZU2
33
- bngpXAucsBOd0mkoPJDnRy0Tq+Bt3ABYpXRxiGSdU0IaiswaAJbS/gE8o3F6cFt+
34
- rXsgsbyfuQ2qLMlerkty7GJ+pHsj4MEVXsBm2nydroGlrfM2iNTUozBYAmSgPNRB
35
- B1FdUkmlEmKUkHPDdhxKep/O05CqDPBfXI+1e6NvmOveMz0Hqh4JFm0LL1Z8RrJ3
36
- jLN773uenk91I/YgJu6f1X7E5nN6BJNgL+hI0JdZrclhFvsWMGu3EA==
37
- -----END CERTIFICATE-----
38
- date: 2019-01-23 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2019-02-08 00:00:00.000000000 Z
39
12
  dependencies:
40
13
  - !ruby/object:Gem::Dependency
41
14
  name: usps_flags
@@ -46,7 +19,7 @@ dependencies:
46
19
  version: '0.3'
47
20
  - - ">="
48
21
  - !ruby/object:Gem::Version
49
- version: 0.3.18
22
+ version: 0.3.21
50
23
  type: :runtime
51
24
  prerelease: false
52
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -56,7 +29,7 @@ dependencies:
56
29
  version: '0.3'
57
30
  - - ">="
58
31
  - !ruby/object:Gem::Version
59
- version: 0.3.18
32
+ version: 0.3.21
60
33
  - !ruby/object:Gem::Dependency
61
34
  name: rake
62
35
  requirement: !ruby/object:Gem::Requirement
@@ -134,7 +107,6 @@ files:
134
107
  - LICENSE
135
108
  - README.md
136
109
  - Rakefile
137
- - certs/jfiander.pem
138
110
  - lib/usps_flags/grades.rb
139
111
  - lib/usps_flags/grades/config.rb
140
112
  - lib/usps_flags/grades/edpro.rb
@@ -1,3 +0,0 @@
1
- 0f�Tt^is�Fm�����"V��AjfoF���L�tЁmE�j��:�t_Wd{����R�c
2
- �1ѧ�%"@"��~��T��P�Ij�����dKQ�tL�W�mÑ1�;k�2K�Q5�^��H�&�b�/��`�ယ�R���f$�����W&x�Һsh.�ZN�L����`B���
3
- U�;����m����.�*�b���j��C���� :?�Ѿ'��]LP(�Ρw��Џ*���k W� d@&CdRA,�
data.tar.gz.sig DELETED
Binary file
@@ -1,26 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIEdDCCAtygAwIBAgIBATANBgkqhkiG9w0BAQsFADBAMRIwEAYDVQQDDAlqc2Zp
3
- YW5kZXIxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
4
- bTAeFw0xOTAxMjMxNzM4MjVaFw0yMDAxMjMxNzM4MjVaMEAxEjAQBgNVBAMMCWpz
5
- ZmlhbmRlcjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYD
6
- Y29tMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA1wNuP8liL/6u1CPf
7
- mDHh3pQVrmjhoXrahUnCYpFNuxLtLr5uguhHYGK2pnUXmaJ5yECuMkYyNpdw5Cr0
8
- DQXyQU3xLbZRvxBSYqzADxVsH/QYoxUkpSJCIY24eOa/5ri5VripMyB05C9J6xdM
9
- Useylp5mkEwpw/0yHaniE93Bh3NOpQfN3leW6ipffavcExEI6/YSv6biqO7ksz+J
10
- wlY8N96vldmd5f/Ha+R/Gu4o/u/8XsrJ9wGZHixHOMJVSweXEhUg+wnYC/r6vAqy
11
- C8kxqqT47phSiODnuWMdC9JAgIXseXEvRAMMvipMjtewgrIvPd98qBlR41nlQKby
12
- 9Do4tnrECb9qXqVNJ7RHC6/D4OZJtvgjCuEGLdJWMv4J7Wl+fKjXOqQXlNlGmwXh
13
- CVlVuGw7dFGy3PjhAjyU81i5oXE3HzvizOrQBU+yby0pZlM4WEQdEfLnh4BUlGnm
14
- sXV5BZxMSUaPwZvH4yaVSOtDBEGdqeFTy1SI/gVRMrBJdapdAgMBAAGjeTB3MAkG
15
- A1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQMubWRr7n9KJE88qGhjrYJ
16
- htcFcTAeBgNVHREEFzAVgRNqc2ZpYW5kZXJAZ21haWwuY29tMB4GA1UdEgQXMBWB
17
- E2pzZmlhbmRlckBnbWFpbC5jb20wDQYJKoZIhvcNAQELBQADggGBACHlt/26Rb+4
18
- bXNcA9/0ELXbFY5ABJfs2yI0RKTpi+8kQDxK7WnPzBS1k6DBsyEJpUoJ1O9DIjxB
19
- in5veCTurZdykBtLsWWyAgCeP7rM9TktaUDQGux7rm3tOao2OSx6sDSKo6ndblvw
20
- Pk1RPFH+9EjaW7fl2wdDgSKvFjywbrM75cQnaO0NXor7RjN6bga4VhwgraPmqaDR
21
- oQc3hfDDcAKegakpIoyKj+X8Qe2p8u4bJAiFxEIG+tiyvDq5eDmHz+shCRidfZU2
22
- bngpXAucsBOd0mkoPJDnRy0Tq+Bt3ABYpXRxiGSdU0IaiswaAJbS/gE8o3F6cFt+
23
- rXsgsbyfuQ2qLMlerkty7GJ+pHsj4MEVXsBm2nydroGlrfM2iNTUozBYAmSgPNRB
24
- B1FdUkmlEmKUkHPDdhxKep/O05CqDPBfXI+1e6NvmOveMz0Hqh4JFm0LL1Z8RrJ3
25
- jLN773uenk91I/YgJu6f1X7E5nN6BJNgL+hI0JdZrclhFvsWMGu3EA==
26
- -----END CERTIFICATE-----
metadata.gz.sig DELETED
Binary file