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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d0b4832b1cbdafeac7017a9e8c8a599c9b09c29aeab25671c81ca4a4aebbd7e5
4
- data.tar.gz: 9991488a07f4332fb73cde45f5d2f7b47a560f1d3a87a5c71e730ba49cd2639f
3
+ metadata.gz: be2b88dd938c21c9b0daaec80430070451b11375dcf39e88de5eb2315f4150e2
4
+ data.tar.gz: af8b96e10bb4a5ab5d55d445fe17a82408ac04bc587df94261b2b636269cd78e
5
5
  SHA512:
6
- metadata.gz: 4c45ba7ae9eec0793b5a2efbd28619539750b51f46a18d7d160d2b03beb0f9eed924f3feba75b5d6b28597bd889df9edb0cf0ea49be39719eed9163bd0e2d378
7
- data.tar.gz: d270dd201a8e867532872d2b4482da4819f1c64a4dfd831c44683a39385a8b6f796cce861e853e9cdd5a3ef66a1cbf4072b42d91bff10456fea1211fa97ce6ec
6
+ metadata.gz: b313b4231fb1cfa5c0d64f13c6c9ac21a94adc16a2ef43404b06ced4667461302b06e18de275d54b55600686c9d0e5c6926ae63e9f921b89814f5da66f221e9d
7
+ data.tar.gz: 5fb2116c63723ffded942c036e5f42f62de73f1abbeac62c18cb0303b8b1b8b7e66b315f2503f8a34d66f2f158bb8db9b8228bbf8a19f320a3f9d82dff7f53b9
@@ -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.2
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
@@ -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"
@@ -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
- status_ko: { code: 500, key: 'finisher.messages.status_ko' }
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?(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.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-02 00:00:00.000000000 Z
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