carioca 2.1.0 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.debride_withelist +49 -0
- data/Gemfile.lock +35 -4
- data/README.md +94 -12
- data/Rakefile +10 -0
- data/VERSION +1 -1
- data/assets/images/description_carioca.png +0 -0
- data/assets/images/description_services_carioca.png +0 -0
- data/bom.xml +746 -0
- data/carioca.gemspec +1 -0
- data/config/locales/en.yml +4 -0
- data/config/locales/fr.yml +4 -0
- data/lib/carioca/services/finisher.rb +7 -3
- data/lib/carioca/services/sanitycheck.rb +10 -7
- data/lib/carioca/services/setup.rb +13 -9
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be2b88dd938c21c9b0daaec80430070451b11375dcf39e88de5eb2315f4150e2
|
4
|
+
data.tar.gz: af8b96e10bb4a5ab5d55d445fe17a82408ac04bc587df94261b2b636269cd78e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b313b4231fb1cfa5c0d64f13c6c9ac21a94adc16a2ef43404b06ced4667461302b06e18de275d54b55600686c9d0e5c6926ae63e9f921b89814f5da66f221e9d
|
7
|
+
data.tar.gz: 5fb2116c63723ffded942c036e5f42f62de73f1abbeac62c18cb0303b8b1b8b7e66b315f2503f8a34d66f2f158bb8db9b8228bbf8a19f320a3f9d82dff7f53b9
|
data/.debride_withelist
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
builtins=
|
2
|
+
config_file
|
3
|
+
environment
|
4
|
+
locales_availables
|
5
|
+
locales_load_path=
|
6
|
+
log_target=
|
7
|
+
master_key_file=
|
8
|
+
name=
|
9
|
+
output_colors?
|
10
|
+
output_emoji?
|
11
|
+
output_mode
|
12
|
+
output_target
|
13
|
+
output_target=
|
14
|
+
secure_store_file=
|
15
|
+
supported_environments=
|
16
|
+
user_config_path
|
17
|
+
user_config_path=
|
18
|
+
register
|
19
|
+
active_services=
|
20
|
+
services=
|
21
|
+
altered=
|
22
|
+
validated=
|
23
|
+
data=
|
24
|
+
settings=
|
25
|
+
config_file
|
26
|
+
refresh
|
27
|
+
stage
|
28
|
+
stage=
|
29
|
+
terminate
|
30
|
+
system_locale
|
31
|
+
add_alias
|
32
|
+
emoji
|
33
|
+
generate_session
|
34
|
+
level
|
35
|
+
map_color
|
36
|
+
map_emoji
|
37
|
+
target
|
38
|
+
target=
|
39
|
+
verify_file
|
40
|
+
verify_link
|
41
|
+
verify_service
|
42
|
+
data=
|
43
|
+
install_file
|
44
|
+
make_link
|
45
|
+
get_processes
|
46
|
+
group_root
|
47
|
+
is_root?
|
48
|
+
extended
|
49
|
+
method_missing
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
carioca (2.0
|
4
|
+
carioca (2.1.0)
|
5
5
|
deep_merge (~> 1.2)
|
6
6
|
i18n (~> 1.10)
|
7
7
|
locale (~> 2.1)
|
@@ -20,22 +20,49 @@ GEM
|
|
20
20
|
bundler (>= 1.2.0, < 3)
|
21
21
|
thor (~> 1.0)
|
22
22
|
code_statistics (0.2.13)
|
23
|
-
concurrent-ruby (1.
|
23
|
+
concurrent-ruby (1.2.2)
|
24
|
+
cyclonedx-ruby (1.1.0)
|
25
|
+
json (~> 2.2)
|
26
|
+
nokogiri (~> 1.8)
|
27
|
+
ostruct (~> 0.1)
|
28
|
+
rest-client (~> 2.0)
|
24
29
|
deep_merge (1.2.2)
|
25
30
|
diff-lcs (1.5.0)
|
26
|
-
|
31
|
+
domain_name (0.5.20190701)
|
32
|
+
unf (>= 0.0.5, < 1.0.0)
|
33
|
+
http-accept (1.7.0)
|
34
|
+
http-cookie (1.0.5)
|
35
|
+
domain_name (~> 0.5)
|
36
|
+
i18n (1.14.1)
|
27
37
|
concurrent-ruby (~> 1.0)
|
28
38
|
json (2.6.2)
|
29
39
|
locale (2.1.3)
|
40
|
+
mime-types (3.4.1)
|
41
|
+
mime-types-data (~> 3.2015)
|
42
|
+
mime-types-data (3.2023.0218.1)
|
43
|
+
mini_portile2 (2.8.2)
|
44
|
+
netrc (0.11.0)
|
45
|
+
nokogiri (1.15.2)
|
46
|
+
mini_portile2 (~> 2.8.2)
|
47
|
+
racc (~> 1.4)
|
48
|
+
nokogiri (1.15.2-arm64-darwin)
|
49
|
+
racc (~> 1.4)
|
50
|
+
ostruct (0.5.5)
|
30
51
|
parallel (1.22.1)
|
31
52
|
parser (3.1.2.0)
|
32
53
|
ast (~> 2.4.1)
|
33
54
|
pastel (0.8.0)
|
34
55
|
tty-color (~> 0.5)
|
35
56
|
ps-ruby (0.0.4)
|
57
|
+
racc (1.7.1)
|
36
58
|
rainbow (3.1.1)
|
37
59
|
rake (13.0.6)
|
38
60
|
regexp_parser (2.5.0)
|
61
|
+
rest-client (2.1.0)
|
62
|
+
http-accept (>= 1.7.0, < 2.0)
|
63
|
+
http-cookie (>= 1.0.2, < 2.0)
|
64
|
+
mime-types (>= 1.16, < 4.0)
|
65
|
+
netrc (~> 0.8)
|
39
66
|
rexml (3.2.5)
|
40
67
|
rspec (3.9.0)
|
41
68
|
rspec-core (~> 3.9.0)
|
@@ -74,6 +101,9 @@ GEM
|
|
74
101
|
tty-screen (~> 0.8)
|
75
102
|
wisper (~> 2.0)
|
76
103
|
tty-screen (0.8.1)
|
104
|
+
unf (0.1.4)
|
105
|
+
unf_ext
|
106
|
+
unf_ext (0.0.8.2)
|
77
107
|
unicode-display_width (2.2.0)
|
78
108
|
version (1.1.1)
|
79
109
|
webrick (1.7.0)
|
@@ -91,6 +121,7 @@ DEPENDENCIES
|
|
91
121
|
bundle-audit (~> 0.1.0)
|
92
122
|
carioca!
|
93
123
|
code_statistics (~> 0.2.13)
|
124
|
+
cyclonedx-ruby (~> 1.1)
|
94
125
|
rake (~> 13.0)
|
95
126
|
rspec (~> 3.0)
|
96
127
|
rubocop (~> 1.32)
|
@@ -98,4 +129,4 @@ DEPENDENCIES
|
|
98
129
|
yard-rspec (~> 0.1)
|
99
130
|
|
100
131
|
BUNDLED WITH
|
101
|
-
2.
|
132
|
+
2.3.24
|
data/README.md
CHANGED
@@ -199,15 +199,6 @@ yourgem_cmd.test
|
|
199
199
|
|
200
200
|
## Builtins services
|
201
201
|
|
202
|
-
You could see, somme interesting things :
|
203
|
-
* Carioca have an internationalisation service (this service will be explain in detail after):
|
204
|
-
* default configured on :en locale
|
205
|
-
* must be in French (:fr) or English (:en), other traductions are welcome
|
206
|
-
* Carioca have a builtin logger service using regular Logger from Stdlib (also explain in detail in this document)
|
207
|
-
* default logging on STDOUT, but could be redirect in the configure bloc
|
208
|
-
* Carioca give us some usefull traces in debug
|
209
|
-
* Carioca provide a complete solution to manage CLI output.
|
210
|
-
|
211
202
|
### Description Registry
|
212
203
|
|
213
204
|
|
@@ -246,7 +237,7 @@ class MyObject < Carioca::Container
|
|
246
237
|
end
|
247
238
|
|
248
239
|
```
|
249
|
-
|
240
|
+
The macro inject is already mixed in Carioca::Container
|
250
241
|
|
251
242
|
**Note** : Service cloud be used on class method wrapping and instance mecthode.
|
252
243
|
|
@@ -547,7 +538,7 @@ Output :
|
|
547
538
|
|
548
539
|
* With colors and Emojies
|
549
540
|
|
550
|
-
![Carioca output](assets/images/carioca_output_emoji_colors)
|
541
|
+
![Carioca output](assets/images/carioca_output_emoji_colors.PNG)
|
551
542
|
|
552
543
|
### Service Debug
|
553
544
|
|
@@ -622,6 +613,93 @@ titi
|
|
622
613
|
🐛 END CALL
|
623
614
|
```
|
624
615
|
|
616
|
+
### Service Finisher
|
617
|
+
|
618
|
+
### Service Setup
|
619
|
+
|
620
|
+
### Service SanityCheck
|
621
|
+
|
622
|
+
### Service Toolbox
|
623
|
+
|
624
|
+
The toolbox service is a misceleanous all purpose toolbox of methods, used by carioca's services and available for you.
|
625
|
+
### Listing of all methods and description
|
626
|
+
|
627
|
+
|
628
|
+
```ruby
|
629
|
+
toolbox = Carioca::Registry.get.get_service name: :toolbox
|
630
|
+
pp toolbox.describe
|
631
|
+
```
|
632
|
+
|
633
|
+
Output (actual for this version, lust increase with the time):
|
634
|
+
|
635
|
+
```ruby
|
636
|
+
{:is_root?=>"Verify if active current processus is running as root",
|
637
|
+
:check_unicode_term=>"Check if terminal support unicode",
|
638
|
+
:user_root=>"Get the local system root username ",
|
639
|
+
:search_file_in_gem=>"Retrieve absolute path of a file in a specific gem",
|
640
|
+
:group_root=>"Get the local system root groupname ",
|
641
|
+
:get_processes=>"Get the list of running processus"}
|
642
|
+
```
|
643
|
+
|
644
|
+
### methods usage
|
645
|
+
|
646
|
+
```ruby
|
647
|
+
pp toolbox.user_root
|
648
|
+
pp toolbox.search_file_in_gem('carioca','config/locales/en.yml')
|
649
|
+
|
650
|
+
```
|
651
|
+
|
652
|
+
```ruby
|
653
|
+
"root"
|
654
|
+
"/var/lib/gems/3.0.0/gems/carioca-2.0.12/config/locales/en.yml"
|
655
|
+
```
|
656
|
+
|
657
|
+
### Service SecureStore
|
658
|
+
|
659
|
+
|
660
|
+
|
661
|
+
#### Exemple of usage of the Secure Store
|
662
|
+
|
663
|
+
This simplist example show how to store current time in Secure Data Store
|
664
|
+
|
665
|
+
**Note** : if the Data store not exist nor the master.key, when injecting the service, the two item are created on initialisation
|
666
|
+
|
667
|
+
```ruby
|
668
|
+
securestore = Carioca::Registry.get.get_service name: :securestore
|
669
|
+
res = (securestore.data.empty?)? "first time" : securestore.data.to_s
|
670
|
+
puts res
|
671
|
+
securestore.data[:time] = Time.now
|
672
|
+
securestore.save!
|
673
|
+
```
|
674
|
+
|
675
|
+
Output, on the first iteration :
|
676
|
+
|
677
|
+
```
|
678
|
+
first time
|
679
|
+
```
|
680
|
+
|
681
|
+
Output, on the second iteration :
|
682
|
+
|
683
|
+
```
|
684
|
+
{:time=>2023-06-02 14:27:39.8903567 +0200}
|
685
|
+
```
|
686
|
+
|
687
|
+
**Note** : by default Secure store : secure.store and Master key : master.key (chmod 400, owned by the running user), are created in "~/.carioca" of the running user.
|
688
|
+
|
689
|
+
#### Configuration in Carioca
|
690
|
+
|
691
|
+
You could change path for master.key and secure.store with :
|
692
|
+
|
693
|
+
```ruby
|
694
|
+
Carioca::Registry.configure do |spec|
|
695
|
+
spec.user_config_path = "~/.carioca" # default user path (folder)
|
696
|
+
spec.master_key_file = "#{spec.user_config_path}/master.key" # default OpenSSL secret key for service SecureStore
|
697
|
+
sepc.secure_store_file = "#{spec.user_config_path}/secure.Store" # default OpenSSL YAM secure store file for service SecureStore
|
698
|
+
end
|
699
|
+
```
|
700
|
+
|
701
|
+
|
702
|
+
|
625
703
|
## Carioca Configuration
|
626
704
|
|
627
705
|
Carioca use a bloc given mapping object of to configure like :
|
@@ -637,7 +715,8 @@ end
|
|
637
715
|
|
638
716
|
```ruby
|
639
717
|
attr_accessor :filename, :name, :builtins, :log_target, :default_locale, :locales_load_path, :debugger_tracer,
|
640
|
-
:config_file, :config_root, :environment, :supported_environments, :output_mode, :log_level, :output_target
|
718
|
+
:config_file, :config_root, :environment, :supported_environments, :output_mode, :log_level, :output_target, :user_config_path,
|
719
|
+
:master_key_file, :secure_store_file
|
641
720
|
attr_writer :init_from_file, :output_colors, :output_emoji
|
642
721
|
attr_reader :log_file, :locales_availables, :debug
|
643
722
|
|
@@ -664,6 +743,9 @@ Carioca::Registry.configure do |spec|
|
|
664
743
|
spec.output_colors = true # the current output status for colors (see Carioca Service Output)
|
665
744
|
spec.locales_load_path << Dir["#{File.expand_path('./config/locales')}/*.yml"]
|
666
745
|
spec.debugger_tracer = :output # the Debbugger service output in #log , :output
|
746
|
+
spec.user_config_path = "~/.carioca" # default user path (folder)
|
747
|
+
spec.master_key_file = "#{spec.user_config_path}/master.key" # default OpenSSL secret key for service SecureStore
|
748
|
+
sepc.secure_store_file = "#{spec.user_config_path}/secure.Store" # default OpenSSL YAM secure store file for service SecureStore
|
667
749
|
|
668
750
|
end
|
669
751
|
```
|
data/Rakefile
CHANGED
@@ -48,4 +48,14 @@ task clobber: 'yardoc:clobber'
|
|
48
48
|
desc "Run CVE security audit over bundle"
|
49
49
|
task :audit do
|
50
50
|
system('bundle audit')
|
51
|
+
end
|
52
|
+
|
53
|
+
desc "Run dead line of code detection"
|
54
|
+
task :debride do
|
55
|
+
system('debride -w .debride_withelist .')
|
56
|
+
end
|
57
|
+
|
58
|
+
desc "Run SBOM CycloneDX Xml format file"
|
59
|
+
task :sbom do
|
60
|
+
system('cyclonedx-ruby -p .')
|
51
61
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.1.
|
1
|
+
2.1.2
|
Binary file
|
Binary file
|
data/bom.xml
ADDED
@@ -0,0 +1,746 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<bom xmlns="http://cyclonedx.org/schema/bom/1.1" version="1" serialNumber="urn:uuid:1266bf21-8e20-4ef5-b237-536698997a61">
|
3
|
+
<components>
|
4
|
+
<component type="library">
|
5
|
+
<name>ast</name>
|
6
|
+
<version>2.4.2</version>
|
7
|
+
<description>A library for working with Abstract Syntax Trees.</description>
|
8
|
+
<hashes>
|
9
|
+
<hash alg="SHA-256">1e280232e6a33754cde542bc5ef85520b74db2aac73ec14acef453784447cc12</hash>
|
10
|
+
</hashes>
|
11
|
+
<licenses>
|
12
|
+
<license>
|
13
|
+
<id>MIT</id>
|
14
|
+
</license>
|
15
|
+
</licenses>
|
16
|
+
<purl>pkg:gem/ast@2.4.2</purl>
|
17
|
+
</component>
|
18
|
+
<component type="library">
|
19
|
+
<name>bundle-audit</name>
|
20
|
+
<version>0.1.0</version>
|
21
|
+
<description>Helper gem to require bundler-audit</description>
|
22
|
+
<hashes>
|
23
|
+
<hash alg="SHA-256">c8f085920cde681ba837be69c87b08598c1a7f46f70877f1b3a1711be91a7a43</hash>
|
24
|
+
</hashes>
|
25
|
+
<licenses>
|
26
|
+
<license>
|
27
|
+
<id>MIT</id>
|
28
|
+
</license>
|
29
|
+
</licenses>
|
30
|
+
<purl>pkg:gem/bundle-audit@0.1.0</purl>
|
31
|
+
</component>
|
32
|
+
<component type="library">
|
33
|
+
<name>bundler-audit</name>
|
34
|
+
<version>0.9.1</version>
|
35
|
+
<description>Patch-level verification for Bundler</description>
|
36
|
+
<hashes>
|
37
|
+
<hash alg="SHA-256">bdc716fc21cd8652a6507b137e5bc51f5e0e4f6f106a114ab004c89d0200bd3d</hash>
|
38
|
+
</hashes>
|
39
|
+
<licenses>
|
40
|
+
<license>
|
41
|
+
<id>GPL-3.0+</id>
|
42
|
+
</license>
|
43
|
+
</licenses>
|
44
|
+
<purl>pkg:gem/bundler-audit@0.9.1</purl>
|
45
|
+
</component>
|
46
|
+
<component type="library">
|
47
|
+
<name>carioca</name>
|
48
|
+
<version>2.1.0</version>
|
49
|
+
<description>Carioca : Container And Registry with Inversion Of Control for your Applications</description>
|
50
|
+
<hashes>
|
51
|
+
<hash alg="SHA-256">4e89e5c23f92aa4731ca58110218d9b9b82ff5075a5bf500a96e19ba1ca9d1e1</hash>
|
52
|
+
</hashes>
|
53
|
+
<licenses>
|
54
|
+
<license>
|
55
|
+
<id>BSD-3-Clause</id>
|
56
|
+
</license>
|
57
|
+
</licenses>
|
58
|
+
<purl>pkg:gem/carioca@2.1.0</purl>
|
59
|
+
</component>
|
60
|
+
<component type="library">
|
61
|
+
<name>code_statistics</name>
|
62
|
+
<version>0.2.13</version>
|
63
|
+
<description>Making a gem of the normal rails rake stats method, to make it more robust and work on non rails projects</description>
|
64
|
+
<hashes>
|
65
|
+
<hash alg="SHA-256">23556d2d44f89526722f3b6de8f2baa2aa23190203fa6ed1dd04d6c597be2d1f</hash>
|
66
|
+
</hashes>
|
67
|
+
<purl>pkg:gem/code_statistics@0.2.13</purl>
|
68
|
+
</component>
|
69
|
+
<component type="library">
|
70
|
+
<name>concurrent-ruby</name>
|
71
|
+
<version>1.2.2</version>
|
72
|
+
<description>Modern concurrency tools for Ruby. Inspired by Erlang, Clojure, Scala, Haskell, F#, C#, Java, and classic concurrency patterns.</description>
|
73
|
+
<hashes>
|
74
|
+
<hash alg="SHA-256">3879119b8b75e3b62616acc256c64a134d0b0a7a9a3fcba5a233025bcde22c4f</hash>
|
75
|
+
</hashes>
|
76
|
+
<licenses>
|
77
|
+
<license>
|
78
|
+
<id>MIT</id>
|
79
|
+
</license>
|
80
|
+
</licenses>
|
81
|
+
<purl>pkg:gem/concurrent-ruby@1.2.2</purl>
|
82
|
+
</component>
|
83
|
+
<component type="library">
|
84
|
+
<name>cyclonedx-ruby</name>
|
85
|
+
<version>1.1.0</version>
|
86
|
+
<description>CycloneDX software bill-of-material (SBoM) generation utility</description>
|
87
|
+
<hashes>
|
88
|
+
<hash alg="SHA-256">a6d2ee6824fbd881f7a66092ecbe152422fd068e822709e9fa2648656b006900</hash>
|
89
|
+
</hashes>
|
90
|
+
<licenses>
|
91
|
+
<license>
|
92
|
+
<id>Apache-2.0</id>
|
93
|
+
</license>
|
94
|
+
</licenses>
|
95
|
+
<purl>pkg:gem/cyclonedx-ruby@1.1.0</purl>
|
96
|
+
</component>
|
97
|
+
<component type="library">
|
98
|
+
<name>deep_merge</name>
|
99
|
+
<version>1.2.2</version>
|
100
|
+
<description>Merge Deeply Nested Hashes</description>
|
101
|
+
<hashes>
|
102
|
+
<hash alg="SHA-256">83ced3a3d7f95f67de958d2ce41b1874e83c8d94fe2ddbff50c8b4b82323563a</hash>
|
103
|
+
</hashes>
|
104
|
+
<licenses>
|
105
|
+
<license>
|
106
|
+
<id>MIT</id>
|
107
|
+
</license>
|
108
|
+
</licenses>
|
109
|
+
<purl>pkg:gem/deep_merge@1.2.2</purl>
|
110
|
+
</component>
|
111
|
+
<component type="library">
|
112
|
+
<name>diff-lcs</name>
|
113
|
+
<version>1.5.0</version>
|
114
|
+
<description>Diff::LCS computes the difference between two Enumerable sequences using the McIlroy-Hunt longest common subsequence (LCS) algorithm</description>
|
115
|
+
<hashes>
|
116
|
+
<hash alg="SHA-256">49b934001c8c6aedb37ba19daec5c634da27b318a7a3c654ae979d6ba1929b67</hash>
|
117
|
+
</hashes>
|
118
|
+
<licenses>
|
119
|
+
<license>
|
120
|
+
<id>MIT</id>
|
121
|
+
</license>
|
122
|
+
</licenses>
|
123
|
+
<purl>pkg:gem/diff-lcs@1.5.0</purl>
|
124
|
+
</component>
|
125
|
+
<component type="library">
|
126
|
+
<name>domain_name</name>
|
127
|
+
<version>0.5.20190701</version>
|
128
|
+
<description>Domain Name manipulation library for Ruby</description>
|
129
|
+
<hashes>
|
130
|
+
<hash alg="SHA-256">000a600454cb4a344769b2f10b531765ea7bd3a304fe47ed12e5ca1eab969851</hash>
|
131
|
+
</hashes>
|
132
|
+
<licenses>
|
133
|
+
<license>
|
134
|
+
<id>BSD-2-Clause</id>
|
135
|
+
</license>
|
136
|
+
</licenses>
|
137
|
+
<purl>pkg:gem/domain_name@0.5.20190701</purl>
|
138
|
+
</component>
|
139
|
+
<component type="library">
|
140
|
+
<name>http-accept</name>
|
141
|
+
<version>1.7.0</version>
|
142
|
+
<description>Parse Accept and Accept-Language HTTP headers.</description>
|
143
|
+
<hashes>
|
144
|
+
<hash alg="SHA-256">c626860682bfbb3b46462f8c39cd470fd7b0584f61b3cc9df5b2e9eb9972a126</hash>
|
145
|
+
</hashes>
|
146
|
+
<purl>pkg:gem/http-accept@1.7.0</purl>
|
147
|
+
</component>
|
148
|
+
<component type="library">
|
149
|
+
<name>http-cookie</name>
|
150
|
+
<version>1.0.5</version>
|
151
|
+
<description>A Ruby library to handle HTTP Cookies based on RFC 6265</description>
|
152
|
+
<hashes>
|
153
|
+
<hash alg="SHA-256">73756d46c7dbdc7023deecdb8a171348ea95a1b99810b31cfe8b4fb4e9a6318f</hash>
|
154
|
+
</hashes>
|
155
|
+
<licenses>
|
156
|
+
<license>
|
157
|
+
<id>MIT</id>
|
158
|
+
</license>
|
159
|
+
</licenses>
|
160
|
+
<purl>pkg:gem/http-cookie@1.0.5</purl>
|
161
|
+
</component>
|
162
|
+
<component type="library">
|
163
|
+
<name>i18n</name>
|
164
|
+
<version>1.14.1</version>
|
165
|
+
<description>New wave Internationalization support for Ruby</description>
|
166
|
+
<hashes>
|
167
|
+
<hash alg="SHA-256">9d03698903547c060928e70a9bc8b6b87fda674453cda918fc7ab80235ae4a61</hash>
|
168
|
+
</hashes>
|
169
|
+
<licenses>
|
170
|
+
<license>
|
171
|
+
<id>MIT</id>
|
172
|
+
</license>
|
173
|
+
</licenses>
|
174
|
+
<purl>pkg:gem/i18n@1.14.1</purl>
|
175
|
+
</component>
|
176
|
+
<component type="library">
|
177
|
+
<name>json</name>
|
178
|
+
<version>2.6.2</version>
|
179
|
+
<description>JSON Implementation for Ruby</description>
|
180
|
+
<hashes>
|
181
|
+
<hash alg="SHA-256">cc9eedb357374667fe2b45e2a7fa65af517cc33bbfa12f56a14953f38a4845f5</hash>
|
182
|
+
</hashes>
|
183
|
+
<licenses>
|
184
|
+
<license>
|
185
|
+
<id>Ruby</id>
|
186
|
+
</license>
|
187
|
+
</licenses>
|
188
|
+
<purl>pkg:gem/json@2.6.2</purl>
|
189
|
+
</component>
|
190
|
+
<component type="library">
|
191
|
+
<name>locale</name>
|
192
|
+
<version>2.1.3</version>
|
193
|
+
<description>Ruby-Locale is the pure ruby library which provides basic APIs for localization.</description>
|
194
|
+
<hashes>
|
195
|
+
<hash alg="SHA-256">b6ddee011e157817cb98e521b3ce7cb626424d5882f1e844aafdee3e8b212725</hash>
|
196
|
+
</hashes>
|
197
|
+
<licenses>
|
198
|
+
<license>
|
199
|
+
<id>Ruby</id>
|
200
|
+
</license>
|
201
|
+
</licenses>
|
202
|
+
<purl>pkg:gem/locale@2.1.3</purl>
|
203
|
+
</component>
|
204
|
+
<component type="library">
|
205
|
+
<name>mime-types</name>
|
206
|
+
<version>3.4.1</version>
|
207
|
+
<description>The mime-types library provides a library and registry for information about MIME content type definitions</description>
|
208
|
+
<hashes>
|
209
|
+
<hash alg="SHA-256">6bcf8b0e656b6ae9977bdc1351ef211d0383252d2f759a59ef4bcf254542fc46</hash>
|
210
|
+
</hashes>
|
211
|
+
<licenses>
|
212
|
+
<license>
|
213
|
+
<id>MIT</id>
|
214
|
+
</license>
|
215
|
+
</licenses>
|
216
|
+
<purl>pkg:gem/mime-types@3.4.1</purl>
|
217
|
+
</component>
|
218
|
+
<component type="library">
|
219
|
+
<name>mime-types-data</name>
|
220
|
+
<version>3.2023.0218.1</version>
|
221
|
+
<description>mime-types-data provides a registry for information about MIME media type definitions</description>
|
222
|
+
<hashes>
|
223
|
+
<hash alg="SHA-256">e90f027e54346bbbf7bd993a97e9cb7270cd4fe41c535ef84bf5d1aefe1e7ede</hash>
|
224
|
+
</hashes>
|
225
|
+
<licenses>
|
226
|
+
<license>
|
227
|
+
<id>MIT</id>
|
228
|
+
</license>
|
229
|
+
</licenses>
|
230
|
+
<purl>pkg:gem/mime-types-data@3.2023.0218.1</purl>
|
231
|
+
</component>
|
232
|
+
<component type="library">
|
233
|
+
<name>mini_portile2</name>
|
234
|
+
<version>2.8.2</version>
|
235
|
+
<description>Simplistic port-like solution for developers</description>
|
236
|
+
<hashes>
|
237
|
+
<hash alg="SHA-256">46b2d244cc6ff01a89bf61274690c09fdbdca47a84ae9eac39039e81231aee7c</hash>
|
238
|
+
</hashes>
|
239
|
+
<licenses>
|
240
|
+
<license>
|
241
|
+
<id>MIT</id>
|
242
|
+
</license>
|
243
|
+
</licenses>
|
244
|
+
<purl>pkg:gem/mini_portile2@2.8.2</purl>
|
245
|
+
</component>
|
246
|
+
<component type="library">
|
247
|
+
<name>netrc</name>
|
248
|
+
<version>0.11.0</version>
|
249
|
+
<description>Library to read and write netrc files.</description>
|
250
|
+
<hashes>
|
251
|
+
<hash alg="SHA-256">de1ce33da8c99ab1d97871726cba75151113f117146becbe45aa85cb3dabee3f</hash>
|
252
|
+
</hashes>
|
253
|
+
<licenses>
|
254
|
+
<license>
|
255
|
+
<id>MIT</id>
|
256
|
+
</license>
|
257
|
+
</licenses>
|
258
|
+
<purl>pkg:gem/netrc@0.11.0</purl>
|
259
|
+
</component>
|
260
|
+
<component type="library">
|
261
|
+
<name>nokogiri</name>
|
262
|
+
<version>1.15.2</version>
|
263
|
+
<description>Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby.</description>
|
264
|
+
<hashes>
|
265
|
+
<hash alg="SHA-256">20dc800b8fbe4c4f4b5b164e6aa3ab82a371bcb27eb685c166961c34dd8a22d7</hash>
|
266
|
+
</hashes>
|
267
|
+
<licenses>
|
268
|
+
<license>
|
269
|
+
<id>MIT</id>
|
270
|
+
</license>
|
271
|
+
</licenses>
|
272
|
+
<purl>pkg:gem/nokogiri@1.15.2</purl>
|
273
|
+
</component>
|
274
|
+
<component type="library">
|
275
|
+
<name>nokogiri</name>
|
276
|
+
<version>1.15.2</version>
|
277
|
+
<description>Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby.</description>
|
278
|
+
<hashes>
|
279
|
+
<hash alg="SHA-256">20dc800b8fbe4c4f4b5b164e6aa3ab82a371bcb27eb685c166961c34dd8a22d7</hash>
|
280
|
+
</hashes>
|
281
|
+
<licenses>
|
282
|
+
<license>
|
283
|
+
<id>MIT</id>
|
284
|
+
</license>
|
285
|
+
</licenses>
|
286
|
+
<purl>pkg:gem/nokogiri@1.15.2</purl>
|
287
|
+
</component>
|
288
|
+
<component type="library">
|
289
|
+
<name>ostruct</name>
|
290
|
+
<version>0.5.5</version>
|
291
|
+
<description>Class to build custom data structures, similar to a Hash.</description>
|
292
|
+
<hashes>
|
293
|
+
<hash alg="SHA-256">bc73d0e10f85ca2afdddc7eb79b3132bee622e2281db4e6e033a4cbf7d845efb</hash>
|
294
|
+
</hashes>
|
295
|
+
<licenses>
|
296
|
+
<license>
|
297
|
+
<id>Ruby</id>
|
298
|
+
</license>
|
299
|
+
</licenses>
|
300
|
+
<purl>pkg:gem/ostruct@0.5.5</purl>
|
301
|
+
</component>
|
302
|
+
<component type="library">
|
303
|
+
<name>parallel</name>
|
304
|
+
<version>1.22.1</version>
|
305
|
+
<description>Run any kind of code in parallel processes</description>
|
306
|
+
<hashes>
|
307
|
+
<hash alg="SHA-256">ebdf1f0c51f182df38522f70ba770214940bef998cdb6e00f36492b29699761f</hash>
|
308
|
+
</hashes>
|
309
|
+
<licenses>
|
310
|
+
<license>
|
311
|
+
<id>MIT</id>
|
312
|
+
</license>
|
313
|
+
</licenses>
|
314
|
+
<purl>pkg:gem/parallel@1.22.1</purl>
|
315
|
+
</component>
|
316
|
+
<component type="library">
|
317
|
+
<name>parser</name>
|
318
|
+
<version>3.1.2.0</version>
|
319
|
+
<description>A Ruby parser written in pure Ruby.</description>
|
320
|
+
<hashes>
|
321
|
+
<hash alg="SHA-256">eda4d7b49bbfddad3b6ca9cdfb23302eec6cf73c2e808b6d5b0cc9161f7c0e76</hash>
|
322
|
+
</hashes>
|
323
|
+
<licenses>
|
324
|
+
<license>
|
325
|
+
<id>MIT</id>
|
326
|
+
</license>
|
327
|
+
</licenses>
|
328
|
+
<purl>pkg:gem/parser@3.1.2.0</purl>
|
329
|
+
</component>
|
330
|
+
<component type="library">
|
331
|
+
<name>pastel</name>
|
332
|
+
<version>0.8.0</version>
|
333
|
+
<description>Terminal strings styling with intuitive and clean API.</description>
|
334
|
+
<hashes>
|
335
|
+
<hash alg="SHA-256">481da9fb7d2f6e6b1a08faf11fa10363172dc40fd47848f096ae21209f805a75</hash>
|
336
|
+
</hashes>
|
337
|
+
<licenses>
|
338
|
+
<license>
|
339
|
+
<id>MIT</id>
|
340
|
+
</license>
|
341
|
+
</licenses>
|
342
|
+
<purl>pkg:gem/pastel@0.8.0</purl>
|
343
|
+
</component>
|
344
|
+
<component type="library">
|
345
|
+
<name>ps-ruby</name>
|
346
|
+
<version>0.0.4</version>
|
347
|
+
<description>PS-Ruby is a simple ps wrapper with ruby</description>
|
348
|
+
<hashes>
|
349
|
+
<hash alg="SHA-256">3798226a01e5b4066a880e8911cac475bc69f0010076c9151e6841131cb23b12</hash>
|
350
|
+
</hashes>
|
351
|
+
<licenses>
|
352
|
+
<license>
|
353
|
+
<id>MIT</id>
|
354
|
+
</license>
|
355
|
+
</licenses>
|
356
|
+
<purl>pkg:gem/ps-ruby@0.0.4</purl>
|
357
|
+
</component>
|
358
|
+
<component type="library">
|
359
|
+
<name>racc</name>
|
360
|
+
<version>1.7.1</version>
|
361
|
+
<description>Racc is a LALR(1) parser generator</description>
|
362
|
+
<hashes>
|
363
|
+
<hash alg="SHA-256">eaa5cd10ace36a5c5a139e699875a45fa1dfd7d5df8432ffd6243962c6b24ef0</hash>
|
364
|
+
</hashes>
|
365
|
+
<licenses>
|
366
|
+
<license>
|
367
|
+
<id>Ruby</id>
|
368
|
+
</license>
|
369
|
+
</licenses>
|
370
|
+
<purl>pkg:gem/racc@1.7.1</purl>
|
371
|
+
</component>
|
372
|
+
<component type="library">
|
373
|
+
<name>rainbow</name>
|
374
|
+
<version>3.1.1</version>
|
375
|
+
<description>Colorize printed text on ANSI terminals</description>
|
376
|
+
<hashes>
|
377
|
+
<hash alg="SHA-256">039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a</hash>
|
378
|
+
</hashes>
|
379
|
+
<licenses>
|
380
|
+
<license>
|
381
|
+
<id>MIT</id>
|
382
|
+
</license>
|
383
|
+
</licenses>
|
384
|
+
<purl>pkg:gem/rainbow@3.1.1</purl>
|
385
|
+
</component>
|
386
|
+
<component type="library">
|
387
|
+
<name>rake</name>
|
388
|
+
<version>13.0.6</version>
|
389
|
+
<description>Rake is a Make-like program implemented in Ruby</description>
|
390
|
+
<hashes>
|
391
|
+
<hash alg="SHA-256">5ce4bf5037b4196c24ac62834d8db1ce175470391026bd9e557d669beeb19097</hash>
|
392
|
+
</hashes>
|
393
|
+
<licenses>
|
394
|
+
<license>
|
395
|
+
<id>MIT</id>
|
396
|
+
</license>
|
397
|
+
</licenses>
|
398
|
+
<purl>pkg:gem/rake@13.0.6</purl>
|
399
|
+
</component>
|
400
|
+
<component type="library">
|
401
|
+
<name>regexp_parser</name>
|
402
|
+
<version>2.5.0</version>
|
403
|
+
<description>Scanner, lexer, parser for ruby's regular expressions</description>
|
404
|
+
<hashes>
|
405
|
+
<hash alg="SHA-256">a076d2d35ab8d11feab5fecf8aa09ec6df68c2429810748cba079f7b021ecde5</hash>
|
406
|
+
</hashes>
|
407
|
+
<licenses>
|
408
|
+
<license>
|
409
|
+
<id>MIT</id>
|
410
|
+
</license>
|
411
|
+
</licenses>
|
412
|
+
<purl>pkg:gem/regexp_parser@2.5.0</purl>
|
413
|
+
</component>
|
414
|
+
<component type="library">
|
415
|
+
<name>rest-client</name>
|
416
|
+
<version>2.1.0</version>
|
417
|
+
<description>Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.</description>
|
418
|
+
<hashes>
|
419
|
+
<hash alg="SHA-256">a35a3bb8d16ca39d110a946a2c805267f98ce07a0ae890e4512a45eadea47a6e</hash>
|
420
|
+
</hashes>
|
421
|
+
<licenses>
|
422
|
+
<license>
|
423
|
+
<id>MIT</id>
|
424
|
+
</license>
|
425
|
+
</licenses>
|
426
|
+
<purl>pkg:gem/rest-client@2.1.0</purl>
|
427
|
+
</component>
|
428
|
+
<component type="library">
|
429
|
+
<name>rexml</name>
|
430
|
+
<version>3.2.5</version>
|
431
|
+
<description>An XML toolkit for Ruby</description>
|
432
|
+
<hashes>
|
433
|
+
<hash alg="SHA-256">a33c3bf95fda7983ec7f05054f3a985af41dbc25a0339843bd2479e93cabb123</hash>
|
434
|
+
</hashes>
|
435
|
+
<licenses>
|
436
|
+
<license>
|
437
|
+
<id>BSD-2-Clause</id>
|
438
|
+
</license>
|
439
|
+
</licenses>
|
440
|
+
<purl>pkg:gem/rexml@3.2.5</purl>
|
441
|
+
</component>
|
442
|
+
<component type="library">
|
443
|
+
<name>rspec</name>
|
444
|
+
<version>3.9.0</version>
|
445
|
+
<description>rspec-3.9.0</description>
|
446
|
+
<hashes>
|
447
|
+
<hash alg="SHA-256">90a037a7cc02365d7c112201881839aafbc875a88094423bc8cba778c98bfac3</hash>
|
448
|
+
</hashes>
|
449
|
+
<licenses>
|
450
|
+
<license>
|
451
|
+
<id>MIT</id>
|
452
|
+
</license>
|
453
|
+
</licenses>
|
454
|
+
<purl>pkg:gem/rspec@3.9.0</purl>
|
455
|
+
</component>
|
456
|
+
<component type="library">
|
457
|
+
<name>rspec-core</name>
|
458
|
+
<version>3.9.3</version>
|
459
|
+
<description>rspec-core-3.9.3</description>
|
460
|
+
<hashes>
|
461
|
+
<hash alg="SHA-256">704f3af166bb8d763199742d94f0be3027c0f26d61a2f2156d99d0444248082d</hash>
|
462
|
+
</hashes>
|
463
|
+
<licenses>
|
464
|
+
<license>
|
465
|
+
<id>MIT</id>
|
466
|
+
</license>
|
467
|
+
</licenses>
|
468
|
+
<purl>pkg:gem/rspec-core@3.9.3</purl>
|
469
|
+
</component>
|
470
|
+
<component type="library">
|
471
|
+
<name>rspec-expectations</name>
|
472
|
+
<version>3.9.4</version>
|
473
|
+
<description>rspec-expectations-3.9.4</description>
|
474
|
+
<hashes>
|
475
|
+
<hash alg="SHA-256">58248bcc7ca1cde7255aa2436d27a1a6133d8d235409011b5256a24ce050583e</hash>
|
476
|
+
</hashes>
|
477
|
+
<licenses>
|
478
|
+
<license>
|
479
|
+
<id>MIT</id>
|
480
|
+
</license>
|
481
|
+
</licenses>
|
482
|
+
<purl>pkg:gem/rspec-expectations@3.9.4</purl>
|
483
|
+
</component>
|
484
|
+
<component type="library">
|
485
|
+
<name>rspec-mocks</name>
|
486
|
+
<version>3.9.1</version>
|
487
|
+
<description>rspec-mocks-3.9.1</description>
|
488
|
+
<hashes>
|
489
|
+
<hash alg="SHA-256">b9820ed35afbc552b4448ccb98984ffe20e92bff6760dbd60f4fec503d6e75a7</hash>
|
490
|
+
</hashes>
|
491
|
+
<licenses>
|
492
|
+
<license>
|
493
|
+
<id>MIT</id>
|
494
|
+
</license>
|
495
|
+
</licenses>
|
496
|
+
<purl>pkg:gem/rspec-mocks@3.9.1</purl>
|
497
|
+
</component>
|
498
|
+
<component type="library">
|
499
|
+
<name>rspec-support</name>
|
500
|
+
<version>3.9.4</version>
|
501
|
+
<description>rspec-support-3.9.4</description>
|
502
|
+
<hashes>
|
503
|
+
<hash alg="SHA-256">f4333c6df9413909aa652e8460588b36e8bb62e76e51e94c039e1b4bc3e4e645</hash>
|
504
|
+
</hashes>
|
505
|
+
<licenses>
|
506
|
+
<license>
|
507
|
+
<id>MIT</id>
|
508
|
+
</license>
|
509
|
+
</licenses>
|
510
|
+
<purl>pkg:gem/rspec-support@3.9.4</purl>
|
511
|
+
</component>
|
512
|
+
<component type="library">
|
513
|
+
<name>rubocop</name>
|
514
|
+
<version>1.32.0</version>
|
515
|
+
<description>Automatic Ruby code style checking tool.</description>
|
516
|
+
<hashes>
|
517
|
+
<hash alg="SHA-256">82d2a9c2995324ee0d27b75f4396d30a021e965c0e82c39162e7041a6a386326</hash>
|
518
|
+
</hashes>
|
519
|
+
<licenses>
|
520
|
+
<license>
|
521
|
+
<id>MIT</id>
|
522
|
+
</license>
|
523
|
+
</licenses>
|
524
|
+
<purl>pkg:gem/rubocop@1.32.0</purl>
|
525
|
+
</component>
|
526
|
+
<component type="library">
|
527
|
+
<name>rubocop-ast</name>
|
528
|
+
<version>1.19.1</version>
|
529
|
+
<description>RuboCop tools to deal with Ruby code AST.</description>
|
530
|
+
<hashes>
|
531
|
+
<hash alg="SHA-256">f549a8f636a3d4d7bc235ee091a7cea955441cf7a250d124d44e218df91b1841</hash>
|
532
|
+
</hashes>
|
533
|
+
<licenses>
|
534
|
+
<license>
|
535
|
+
<id>MIT</id>
|
536
|
+
</license>
|
537
|
+
</licenses>
|
538
|
+
<purl>pkg:gem/rubocop-ast@1.19.1</purl>
|
539
|
+
</component>
|
540
|
+
<component type="library">
|
541
|
+
<name>ruby-progressbar</name>
|
542
|
+
<version>1.11.0</version>
|
543
|
+
<description>Ruby/ProgressBar is a flexible text progress bar library for Ruby.</description>
|
544
|
+
<hashes>
|
545
|
+
<hash alg="SHA-256">cc127db3866dc414ffccbf92928a241e585b3aa2b758a5563e74a6ee0f57d50a</hash>
|
546
|
+
</hashes>
|
547
|
+
<licenses>
|
548
|
+
<license>
|
549
|
+
<id>MIT</id>
|
550
|
+
</license>
|
551
|
+
</licenses>
|
552
|
+
<purl>pkg:gem/ruby-progressbar@1.11.0</purl>
|
553
|
+
</component>
|
554
|
+
<component type="library">
|
555
|
+
<name>thor</name>
|
556
|
+
<version>1.2.2</version>
|
557
|
+
<description>Thor is a toolkit for building powerful command-line interfaces.</description>
|
558
|
+
<hashes>
|
559
|
+
<hash alg="SHA-256">2f93c652828cba9fcf4f65f5dc8c306f1a7317e05aad5835a13740122c17f24c</hash>
|
560
|
+
</hashes>
|
561
|
+
<licenses>
|
562
|
+
<license>
|
563
|
+
<id>MIT</id>
|
564
|
+
</license>
|
565
|
+
</licenses>
|
566
|
+
<purl>pkg:gem/thor@1.2.2</purl>
|
567
|
+
</component>
|
568
|
+
<component type="library">
|
569
|
+
<name>tty-color</name>
|
570
|
+
<version>0.6.0</version>
|
571
|
+
<description>Terminal color capabilities detection</description>
|
572
|
+
<hashes>
|
573
|
+
<hash alg="SHA-256">6f9c37ca3a4e2367fb2e6d09722762647d6f455c111f05b59f35730eeb24332a</hash>
|
574
|
+
</hashes>
|
575
|
+
<licenses>
|
576
|
+
<license>
|
577
|
+
<id>MIT</id>
|
578
|
+
</license>
|
579
|
+
</licenses>
|
580
|
+
<purl>pkg:gem/tty-color@0.6.0</purl>
|
581
|
+
</component>
|
582
|
+
<component type="library">
|
583
|
+
<name>tty-cursor</name>
|
584
|
+
<version>0.7.1</version>
|
585
|
+
<description>Terminal cursor positioning, visibility and text manipulation.</description>
|
586
|
+
<hashes>
|
587
|
+
<hash alg="SHA-256">79534185e6a777888d88628b14b6a1fdf5154a603f285f80b1753e1908e0bf48</hash>
|
588
|
+
</hashes>
|
589
|
+
<licenses>
|
590
|
+
<license>
|
591
|
+
<id>MIT</id>
|
592
|
+
</license>
|
593
|
+
</licenses>
|
594
|
+
<purl>pkg:gem/tty-cursor@0.7.1</purl>
|
595
|
+
</component>
|
596
|
+
<component type="library">
|
597
|
+
<name>tty-prompt</name>
|
598
|
+
<version>0.23.1</version>
|
599
|
+
<description>A beautiful and powerful interactive command line prompt.</description>
|
600
|
+
<hashes>
|
601
|
+
<hash alg="SHA-256">fcdbce905238993f27eecfdf67597a636bc839d92192f6a0eef22b8166449ec8</hash>
|
602
|
+
</hashes>
|
603
|
+
<licenses>
|
604
|
+
<license>
|
605
|
+
<id>MIT</id>
|
606
|
+
</license>
|
607
|
+
</licenses>
|
608
|
+
<purl>pkg:gem/tty-prompt@0.23.1</purl>
|
609
|
+
</component>
|
610
|
+
<component type="library">
|
611
|
+
<name>tty-reader</name>
|
612
|
+
<version>0.9.0</version>
|
613
|
+
<description>A set of methods for processing keyboard input in character, line and multiline modes.</description>
|
614
|
+
<hashes>
|
615
|
+
<hash alg="SHA-256">c62972c985c0b1566f0e56743b6a7882f979d3dc32ff491ed490a076f899c2b1</hash>
|
616
|
+
</hashes>
|
617
|
+
<licenses>
|
618
|
+
<license>
|
619
|
+
<id>MIT</id>
|
620
|
+
</license>
|
621
|
+
</licenses>
|
622
|
+
<purl>pkg:gem/tty-reader@0.9.0</purl>
|
623
|
+
</component>
|
624
|
+
<component type="library">
|
625
|
+
<name>tty-screen</name>
|
626
|
+
<version>0.8.1</version>
|
627
|
+
<description>Terminal screen size detection which works on Linux, OS X and Windows/Cygwin platforms and supports MRI, JRuby, TruffleRuby and Rubinius interpreters.</description>
|
628
|
+
<hashes>
|
629
|
+
<hash alg="SHA-256">6508657c38f32bdca64880abe201ce237d80c94146e1f9b911cba3c7823659a2</hash>
|
630
|
+
</hashes>
|
631
|
+
<licenses>
|
632
|
+
<license>
|
633
|
+
<id>MIT</id>
|
634
|
+
</license>
|
635
|
+
</licenses>
|
636
|
+
<purl>pkg:gem/tty-screen@0.8.1</purl>
|
637
|
+
</component>
|
638
|
+
<component type="library">
|
639
|
+
<name>unf</name>
|
640
|
+
<version>0.1.4</version>
|
641
|
+
<description>A wrapper library to bring Unicode Normalization Form support to Ruby/JRuby</description>
|
642
|
+
<hashes>
|
643
|
+
<hash alg="SHA-256">49a5972ec0b3d091d3b0b2e00113f2f342b9b212f0db855eb30a629637f6d302</hash>
|
644
|
+
</hashes>
|
645
|
+
<licenses>
|
646
|
+
<license>
|
647
|
+
<name>2-clause BSDL</name>
|
648
|
+
</license>
|
649
|
+
</licenses>
|
650
|
+
<purl>pkg:gem/unf@0.1.4</purl>
|
651
|
+
</component>
|
652
|
+
<component type="library">
|
653
|
+
<name>unf_ext</name>
|
654
|
+
<version>0.0.8.2</version>
|
655
|
+
<description>Unicode Normalization Form support library for CRuby</description>
|
656
|
+
<hashes>
|
657
|
+
<hash alg="SHA-256">6d44c13c98924bebd15ebdd4ed196ead403a0770ac03304570873349fda2a208</hash>
|
658
|
+
</hashes>
|
659
|
+
<licenses>
|
660
|
+
<license>
|
661
|
+
<id>MIT</id>
|
662
|
+
</license>
|
663
|
+
</licenses>
|
664
|
+
<purl>pkg:gem/unf_ext@0.0.8.2</purl>
|
665
|
+
</component>
|
666
|
+
<component type="library">
|
667
|
+
<name>unicode-display_width</name>
|
668
|
+
<version>2.2.0</version>
|
669
|
+
<description>Determines the monospace display width of a string in Ruby.</description>
|
670
|
+
<hashes>
|
671
|
+
<hash alg="SHA-256">967fa4071b42b2c4afab8375c4f464392c5fb956959c0ceeb3cea0f4cd648eda</hash>
|
672
|
+
</hashes>
|
673
|
+
<licenses>
|
674
|
+
<license>
|
675
|
+
<id>MIT</id>
|
676
|
+
</license>
|
677
|
+
</licenses>
|
678
|
+
<purl>pkg:gem/unicode-display_width@2.2.0</purl>
|
679
|
+
</component>
|
680
|
+
<component type="library">
|
681
|
+
<name>version</name>
|
682
|
+
<version>1.1.1</version>
|
683
|
+
<description>simple version-number encapsulation</description>
|
684
|
+
<hashes>
|
685
|
+
<hash alg="SHA-256">09961d4a5ba4571a8410461b4baa69c0befcf3c28bb8905c202ba60ab5d01aca</hash>
|
686
|
+
</hashes>
|
687
|
+
<licenses>
|
688
|
+
<license>
|
689
|
+
<id>MIT</id>
|
690
|
+
</license>
|
691
|
+
</licenses>
|
692
|
+
<purl>pkg:gem/version@1.1.1</purl>
|
693
|
+
</component>
|
694
|
+
<component type="library">
|
695
|
+
<name>webrick</name>
|
696
|
+
<version>1.7.0</version>
|
697
|
+
<description>HTTP server toolkit</description>
|
698
|
+
<hashes>
|
699
|
+
<hash alg="SHA-256">87e9b8e39947b7925338a5eb55427b11ce1f2b25a3645770ec9f39d8ebdb8cb4</hash>
|
700
|
+
</hashes>
|
701
|
+
<licenses>
|
702
|
+
<license>
|
703
|
+
<id>Ruby</id>
|
704
|
+
</license>
|
705
|
+
</licenses>
|
706
|
+
<purl>pkg:gem/webrick@1.7.0</purl>
|
707
|
+
</component>
|
708
|
+
<component type="library">
|
709
|
+
<name>wisper</name>
|
710
|
+
<version>2.0.1</version>
|
711
|
+
<description>A micro library providing objects with Publish-Subscribe capabilities</description>
|
712
|
+
<hashes>
|
713
|
+
<hash alg="SHA-256">ce17bc5c3a166f241a2e6613848b025c8146fce2defba505920c1d1f3f88fae6</hash>
|
714
|
+
</hashes>
|
715
|
+
<licenses>
|
716
|
+
<license>
|
717
|
+
<id>MIT</id>
|
718
|
+
</license>
|
719
|
+
</licenses>
|
720
|
+
<purl>pkg:gem/wisper@2.0.1</purl>
|
721
|
+
</component>
|
722
|
+
<component type="library">
|
723
|
+
<name>yard</name>
|
724
|
+
<version>0.9.28</version>
|
725
|
+
<description>Documentation tool for consistent and usable documentation in Ruby.</description>
|
726
|
+
<hashes>
|
727
|
+
<hash alg="SHA-256">d31b7e3172405165212e0c8db5b3b57865f0831f1bc33bdda5d0709e1e72315c</hash>
|
728
|
+
</hashes>
|
729
|
+
<licenses>
|
730
|
+
<license>
|
731
|
+
<id>MIT</id>
|
732
|
+
</license>
|
733
|
+
</licenses>
|
734
|
+
<purl>pkg:gem/yard@0.9.28</purl>
|
735
|
+
</component>
|
736
|
+
<component type="library">
|
737
|
+
<name>yard-rspec</name>
|
738
|
+
<version>0.1</version>
|
739
|
+
<description>YARD plugin to list RSpec specifications inside documentation</description>
|
740
|
+
<hashes>
|
741
|
+
<hash alg="SHA-256">f59e3070cdca303fa460f43ad7adbbffa0a6c5d6b79651b6d03fb87778815db5</hash>
|
742
|
+
</hashes>
|
743
|
+
<purl>pkg:gem/yard-rspec@0.1</purl>
|
744
|
+
</component>
|
745
|
+
</components>
|
746
|
+
</bom>
|
data/carioca.gemspec
CHANGED
data/config/locales/en.yml
CHANGED
@@ -39,6 +39,10 @@ en:
|
|
39
39
|
already_exist: "Object already exist"
|
40
40
|
status_ok: "Status OK"
|
41
41
|
status_ko: "Status KO"
|
42
|
+
no_content: "No content found"
|
43
|
+
bad_request: "Bad request"
|
44
|
+
created: "Content Successfully created"
|
45
|
+
accepted: "Request accepted"
|
42
46
|
bad_usage: "Case must be a return or an exit"
|
43
47
|
setup:
|
44
48
|
error: "Setup operation failed"
|
data/config/locales/fr.yml
CHANGED
@@ -39,6 +39,10 @@ fr:
|
|
39
39
|
already_exist: "L'objet existé déjà"
|
40
40
|
status_ok: "Status OK"
|
41
41
|
status_ko: "Status KO"
|
42
|
+
no_content: "Pas de contenu trouvé"
|
43
|
+
bad_request: "Requête incorrecte"
|
44
|
+
created: "Contenu créé avec succès"
|
45
|
+
accepted: "Requête acceptée"
|
42
46
|
bad_usage: "return_case et exit_case sont incompatibles"
|
43
47
|
setup:
|
44
48
|
error: "Opération en echec durant le setup"
|
@@ -32,12 +32,16 @@ module Carioca
|
|
32
32
|
error_exit: { code: 50, key: 'finisher.messages.error_exit' },
|
33
33
|
# events
|
34
34
|
interrupt: { code: 330, key: 'finisher.messages.interrupt' },
|
35
|
-
# request
|
35
|
+
# request & API
|
36
36
|
not_found: { code: 404, key: 'finisher.messages.not_found' },
|
37
37
|
already_exist: { code: 408, key: 'finisher.messages.already_exist' },
|
38
|
-
# daemon
|
38
|
+
# daemon & API
|
39
39
|
status_ok: { code: 200, key: 'finisher.messages.status_ok' },
|
40
|
-
|
40
|
+
created: { code: 201, key: 'finisher.messages.created' },
|
41
|
+
accepted: { code: 202, key: 'finisher.messages.accepted' },
|
42
|
+
bad_request: { code: 400, key: 'finisher.messages.bad_request' },
|
43
|
+
status_ko: { code: 500, key: 'finisher.messages.status_ko' },
|
44
|
+
no_content: { code: 204, key: 'finisher.messages.no_content' },
|
41
45
|
}
|
42
46
|
|
43
47
|
|
@@ -59,9 +59,10 @@ module Carioca
|
|
59
59
|
# @option [String] :owner file owner for folder, optionnal
|
60
60
|
# @option [String] :group file group for folder, optionnal
|
61
61
|
def verify_folder(name:, mode: "755", owner: nil, group: nil)
|
62
|
+
full_name = File.expand_path(name)
|
62
63
|
res = Array::new
|
63
|
-
return [:inexistant] unless File.directory?(
|
64
|
-
stat = File.stat(
|
64
|
+
return [:inexistant] unless File.directory?(full_name)
|
65
|
+
stat = File.stat(full_name)
|
65
66
|
if mode then
|
66
67
|
tested_mode = "%o" % stat.mode
|
67
68
|
res << :mode if tested_mode[-3..-1] != mode
|
@@ -79,10 +80,11 @@ module Carioca
|
|
79
80
|
# @return [Boolean]
|
80
81
|
# @option [String] :name path of the link
|
81
82
|
def verify_link(name: )
|
83
|
+
full_name = File.expand_path(name)
|
82
84
|
res = Array::new
|
83
|
-
res.push :inexistant unless File.file?(
|
85
|
+
res.push :inexistant unless File.file?(full_name)
|
84
86
|
return res
|
85
|
-
|
87
|
+
end
|
86
88
|
|
87
89
|
# check file
|
88
90
|
# @return [Array] of Symbol with error type : [:inexistant,:mode,:owner,:group]
|
@@ -91,9 +93,10 @@ module Carioca
|
|
91
93
|
# @option [String] :owner file owner for file, optionnal
|
92
94
|
# @option [String] :group file group for file, optionnal
|
93
95
|
def verify_file(name: , mode: '644', owner: nil, group: nil)
|
96
|
+
full_name = File.expand_path(name)
|
94
97
|
res = Array::new
|
95
|
-
return [:inexistant] unless File.file?(
|
96
|
-
stat = File.stat(
|
98
|
+
return [:inexistant] unless File.file?(full_name)
|
99
|
+
stat = File.stat(full_name)
|
97
100
|
if mode then
|
98
101
|
tested_mode = "%o" % stat.mode
|
99
102
|
res << :mode if tested_mode[-3..-1] != mode
|
@@ -137,4 +140,4 @@ module Carioca
|
|
137
140
|
|
138
141
|
end
|
139
142
|
end
|
140
|
-
end
|
143
|
+
end
|
@@ -49,11 +49,12 @@ module Carioca
|
|
49
49
|
# @option [Bool] :gem resolve file in gem root (default true)
|
50
50
|
# @option [String] :gem_name name of the gem where to search (default "carioca")
|
51
51
|
def install_file(source:, target:, mode: "644", owner: nil, group: nil, force: true, gem: true, gem_name: "carioca" )
|
52
|
-
|
52
|
+
@output.item @i18n.t('setup.install', file: target)
|
53
|
+
full_target = File.expand_path(target)
|
53
54
|
source = (gem)? @toolbox.search_file_in_gem(gem_name,source) : source
|
54
|
-
FileUtils::copy source,
|
55
|
-
FileUtils.chmod mode.to_i(8),
|
56
|
-
FileUtils.chown owner, group,
|
55
|
+
FileUtils::copy source, full_target if force
|
56
|
+
FileUtils.chmod mode.to_i(8), full_target
|
57
|
+
FileUtils.chown owner, group, full_target if owner and group
|
57
58
|
end
|
58
59
|
|
59
60
|
# facility for folder creation
|
@@ -61,17 +62,20 @@ module Carioca
|
|
61
62
|
# @option [String] :mode String for OCTAL rights like "644"
|
62
63
|
# @option [String] :owner file owner for folder
|
63
64
|
# @option [String] :group file group for folder
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
FileUtils
|
68
|
-
FileUtils.
|
65
|
+
def make_folder(path:, mode: "644", owner: nil, group: nil )
|
66
|
+
full_path = File.expand_path(path)
|
67
|
+
@output.item @i18n.t('setup.mkdir', path: full_path)
|
68
|
+
FileUtils::mkdir_p path unless File::exist? full_path
|
69
|
+
FileUtils.chmod mode.to_i(8), full_path
|
70
|
+
FileUtils.chown owner, group, full_path if owner and group
|
69
71
|
end
|
70
72
|
|
71
73
|
# facility for Symbolic link
|
72
74
|
# @option [String] :source path of the file
|
73
75
|
# @option [String] :link path of the symlink
|
74
76
|
def make_link(source:, link:)
|
77
|
+
full_source = File.expand_path(source)
|
78
|
+
full_link = File.expand_path(link)
|
75
79
|
@output.item @i18n.t('setup.ln', target: link, source: source)
|
76
80
|
FileUtils::rm link if (File::symlink? link and not File::exist? link)
|
77
81
|
FileUtils::ln_s source, link unless File::exist? link
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: carioca
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Romain GEORGES
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-06
|
11
|
+
date: 2023-10-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: deep_merge
|
@@ -206,6 +206,20 @@ dependencies:
|
|
206
206
|
- - "~>"
|
207
207
|
- !ruby/object:Gem::Version
|
208
208
|
version: 0.0.4
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: cyclonedx-ruby
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - "~>"
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '1.1'
|
216
|
+
type: :development
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - "~>"
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '1.1'
|
209
223
|
description: 'Carioca 2: is a complete rewrite who provide a full IoC/DI light Container
|
210
224
|
and a services registry, build with logs, config and Internationalization facilities
|
211
225
|
for designing your applications'
|
@@ -215,6 +229,7 @@ executables: []
|
|
215
229
|
extensions: []
|
216
230
|
extra_rdoc_files: []
|
217
231
|
files:
|
232
|
+
- ".debride_withelist"
|
218
233
|
- ".github/workflows/main.yml"
|
219
234
|
- ".gitignore"
|
220
235
|
- ".rspec"
|
@@ -240,6 +255,7 @@ files:
|
|
240
255
|
- assets/images/logo_carioca_light_small.png
|
241
256
|
- bin/console
|
242
257
|
- bin/setup
|
258
|
+
- bom.xml
|
243
259
|
- carioca.gemspec
|
244
260
|
- config/locales/en.yml
|
245
261
|
- config/locales/fr.yml
|