carioca 2.1.0 → 2.1.1

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: d0b4832b1cbdafeac7017a9e8c8a599c9b09c29aeab25671c81ca4a4aebbd7e5
4
- data.tar.gz: 9991488a07f4332fb73cde45f5d2f7b47a560f1d3a87a5c71e730ba49cd2639f
3
+ metadata.gz: efd32c21848d7ab53724150ebbee9a3347662416fe0ee84ae46f3dd8f80cf4ac
4
+ data.tar.gz: 5a34be69f6405a4eae679b26117872f3be4f74181fd188e455044181c2b2b1a3
5
5
  SHA512:
6
- metadata.gz: 4c45ba7ae9eec0793b5a2efbd28619539750b51f46a18d7d160d2b03beb0f9eed924f3feba75b5d6b28597bd889df9edb0cf0ea49be39719eed9163bd0e2d378
7
- data.tar.gz: d270dd201a8e867532872d2b4482da4819f1c64a4dfd831c44683a39385a8b6f796cce861e853e9cdd5a3ef66a1cbf4072b42d91bff10456fea1211fa97ce6ec
6
+ metadata.gz: e9cc6b8643cfc08f0bdb0066dfa1c7344be07474f1138bb2dec79710a2dac2b2f0a828fae2e236196b5137f01e66fc3e3a0693035ad2b1330ef265966c9309e4
7
+ data.tar.gz: 8963f1b087355b09c8b364d359d2757c17b561db2f0e9e04d93fc84dd6684bac11ffe533757124ebe44bc7c35616b61c3187f21a4e0bf50f142c5dfd23d3a1e9
@@ -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.12)
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.1.10)
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
- i18n (1.12.0)
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.2.3
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
- the mAcro inject is already mixed in Carioca::Container
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.0
1
+ 2.1.1
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
@@ -45,4 +45,5 @@ Gem::Specification.new do |spec|
45
45
  spec.metadata['rubygems_mfa_required'] = 'false'
46
46
  spec.add_dependency 'version', '~> 1.1'
47
47
  spec.add_runtime_dependency 'ps-ruby','~> 0.0.4'
48
+ spec.add_development_dependency "cyclonedx-ruby", "~> 1.1"
48
49
  end
@@ -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?(name)
64
- stat = File.stat(name)
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?(name)
85
+ res.push :inexistant unless File.file?(full_name)
84
86
  return res
85
- end
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?(name)
96
- stat = File.stat(name)
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
- @output.item @i18n.t('setup.install', file: target)
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, target if force
55
- FileUtils.chmod mode.to_i(8), target
56
- FileUtils.chown owner, group, target if owner and 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
- def make_folder(path:, mode: "644", owner: nil, group: nil )
65
- @output.item @i18n.t('setup.mkdir', path: path)
66
- FileUtils::mkdir_p path unless File::exist? path
67
- FileUtils.chmod mode.to_i(8), path
68
- FileUtils.chown owner, group, path if owner and group
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.0
4
+ version: 2.1.1
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-02 00:00:00.000000000 Z
11
+ date: 2023-10-02 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