badge 0.9.0 → 0.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/LICENSE +1 -1
- data/README.md +3 -1
- data/assets/beta_badge_light.png +0 -0
- data/lib/badge/base.rb +5 -1
- data/lib/badge/options.rb +13 -6
- data/lib/badge/runner.rb +18 -20
- metadata +12 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cde282fe94dedab5bdc9545d4e9b1519268a3cef9b1653b23bd7356c6cd03c89
|
4
|
+
data.tar.gz: 86bc387e9bdddf2d7015f13917895db8d12f0608db2e1543b2b69d90fca485e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1da1500396eaf05ffb16208af5dc5d48f269f43254cff36f59ec8adfab7ba650866ef4af8ea88d6dad779e707ebd65448b0d259c9b62bf62ef216ab7a16ebd61
|
7
|
+
data.tar.gz: 9ebfcdd75567fbddf15a4c72c9e8e6b1e65b13aff0e66bfb3a7274a947ef189cce38f886f4843d4c49e4e2f5f32c37eda3890ce31a64d084e8294ae5d48bff0b
|
data/LICENSE
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c)
|
3
|
+
Copyright (c) 2019 Daniel Griesser <daniel.griesser.86@gmail.com>
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
@@ -104,7 +104,9 @@ Sometimes the response from shields.io takes a long time and can timeout. You ca
|
|
104
104
|
|
105
105
|
`--shield_gravity North` changes the postion of the shield on the icon. Choices include: NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast.
|
106
106
|
|
107
|
-
|
107
|
+
`--shield_parameters "colorA=abcdef&style=flat"` changes the parameters of the shield image. It uses a string of key-value pairs separated by ampersand as specified on shields.io, eg: colorA=abcdef&style=flat.
|
108
|
+
|
109
|
+
In version [0.4.0](https://github.com/HazAT/badge/releases/tag/0.4.0) the default behavior of the shield graphic has been changed. The shield graphic will always be resized to **aspect fill** the icon instead of just adding the shield on the icon. To disable the new behaviour use `--shield_no_resize` which now only puts the shield on the icon again.
|
108
110
|
|
109
111
|
Add ```--no_badge``` as an option to hide the beta badge completely if you just want to add a shield.
|
110
112
|
|
data/assets/beta_badge_light.png
CHANGED
Binary file
|
data/lib/badge/base.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Badge
|
2
2
|
|
3
|
-
VERSION = "0.
|
3
|
+
VERSION = "0.13.0"
|
4
4
|
DESCRIPTION = "Add a badge overlay to your app icon"
|
5
5
|
|
6
6
|
def self.root
|
@@ -28,6 +28,10 @@ module Badge
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def self.shield_base_url
|
31
|
+
'https://raster.shields.io'
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.shield_svg_base_url
|
31
35
|
'https://img.shields.io'
|
32
36
|
end
|
33
37
|
|
data/lib/badge/options.rb
CHANGED
@@ -11,7 +11,7 @@ module Badge
|
|
11
11
|
optional: true),
|
12
12
|
|
13
13
|
FastlaneCore::ConfigItem.new(key: :alpha,
|
14
|
-
description: "Uses the
|
14
|
+
description: "Uses the word alpha instead of beta",
|
15
15
|
is_string: false,
|
16
16
|
optional: true),
|
17
17
|
|
@@ -32,7 +32,7 @@ module Badge
|
|
32
32
|
FastlaneCore::ConfigItem.new(key: :badge_gravity,
|
33
33
|
description: "Position of the badge on icon. Default: SouthEast - Choices include: #{AVAILABLE_GRAVITIES.join(', ')}",
|
34
34
|
verify_block: proc do |value|
|
35
|
-
UI.user_error!("badge_gravity #{value} is invalid") unless AVAILABLE_GRAVITIES.include?
|
35
|
+
UI.user_error!("badge_gravity #{value} is invalid") unless AVAILABLE_GRAVITIES.map(&:upcase).include? value.upcase
|
36
36
|
end,
|
37
37
|
optional: true),
|
38
38
|
|
@@ -40,8 +40,12 @@ module Badge
|
|
40
40
|
description: "Overlay a shield from shields.io on your icon, eg: Version-1.2-green",
|
41
41
|
optional: true),
|
42
42
|
|
43
|
+
FastlaneCore::ConfigItem.new(key: :shield_parameters,
|
44
|
+
description: "Parameters of the shield image. String of key-value pairs separated by ampersand as specified on shields.io, eg: colorA=abcdef&style=flat",
|
45
|
+
optional: true),
|
46
|
+
|
43
47
|
FastlaneCore::ConfigItem.new(key: :shield_io_timeout,
|
44
|
-
description: "The timeout in seconds we should wait
|
48
|
+
description: "The timeout in seconds we should wait to get a response from shields.io",
|
45
49
|
type: Integer,
|
46
50
|
optional: true),
|
47
51
|
|
@@ -50,7 +54,10 @@ module Badge
|
|
50
54
|
optional: true),
|
51
55
|
|
52
56
|
FastlaneCore::ConfigItem.new(key: :shield_gravity,
|
53
|
-
description: "Position of shield on icon. Default: North - Choices include:
|
57
|
+
description: "Position of shield on icon. Default: North - Choices include: #{AVAILABLE_GRAVITIES.join(', ')}",
|
58
|
+
verify_block: proc do |value|
|
59
|
+
UI.user_error!("badge_gravity #{value} is invalid") unless AVAILABLE_GRAVITIES.map(&:upcase).include? value.upcase
|
60
|
+
end,
|
54
61
|
optional: true),
|
55
62
|
|
56
63
|
FastlaneCore::ConfigItem.new(key: :shield_scale,
|
@@ -58,12 +65,12 @@ module Badge
|
|
58
65
|
optional: true),
|
59
66
|
|
60
67
|
FastlaneCore::ConfigItem.new(key: :shield_no_resize,
|
61
|
-
description: "Shield image will no longer be resized to aspect fill the full icon. Instead it will only be
|
68
|
+
description: "Shield image will no longer be resized to aspect fill the full icon. Instead it will only be shrunk to not exceed the icon graphic",
|
62
69
|
is_string: false,
|
63
70
|
optional: true),
|
64
71
|
|
65
72
|
FastlaneCore::ConfigItem.new(key: :glob,
|
66
|
-
description: "Glob pattern for finding image files Default: CURRENT_PATH/**/*.appiconset/*.{png,PNG}",
|
73
|
+
description: "Glob pattern for finding image files. Default: CURRENT_PATH/**/*.appiconset/*.{png,PNG}",
|
67
74
|
optional: true),
|
68
75
|
|
69
76
|
FastlaneCore::ConfigItem.new(key: :grayscale,
|
data/lib/badge/runner.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'fastimage'
|
2
2
|
require 'timeout'
|
3
3
|
require 'mini_magick'
|
4
|
-
require '
|
4
|
+
require 'open-uri'
|
5
5
|
|
6
6
|
module Badge
|
7
7
|
class Runner
|
@@ -35,11 +35,11 @@ module Badge
|
|
35
35
|
timeout = Badge.shield_io_timeout
|
36
36
|
timeout = options[:shield_io_timeout] if options[:shield_io_timeout]
|
37
37
|
Timeout.timeout(timeout.to_i) do
|
38
|
-
shield = load_shield(options[:shield]) if options[:shield]
|
38
|
+
shield = load_shield(options[:shield], options[:shield_parameters]) if options[:shield]
|
39
39
|
end
|
40
40
|
rescue Timeout::Error
|
41
41
|
UI.error "Error loading image from shields.io timeout reached. Use --verbose for more info".red
|
42
|
-
rescue
|
42
|
+
rescue OpenURI::HTTPError => error
|
43
43
|
response = error.io
|
44
44
|
UI.error "Error loading image from shields.io response Error. Use --verbose for more info".red
|
45
45
|
UI.verbose response.status if FastlaneCore::Globals.verbose?
|
@@ -90,12 +90,6 @@ module Badge
|
|
90
90
|
else
|
91
91
|
UI.message "Did nothing... Enable --verbose for more info.".red
|
92
92
|
end
|
93
|
-
|
94
|
-
if shield
|
95
|
-
File.delete(shield) if File.exist?(shield)
|
96
|
-
File.delete("#{shield.path}.png") if File.exist?("#{shield.path}.png")
|
97
|
-
end
|
98
|
-
|
99
93
|
else
|
100
94
|
UI.error "Could not find any app icons...".red
|
101
95
|
end
|
@@ -109,10 +103,15 @@ module Badge
|
|
109
103
|
|
110
104
|
if @@rsvg_enabled
|
111
105
|
new_path = "#{shield.path}.png"
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
106
|
+
begin
|
107
|
+
if shield_no_resize
|
108
|
+
`rsvg-convert #{shield.path} -z #{shield_scale} -o #{new_path}`
|
109
|
+
else
|
110
|
+
`rsvg-convert #{shield.path} -w #{(icon.width * shield_scale).to_i} -a -o #{new_path}`
|
111
|
+
end
|
112
|
+
rescue Exception => error
|
113
|
+
UI.error "Other error occured. Use --verbose for more info".red
|
114
|
+
UI.verbose error if FastlaneCore::Globals.verbose?
|
116
115
|
end
|
117
116
|
new_shield = MiniMagick::Image.open(new_path)
|
118
117
|
else
|
@@ -127,17 +126,16 @@ module Badge
|
|
127
126
|
result = composite(result, new_shield, alpha_channel, shield_gravity || "north", shield_geometry)
|
128
127
|
end
|
129
128
|
|
130
|
-
def load_shield(shield_string)
|
131
|
-
url = Badge.shield_base_url + Badge.shield_path + shield_string + (@@rsvg_enabled ? ".svg" : ".png")
|
132
|
-
|
129
|
+
def load_shield(shield_string, shield_parameters)
|
130
|
+
url = (@@rsvg_enabled ? Badge.shield_svg_base_url : Badge.shield_base_url) + Badge.shield_path + shield_string + (@@rsvg_enabled ? ".svg" : ".png")
|
131
|
+
if shield_parameters
|
132
|
+
url = url + "?" + shield_parameters
|
133
|
+
end
|
133
134
|
|
134
135
|
UI.verbose "Trying to load image from shields.io. Timeout: #{Badge.shield_io_timeout}s".blue
|
135
136
|
UI.verbose "URL: #{url}".blue
|
136
137
|
|
137
|
-
|
138
|
-
MiniMagick::Image.open(file_name) unless @@rsvg_enabled
|
139
|
-
|
140
|
-
File.open(file_name)
|
138
|
+
MiniMagick::Image.open(url)
|
141
139
|
end
|
142
140
|
|
143
141
|
def check_tools!
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: badge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Griesser
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: curb
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0.9'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0.9'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: fastlane
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,15 +44,21 @@ dependencies:
|
|
58
44
|
requirements:
|
59
45
|
- - ">="
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
47
|
+
version: 4.9.4
|
48
|
+
- - "<"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 5.0.0
|
62
51
|
type: :runtime
|
63
52
|
prerelease: false
|
64
53
|
version_requirements: !ruby/object:Gem::Requirement
|
65
54
|
requirements:
|
66
55
|
- - ">="
|
67
56
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
69
|
-
|
57
|
+
version: 4.9.4
|
58
|
+
- - "<"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 5.0.0
|
61
|
+
description: 0.13.0
|
70
62
|
email:
|
71
63
|
- daniel.griesser.86@gmail.com
|
72
64
|
executables:
|
@@ -105,8 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
105
97
|
- !ruby/object:Gem::Version
|
106
98
|
version: '0'
|
107
99
|
requirements: []
|
108
|
-
|
109
|
-
rubygems_version: 2.5.2
|
100
|
+
rubygems_version: 3.0.3
|
110
101
|
signing_key:
|
111
102
|
specification_version: 4
|
112
103
|
summary: Add a badge overlay to your app icon
|