remove_bg 1.4.1 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +298 -57
- data/.depfu.yml +21 -0
- data/.editorconfig +19 -0
- data/.gitignore +8 -8
- data/.grenrc.json +20 -0
- data/.rspec +5 -0
- data/.rubocop.yml +43 -0
- data/Appraisals +49 -10
- data/CHANGELOG.md +12 -0
- data/Gemfile +2 -5
- data/Gemfile.lock +132 -62
- data/LICENSE.md +25 -0
- data/README.md +93 -38
- data/Rakefile +4 -0
- data/SECURITY.md +36 -0
- data/gemfiles/faraday_2_0.gemfile +7 -0
- data/gemfiles/faraday_2_1.gemfile +7 -0
- data/gemfiles/faraday_2_2.gemfile +7 -0
- data/gemfiles/faraday_2_3.gemfile +7 -0
- data/gemfiles/faraday_2_4.gemfile +7 -0
- data/gemfiles/faraday_2_5.gemfile +7 -0
- data/gemfiles/faraday_2_6.gemfile +7 -0
- data/gemfiles/faraday_2_7.gemfile +7 -0
- data/gemfiles/faraday_2_8.gemfile +7 -0
- data/gemfiles/faraday_2_9.gemfile +7 -0
- data/gemfiles/faraday_2_x.gemfile +7 -0
- data/lib/remove_bg/account_info.rb +7 -1
- data/lib/remove_bg/api.rb +2 -0
- data/lib/remove_bg/api_client.rb +31 -12
- data/lib/remove_bg/base_request_options.rb +2 -0
- data/lib/remove_bg/composite_result.rb +29 -10
- data/lib/remove_bg/configuration.rb +16 -3
- data/lib/remove_bg/error.rb +12 -2
- data/lib/remove_bg/http_connection.rb +9 -4
- data/lib/remove_bg/image_composer.rb +28 -9
- data/lib/remove_bg/rate_limit_info.rb +9 -6
- data/lib/remove_bg/request_options.rb +32 -0
- data/lib/remove_bg/result.rb +29 -4
- data/lib/remove_bg/result_metadata.rb +2 -0
- data/lib/remove_bg/upload.rb +7 -5
- data/lib/remove_bg/url_validator.rb +4 -4
- data/lib/remove_bg/version.rb +3 -1
- data/lib/remove_bg.rb +19 -0
- data/remove_bg.gemspec +43 -16
- data/resources/removebgByCanva.svg +47 -0
- data/sonar-project.properties +22 -0
- data/tasks/version.rake +34 -0
- metadata +243 -63
- data/.env.test +0 -2
- data/LICENSE +0 -21
- data/gemfiles/faraday_0_15.gemfile +0 -11
- data/gemfiles/faraday_0_16.gemfile +0 -11
- data/gemfiles/faraday_0_17.gemfile +0 -11
- data/gemfiles/faraday_1_x.gemfile +0 -11
data/Gemfile.lock
CHANGED
@@ -1,89 +1,159 @@
|
|
1
|
-
GIT
|
2
|
-
remote: https://github.com/thoughtbot/appraisal.git
|
3
|
-
revision: 586864393e405a67b1457b563a4d5adc99e50e2d
|
4
|
-
ref: 5868643
|
5
|
-
specs:
|
6
|
-
appraisal (2.2.0)
|
7
|
-
bundler
|
8
|
-
rake
|
9
|
-
thor (>= 0.14.0)
|
10
|
-
|
11
1
|
PATH
|
12
2
|
remote: .
|
13
3
|
specs:
|
14
|
-
remove_bg (
|
15
|
-
faraday (>=
|
16
|
-
|
4
|
+
remove_bg (2.0.0)
|
5
|
+
faraday (>= 2, <= 3)
|
6
|
+
faraday-multipart (~> 1.0)
|
7
|
+
faraday-retry (~> 2.2)
|
8
|
+
image_processing (~> 1.12)
|
17
9
|
rubyzip (>= 2.0, < 3)
|
18
10
|
|
19
11
|
GEM
|
20
12
|
remote: https://rubygems.org/
|
21
13
|
specs:
|
22
|
-
addressable (2.7
|
23
|
-
public_suffix (>= 2.0.2, <
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
14
|
+
addressable (2.8.7)
|
15
|
+
public_suffix (>= 2.0.2, < 7.0)
|
16
|
+
appraisal (2.5.0)
|
17
|
+
bundler
|
18
|
+
rake
|
19
|
+
thor (>= 0.14.0)
|
20
|
+
ast (2.4.2)
|
21
|
+
bigdecimal (3.1.8)
|
22
|
+
coderay (1.1.3)
|
23
|
+
crack (1.0.0)
|
24
|
+
bigdecimal
|
25
|
+
rexml
|
26
|
+
diff-lcs (1.5.1)
|
27
|
+
docile (1.4.0)
|
28
|
+
faraday (2.9.2)
|
29
|
+
faraday-net_http (>= 2.0, < 3.2)
|
30
|
+
faraday-multipart (1.0.4)
|
31
|
+
multipart-post (~> 2)
|
32
|
+
faraday-net_http (3.1.0)
|
33
|
+
net-http
|
34
|
+
faraday-retry (2.2.1)
|
35
|
+
faraday (~> 2.0)
|
36
|
+
ffi (1.17.0)
|
37
|
+
ffi (1.17.0-arm64-darwin)
|
38
|
+
ffi (1.17.0-x86_64-linux-gnu)
|
39
|
+
hashdiff (1.1.0)
|
40
|
+
htmlentities (4.3.4)
|
41
|
+
image_processing (1.12.2)
|
34
42
|
mini_magick (>= 4.9.5, < 5)
|
35
43
|
ruby-vips (>= 2.0.17, < 3)
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
44
|
+
json (2.7.2)
|
45
|
+
language_server-protocol (3.17.0.3)
|
46
|
+
method_source (1.1.0)
|
47
|
+
mini_magick (4.13.1)
|
48
|
+
multipart-post (2.4.1)
|
49
|
+
net-http (0.4.1)
|
50
|
+
uri
|
51
|
+
parallel (1.25.1)
|
52
|
+
parser (3.3.3.0)
|
53
|
+
ast (~> 2.4.1)
|
54
|
+
racc
|
55
|
+
pry (0.14.2)
|
40
56
|
coderay (~> 1.1)
|
41
57
|
method_source (~> 1.0)
|
42
|
-
public_suffix (
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
58
|
+
public_suffix (6.0.0)
|
59
|
+
racc (1.8.0)
|
60
|
+
rainbow (3.1.1)
|
61
|
+
rake (13.2.1)
|
62
|
+
regexp_parser (2.9.2)
|
63
|
+
rexml (3.3.1)
|
64
|
+
strscan
|
65
|
+
rspec (3.13.0)
|
66
|
+
rspec-core (~> 3.13.0)
|
67
|
+
rspec-expectations (~> 3.13.0)
|
68
|
+
rspec-mocks (~> 3.13.0)
|
69
|
+
rspec-core (3.13.0)
|
70
|
+
rspec-support (~> 3.13.0)
|
71
|
+
rspec-expectations (3.13.1)
|
51
72
|
diff-lcs (>= 1.2.0, < 2.0)
|
52
|
-
rspec-support (~> 3.
|
53
|
-
rspec-mocks (3.
|
73
|
+
rspec-support (~> 3.13.0)
|
74
|
+
rspec-mocks (3.13.1)
|
54
75
|
diff-lcs (>= 1.2.0, < 2.0)
|
55
|
-
rspec-support (~> 3.
|
56
|
-
rspec-
|
57
|
-
|
76
|
+
rspec-support (~> 3.13.0)
|
77
|
+
rspec-sonarqube-formatter (1.5.0)
|
78
|
+
htmlentities (~> 4.3.3)
|
79
|
+
rspec (~> 3.0)
|
80
|
+
rspec-support (3.13.1)
|
81
|
+
rspec-with_params (0.3.0)
|
58
82
|
rspec (~> 3.0)
|
59
|
-
rspec_junit_formatter (0.
|
83
|
+
rspec_junit_formatter (0.6.0)
|
60
84
|
rspec-core (>= 2, < 4, != 2.12.0)
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
85
|
+
rubocop (1.64.1)
|
86
|
+
json (~> 2.3)
|
87
|
+
language_server-protocol (>= 3.17.0)
|
88
|
+
parallel (~> 1.10)
|
89
|
+
parser (>= 3.3.0.2)
|
90
|
+
rainbow (>= 2.2.2, < 4.0)
|
91
|
+
regexp_parser (>= 1.8, < 3.0)
|
92
|
+
rexml (>= 3.2.5, < 4.0)
|
93
|
+
rubocop-ast (>= 1.31.1, < 2.0)
|
94
|
+
ruby-progressbar (~> 1.7)
|
95
|
+
unicode-display_width (>= 2.4.0, < 3.0)
|
96
|
+
rubocop-ast (1.31.3)
|
97
|
+
parser (>= 3.3.1.0)
|
98
|
+
rubocop-performance (1.21.1)
|
99
|
+
rubocop (>= 1.48.1, < 2.0)
|
100
|
+
rubocop-ast (>= 1.31.1, < 2.0)
|
101
|
+
rubocop-rake (0.6.0)
|
102
|
+
rubocop (~> 1.0)
|
103
|
+
rubocop-rspec (3.0.2)
|
104
|
+
rubocop (~> 1.61)
|
105
|
+
ruby-progressbar (1.13.0)
|
106
|
+
ruby-vips (2.2.1)
|
107
|
+
ffi (~> 1.12)
|
108
|
+
rubyzip (2.3.2)
|
109
|
+
simplecov (0.22.0)
|
110
|
+
docile (~> 1.1)
|
111
|
+
simplecov-html (~> 0.11)
|
112
|
+
simplecov_json_formatter (~> 0.1)
|
113
|
+
simplecov-cobertura (2.1.0)
|
114
|
+
rexml
|
115
|
+
simplecov (~> 0.19)
|
116
|
+
simplecov-html (0.12.3)
|
117
|
+
simplecov_json_formatter (0.1.4)
|
118
|
+
strscan (3.1.0)
|
119
|
+
thor (1.3.1)
|
120
|
+
unicode-display_width (2.5.0)
|
121
|
+
uri (0.13.0)
|
122
|
+
vcr (6.2.0)
|
123
|
+
vcr_better_binary (0.2.0)
|
124
|
+
vcr (>= 5.0)
|
125
|
+
webmock (3.23.1)
|
126
|
+
addressable (>= 2.8.0)
|
69
127
|
crack (>= 0.3.2)
|
70
128
|
hashdiff (>= 0.4.0, < 2.0.0)
|
129
|
+
yard (0.9.36)
|
71
130
|
|
72
131
|
PLATFORMS
|
132
|
+
arm64-darwin-22
|
73
133
|
ruby
|
134
|
+
x86_64-linux
|
74
135
|
|
75
136
|
DEPENDENCIES
|
76
|
-
appraisal
|
137
|
+
appraisal (~> 2.5)
|
77
138
|
bundler (~> 2.0)
|
78
|
-
|
79
|
-
|
80
|
-
rake
|
139
|
+
pry (~> 0.14)
|
140
|
+
rake (~> 13.2)
|
81
141
|
remove_bg!
|
82
|
-
rspec (~> 3.
|
83
|
-
rspec-
|
84
|
-
|
85
|
-
|
86
|
-
|
142
|
+
rspec (~> 3.13)
|
143
|
+
rspec-sonarqube-formatter (~> 1.5)
|
144
|
+
rspec-with_params (~> 0.3)
|
145
|
+
rspec_junit_formatter (~> 0.6)
|
146
|
+
rubocop (~> 1.64)
|
147
|
+
rubocop-performance (~> 1.21)
|
148
|
+
rubocop-rake (~> 0.6)
|
149
|
+
rubocop-rspec (~> 3.0)
|
150
|
+
simplecov (~> 0.22)
|
151
|
+
simplecov-cobertura (~> 2.1)
|
152
|
+
simplecov_json_formatter (~> 0.1)
|
153
|
+
vcr (~> 6.2)
|
154
|
+
vcr_better_binary (~> 0.2)
|
155
|
+
webmock (~> 3.23)
|
156
|
+
yard (~> 0.9)
|
87
157
|
|
88
158
|
BUNDLED WITH
|
89
|
-
2.
|
159
|
+
2.4.19
|
data/LICENSE.md
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
=====================
|
3
|
+
|
4
|
+
Copyright © 2019–2024 Canva Austria GmbH
|
5
|
+
|
6
|
+
Permission is hereby granted, free of charge, to any person
|
7
|
+
obtaining a copy of this software and associated documentation
|
8
|
+
files (the “Software”), to deal in the Software without
|
9
|
+
restriction, including without limitation the rights to use,
|
10
|
+
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
11
|
+
copies of the Software, and to permit persons to whom the
|
12
|
+
Software is furnished to do so, subject to the following
|
13
|
+
conditions:
|
14
|
+
|
15
|
+
The above copyright notice and this permission notice shall be
|
16
|
+
included in all copies or substantial portions of the Software.
|
17
|
+
|
18
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
|
19
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
20
|
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
21
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
22
|
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
23
|
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
24
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
25
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
CHANGED
@@ -1,17 +1,77 @@
|
|
1
|
-
[![RemoveBG](resources/
|
1
|
+
[![RemoveBG](resources/removebgByCanva.svg)](https://www.remove.bg/)
|
2
2
|
|
3
|
-
# Ruby
|
3
|
+
# remove.bg Ruby Gem
|
4
4
|
|
5
|
-
|
5
|
+
<p align="center">
|
6
6
|
|
7
|
-
|
7
|
+
[![Gem Version](https://img.shields.io/gem/v/remove_bg?style=for-the-badge&logo=rubygems&logoColor=aaa&color=367cd3)](https://rubygems.org/gems/remove_bg)
|
8
|
+
[![Gem Total Downloads](https://img.shields.io/gem/dt/remove_bg?style=for-the-badge&logo=ruby&logoColor=aaa&color=367cd3)](https://rubygems.org/gems/remove_bg)
|
9
|
+
[![CircleCI](https://img.shields.io/circleci/build/github/remove-bg/ruby?style=for-the-badge&logo=circleci&logoColor=aaa)](https://circleci.com/gh/remove-bg/ruby/tree/main)
|
10
|
+
[![GitHub License](https://img.shields.io/github/license/remove-bg/ruby?style=for-the-badge&logo=readthedocs&logoColor=aaa)](https://github.com/remove-bg/ruby/blob/main/LICENSE.md)
|
11
|
+
[![Codecov](https://img.shields.io/codecov/c/github/remove-bg/ruby?style=for-the-badge&logo=codecov&logoColor=aaa)](https://app.codecov.io/gh/remove-bg/ruby)
|
12
|
+
[![Sonar Quality Gate](https://img.shields.io/sonar/quality_gate/remove-bg_ruby?server=https%3A%2F%2Fsonarcloud.io&style=for-the-badge&logo=sonarcloud&logoColor=aaa)](https://sonarcloud.io/summary/overall?id=remove-bg_ruby)
|
13
|
+
[![Violations](https://img.shields.io/sonar/violations/remove-bg_ruby?server=https%3A%2F%2Fsonarcloud.io&format=short&style=for-the-badge&logo=sonarcloud&logoColor=aaa)](https://sonarcloud.io/summary/overall?id=remove-bg_ruby)
|
14
|
+
![Depfu](https://img.shields.io/depfu/dependencies/github/remove-bg%2Fruby?style=for-the-badge&logo=dependabot&logoColor=aaa)
|
8
15
|
|
9
|
-
|
10
|
-
- Or install it yourself as: `gem install remove_bg`
|
16
|
+
</p>
|
11
17
|
|
12
|
-
##
|
18
|
+
## Requirements
|
13
19
|
|
14
|
-
|
20
|
+
This gem is compatible with Ruby 3.1+ and can be used with
|
21
|
+
[Faraday](https://rubygems.org/gems/faraday/) version 2 and above
|
22
|
+
|
23
|
+
An API key (free) from [remove.bg](https://www.remove.bg/api) is required.
|
24
|
+
|
25
|
+
## Quickstart Installation
|
26
|
+
|
27
|
+
Add the gem to your `Gemfile` and run `bundle install`:
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
gem "remove_bg"
|
31
|
+
```
|
32
|
+
|
33
|
+
Or run `gem install remove_bg` to install globally.
|
34
|
+
|
35
|
+
Please note the base configuration has the following resolution limits:
|
36
|
+
|
37
|
+
| Output format | Resolution limit |
|
38
|
+
|---------------|------------------|
|
39
|
+
| PNG | 10 megapixels |
|
40
|
+
| JPG | 50 megapixels |
|
41
|
+
|
42
|
+
## Full installation
|
43
|
+
|
44
|
+
For best performance and quality the gem requires an image processing library.
|
45
|
+
Please install one of the following libraries:
|
46
|
+
|
47
|
+
- [ImageMagick](https://www.imagemagick.org/)
|
48
|
+
- [GraphicsMagick](http://www.graphicsmagick.org/)
|
49
|
+
- [libvips](http://libvips.github.io/libvips/)
|
50
|
+
|
51
|
+
The gem will auto-detect any image processing libraries present. However, you can
|
52
|
+
also explicitly configure which library to use:
|
53
|
+
|
54
|
+
```ruby
|
55
|
+
RemoveBg.configure do |config|
|
56
|
+
config.image_processor = :minimagick # For ImageMagick or GraphicsMagick
|
57
|
+
# or
|
58
|
+
config.image_processor = :vips
|
59
|
+
end
|
60
|
+
```
|
61
|
+
|
62
|
+
The full installation has the following resolution limits:
|
63
|
+
|
64
|
+
| Output format | Resolution limit |
|
65
|
+
|---------------|------------------|
|
66
|
+
| PNG | 10 megapixels |
|
67
|
+
| JPG | 50 megapixels |
|
68
|
+
| ZIP | 50 megapixels |
|
69
|
+
|
70
|
+
# Usage
|
71
|
+
|
72
|
+
For more in-depth documentation please see [RubyDoc](https://www.rubydoc.info/gems/remove_bg)
|
73
|
+
|
74
|
+
## Configuring an API key
|
15
75
|
|
16
76
|
To configure a global API key (used by default unless overridden per request):
|
17
77
|
|
@@ -25,7 +85,7 @@ It's not recommended to commit your API key to version control. You may want to
|
|
25
85
|
read the API key from an environment variable (e.g.
|
26
86
|
`ENV.fetch("REMOVE_BG_API_KEY")`) or find an alternative method.
|
27
87
|
|
28
|
-
|
88
|
+
## Removing the background from an image
|
29
89
|
|
30
90
|
Currently the gem supports removing the background from a file or a URL:
|
31
91
|
|
@@ -34,7 +94,7 @@ RemoveBg.from_file("image.png")
|
|
34
94
|
RemoveBg.from_url("http://example.com/image.png")
|
35
95
|
```
|
36
96
|
|
37
|
-
|
97
|
+
## Request options
|
38
98
|
|
39
99
|
The processing options outlined in the [API reference](https://www.remove.bg/api)
|
40
100
|
can be specified per request:
|
@@ -49,7 +109,7 @@ The API key can also be specified per request:
|
|
49
109
|
RemoveBg.from_file("image.png", api_key: "<api-key>")
|
50
110
|
```
|
51
111
|
|
52
|
-
|
112
|
+
## Handling the result
|
53
113
|
|
54
114
|
Background removal requests return a result object which includes the processed
|
55
115
|
image data and the metadata about the operation.
|
@@ -66,33 +126,17 @@ There's also a `#save` convenience method:
|
|
66
126
|
|
67
127
|
```ruby
|
68
128
|
result.save("processed/image.png")
|
69
|
-
|
129
|
+
# Overwrite any existing file
|
130
|
+
result.save!("processed/image.png")
|
70
131
|
```
|
71
132
|
|
72
|
-
|
73
|
-
|
74
|
-
The Remove.bg API provides a [ZIP format](https://www.remove.bg/api#zip-format)
|
75
|
-
which includes all the information required to efficiently composite a large
|
76
|
-
image with transparency.
|
77
|
-
|
78
|
-
The gem can handle this composition for you, but you'll need
|
79
|
-
[ImageMagick]/[GraphicsMagick] or [libvips] available on your computer.
|
133
|
+
## Producing transparent images over 10 megapixels
|
80
134
|
|
81
|
-
|
82
|
-
|
83
|
-
[libvips]: http://libvips.github.io/libvips/
|
135
|
+
After configuring a full installation (detailed above) you can process images
|
136
|
+
over 10 megapixels with a transparent output.
|
84
137
|
|
85
|
-
|
86
|
-
|
87
|
-
```ruby
|
88
|
-
RemoveBg.configure do |config|
|
89
|
-
config.image_processor = :minimagick # For ImageMagick or GraphicsMagick
|
90
|
-
# or
|
91
|
-
config.image_processor = :vips
|
92
|
-
end
|
93
|
-
```
|
94
|
-
|
95
|
-
Then process images specifying the `zip` format:
|
138
|
+
Process images with either the `png` or `zip` format. If you specify the `zip`
|
139
|
+
format it's possible to save the archive and handle composition yourself.
|
96
140
|
|
97
141
|
```ruby
|
98
142
|
result = RemoveBg.from_file("large-image.jpg", format: "zip")
|
@@ -102,7 +146,7 @@ result.save("result-with-transparency.png")
|
|
102
146
|
result.save_zip("result.zip") # If you want to handle composition yourself
|
103
147
|
```
|
104
148
|
|
105
|
-
|
149
|
+
## Rate limits
|
106
150
|
|
107
151
|
The [API has rate limits][rate-limits]. Image processing results include the
|
108
152
|
rate limit information:
|
@@ -118,7 +162,7 @@ raised. This also contains further information via the `#rate_limit` method.
|
|
118
162
|
|
119
163
|
[rate-limits]: https://www.remove.bg/api#rate-limit
|
120
164
|
|
121
|
-
|
165
|
+
## Fetching account information
|
122
166
|
|
123
167
|
To display the [account information][account-info] for the currently configured
|
124
168
|
API key:
|
@@ -150,11 +194,22 @@ Bug reports and pull requests are welcome on GitHub at [remove-bg/ruby](https://
|
|
150
194
|
|
151
195
|
## Development
|
152
196
|
|
197
|
+
### Setup
|
198
|
+
|
153
199
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run
|
154
200
|
`rake spec` to run the tests.
|
155
201
|
|
156
|
-
|
157
|
-
release a new version, update the version number in `version.rb`, and then run
|
202
|
+
### Releasing a new version
|
203
|
+
To release a new version, update the version number in `version.rb`, and then run
|
158
204
|
`bundle exec rake release`, which will create a git tag for the version, push
|
159
205
|
git commits and tags, and push the `.gem` file to
|
160
206
|
[rubygems.org](https://rubygems.org).
|
207
|
+
|
208
|
+
### Documentation
|
209
|
+
|
210
|
+
To preview the [YARD documentation](https://yardoc.org/) locally run:
|
211
|
+
|
212
|
+
```
|
213
|
+
bundle exec yard server --reload
|
214
|
+
open http://localhost:8808/
|
215
|
+
```
|
data/Rakefile
CHANGED
data/SECURITY.md
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
# Security Policy
|
2
|
+
|
3
|
+
We take the security of our software products and services seriously, including all of
|
4
|
+
the open source code repositories managed through our organization.
|
5
|
+
|
6
|
+
## Supported Versions
|
7
|
+
|
8
|
+
We currently support these versions of this library with security updates.
|
9
|
+
|
10
|
+
| Version | Supported |
|
11
|
+
| -------- | ------------------ |
|
12
|
+
| `2.x.x` | :white_check_mark: |
|
13
|
+
| `<= 1.5` | :x: |
|
14
|
+
|
15
|
+
## Reporting a Vulnerability
|
16
|
+
|
17
|
+
If you believe you have found a security vulnerability in this repository, please report
|
18
|
+
it to us through coordinated disclosure.
|
19
|
+
|
20
|
+
Please do not report security vulnerabilities through public GitHub issues, discussions,
|
21
|
+
or pull requests.
|
22
|
+
|
23
|
+
Instead, please contact us at https://www.remove.bg/support/contact
|
24
|
+
|
25
|
+
Please include as much of the information listed below as you can to help us better
|
26
|
+
understand and resolve the issue:
|
27
|
+
|
28
|
+
- The type of issue (e.g., buffer overflow, issue in a dependency,...)
|
29
|
+
- Full paths of source file(s) related to the manifestation of the issue
|
30
|
+
- The location of the affected source code (tag/branch/commit or direct URL)
|
31
|
+
- Any special configuration required to reproduce the issue
|
32
|
+
- Step-by-step instructions to reproduce the issue
|
33
|
+
- Proof-of-concept or exploit code (if possible)
|
34
|
+
- Impact of the issue, including how an attacker might exploit the issue
|
35
|
+
|
36
|
+
This information will help us triage your report more quickly.
|
@@ -1,6 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module RemoveBg
|
2
4
|
class AccountInfo
|
3
|
-
|
5
|
+
# @return [RemoveBg::AccountInfo::ApiInfo]
|
6
|
+
attr_reader :api
|
7
|
+
|
8
|
+
# @return [RemoveBg::AccountInfo::CreditsInfo]
|
9
|
+
attr_reader :credits
|
4
10
|
|
5
11
|
def initialize(attributes)
|
6
12
|
@api = ApiInfo.new(**attributes.fetch(:api))
|