vagrant-bindfs 1.1.8 → 1.2.0

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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +462 -0
  3. data/README.md +2 -3
  4. data/Vagrantfile +6 -10
  5. data/lib/vagrant-bindfs/bindfs/command.rb +1 -1
  6. data/lib/vagrant-bindfs/bindfs/folder.rb +1 -1
  7. data/lib/vagrant-bindfs/bindfs/option_definitions.json +2 -0
  8. data/lib/vagrant-bindfs/bindfs/option_set.rb +2 -2
  9. data/lib/vagrant-bindfs/bindfs/validators/config.rb +14 -6
  10. data/lib/vagrant-bindfs/bindfs/validators/runtime.rb +5 -5
  11. data/lib/vagrant-bindfs/bindfs/validators.rb +1 -1
  12. data/lib/vagrant-bindfs/bindfs.rb +2 -2
  13. data/lib/vagrant-bindfs/vagrant/actions/concerns/log.rb +1 -1
  14. data/lib/vagrant-bindfs/vagrant/actions/concerns/machine.rb +4 -6
  15. data/lib/vagrant-bindfs/vagrant/actions/concerns.rb +1 -1
  16. data/lib/vagrant-bindfs/vagrant/actions/installer.rb +8 -3
  17. data/lib/vagrant-bindfs/vagrant/actions/mounter.rb +5 -2
  18. data/lib/vagrant-bindfs/vagrant/actions.rb +1 -1
  19. data/lib/vagrant-bindfs/vagrant/capabilities/all/bindfs.rb +11 -2
  20. data/lib/vagrant-bindfs/vagrant/capabilities/all/package_manager.rb +1 -1
  21. data/lib/vagrant-bindfs/vagrant/capabilities/all/system_checks.rb +1 -1
  22. data/lib/vagrant-bindfs/vagrant/capabilities/all.rb +1 -1
  23. data/lib/vagrant-bindfs/vagrant/capabilities/darwin/bindfs.rb +1 -1
  24. data/lib/vagrant-bindfs/vagrant/capabilities/darwin/fuse.rb +3 -3
  25. data/lib/vagrant-bindfs/vagrant/capabilities/darwin/package_manager.rb +1 -1
  26. data/lib/vagrant-bindfs/vagrant/capabilities/darwin/system_checks.rb +1 -1
  27. data/lib/vagrant-bindfs/vagrant/capabilities/darwin.rb +1 -1
  28. data/lib/vagrant-bindfs/vagrant/capabilities/debian/bindfs.rb +8 -4
  29. data/lib/vagrant-bindfs/vagrant/capabilities/debian/fuse.rb +2 -2
  30. data/lib/vagrant-bindfs/vagrant/capabilities/debian/package_manager.rb +1 -1
  31. data/lib/vagrant-bindfs/vagrant/capabilities/debian.rb +1 -1
  32. data/lib/vagrant-bindfs/vagrant/capabilities/gentoo/bindfs.rb +22 -12
  33. data/lib/vagrant-bindfs/vagrant/capabilities/gentoo/fuse.rb +1 -1
  34. data/lib/vagrant-bindfs/vagrant/capabilities/gentoo/package_manager.rb +1 -1
  35. data/lib/vagrant-bindfs/vagrant/capabilities/gentoo.rb +1 -1
  36. data/lib/vagrant-bindfs/vagrant/capabilities/linux/fuse.rb +1 -1
  37. data/lib/vagrant-bindfs/vagrant/capabilities/linux/package_manager.rb +1 -1
  38. data/lib/vagrant-bindfs/vagrant/capabilities/linux/system_checks.rb +1 -1
  39. data/lib/vagrant-bindfs/vagrant/capabilities/linux.rb +1 -1
  40. data/lib/vagrant-bindfs/vagrant/capabilities/redhat/bindfs.rb +3 -3
  41. data/lib/vagrant-bindfs/vagrant/capabilities/redhat/fuse.rb +2 -2
  42. data/lib/vagrant-bindfs/vagrant/capabilities/redhat/package_manager.rb +1 -1
  43. data/lib/vagrant-bindfs/vagrant/capabilities/redhat.rb +1 -1
  44. data/lib/vagrant-bindfs/vagrant/capabilities/suse/bindfs.rb +4 -2
  45. data/lib/vagrant-bindfs/vagrant/capabilities/suse/fuse.rb +2 -2
  46. data/lib/vagrant-bindfs/vagrant/capabilities/suse/package_manager.rb +1 -1
  47. data/lib/vagrant-bindfs/vagrant/capabilities/suse.rb +1 -1
  48. data/lib/vagrant-bindfs/vagrant/capabilities/ubuntu/fuse.rb +1 -1
  49. data/lib/vagrant-bindfs/vagrant/capabilities/ubuntu.rb +1 -1
  50. data/lib/vagrant-bindfs/vagrant/capabilities.rb +1 -1
  51. data/lib/vagrant-bindfs/vagrant/config.rb +1 -1
  52. data/lib/vagrant-bindfs/vagrant/errors.rb +3 -3
  53. data/lib/vagrant-bindfs/vagrant/plugin.rb +5 -7
  54. data/lib/vagrant-bindfs/vagrant.rb +1 -1
  55. data/lib/vagrant-bindfs/version.rb +1 -1
  56. data/lib/vagrant-bindfs.rb +1 -1
  57. data/vagrant-bindfs.gemspec +43 -0
  58. metadata +18 -13
  59. data/Rakefile +0 -25
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1fa28f942676808592e86a1fbad388ad70006aeda091b39486b3d75165292cc2
4
- data.tar.gz: 21393b9f50debe7e6033643ebe68417652d3197217e9ecfb530cc2ed505a6923
3
+ metadata.gz: f7dd8ae482ce72c699af4193d979a47d227751aaa63a084cf08f349ee004e04b
4
+ data.tar.gz: 865104e7c3370cac82cfd2b4a8858fe00ff2dd21392aa44ab9a099670cc451ed
5
5
  SHA512:
6
- metadata.gz: d792f4f486dab52ea65ca6a7bf2cfe8f4967449d8a1f88a185b21876a1107360f004111a45b1c7d36d6cda8a7dda62b1b17ae612f77016f408f373d58a48d03d
7
- data.tar.gz: bb34d7b15db3c38a6138f925c2fd4a29220cc57912b4dd7055cdb7882a56711ae77c76db8cf5f9f5d7ace5d3eceba155c60d0a73e1a53014c1c39ab85f632094
6
+ metadata.gz: ffd259aba3f1f9ef9f62407e3d112f6b94732b104827716655dc61ab6cbf922b3f2899b6e7540c8b303451a5f181b29de038944818cd75fd0545befd9e05321a
7
+ data.tar.gz: 7344115ac28af6df78378a572e59f204953bb0e71291c0dccaab79589c1ca310ab2f1071aa01ba5d1effd858dd1b8e9b622da9d7a2f7ffe7498fc343edcc1b0c
data/CHANGELOG.md ADDED
@@ -0,0 +1,462 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [Unreleased]
8
+
9
+ ## Version 1.2.0 (2023-03-07)
10
+
11
+ ### Breaking changes
12
+
13
+ * Update Fuse integration on Mac OS X to use MacFuse (#101)
14
+ * Update Fuse integration on all Linux distributions to use Fuse 3, widely available (#101)
15
+ * Drop support for Ruby < 2.7
16
+
17
+ ### Fixed
18
+
19
+ * `gentoolkit` installation on Gentoo guests (#101)
20
+
21
+ ### Added
22
+
23
+ * Update bindfs support to 1.17.2
24
+
25
+ ### Changed
26
+
27
+ * Introduce Github Actions to automate unit tests (#97)
28
+
29
+ ## Version 1.1.9 (2021-09-21)
30
+
31
+ ### Added
32
+
33
+ * Support for bindfs 1.15.1
34
+
35
+ ## Version 1.1.8 (2020-09-04)
36
+
37
+ ### Added
38
+
39
+ * Support for bindfs 1.14.7
40
+
41
+ ## Version 1.1.7 (2020-04-08)
42
+
43
+ ### Fixed
44
+
45
+ * `config.default_options` inconsistent uses through contexts (See #93)
46
+ * Detection of Vagrant's available synced folders hook (See #91)
47
+
48
+ ## Version 1.1.6 (2020-01-14)
49
+
50
+ ### Fixed
51
+
52
+ * Remove upper constraint on Ruby version (See #92)
53
+
54
+ ## Version 1.1.5 (2019-12-23)
55
+
56
+ ### Added
57
+
58
+ * Support for bindfs 1.14.2
59
+
60
+ ### Fixed
61
+
62
+ * Documentation (#88 and #89, thanks to @cherouvim)
63
+
64
+ ### Changed
65
+
66
+ * Update test boxes
67
+
68
+ ## Version 1.1.4 (2019-06-21)
69
+
70
+ ### Fixed
71
+
72
+ * bindfs installation from sources (See #87)
73
+
74
+ ## Version 1.1.3 (2019-06-20)
75
+
76
+ ### Fixed
77
+
78
+ * Silence bindfs source installation cleanup messages
79
+
80
+ ## Version 1.1.2 (2019-06-18)
81
+
82
+ ### Fixed
83
+
84
+ * Download of bindfs sources tarballs
85
+
86
+ ## Version 1.1.1 (2019-06-07)
87
+
88
+ ### Added
89
+
90
+ * Support for bindfs 1.14.0
91
+
92
+ ### Fixed
93
+
94
+ * Installation documentation (#84, thanks to @ahmadmayahi)
95
+ * bindfs package detection on Red Hat and derivated (See #83)
96
+
97
+ ### Changed
98
+
99
+ * Remove reserved destination path validations (#86, thanks to @bartoszj)
100
+ * Update test boxes
101
+ * Update Vagrant sources location to use `hashicorp/vagrant`
102
+ * Update documentation
103
+
104
+ ## Version 1.1.0 (2018-01-30)
105
+
106
+ ### Added
107
+
108
+ * `:force_empty_mountpoint` configuration option, for compatibility with Fuse's `nonempty` option
109
+
110
+ ## Version 1.0.11 (2017-12-20)
111
+
112
+ ### Added
113
+
114
+ * Support for Gentoo guests
115
+
116
+ ### Changed
117
+
118
+ * Update tests boxes
119
+ * Extract capabilities to a JSON file
120
+
121
+ ## Version 1.0.10 (2017-12-01)
122
+
123
+ ### Added
124
+
125
+ * Support for bindfs 1.13.9
126
+
127
+ ### Fixed
128
+
129
+ * Link to bindfs documentation (#75, thanks to @grahamrhay)
130
+
131
+ ### Changed
132
+
133
+ * Argument formatting
134
+
135
+ ## Version 1.0.9 (2017-09-04)
136
+
137
+ ### Changed
138
+
139
+ * Update bindfs backup URL to download sources (#74, thanks to @mpartel)
140
+
141
+ ## Version 1.0.8 (2017-06-30)
142
+
143
+ ### Fixed
144
+
145
+ * Force repository update before package installation on Debian (See #72)
146
+
147
+ ## Version 1.0.7 (2017-04-08)
148
+
149
+ ### Added
150
+
151
+ * Support for bindfs 1.13.7
152
+
153
+ ## Version 1.0.6 (2017-03-25)
154
+
155
+ ### Fixed
156
+
157
+ * Accept `nil` as a value for string options (See #70)
158
+
159
+ ## Version 1.0.5 (2017-02-22)
160
+
161
+ ### Added
162
+
163
+ * More explicit error messages
164
+
165
+ ## Version 1.0.4 (2017-02-07)
166
+
167
+ ### Added
168
+
169
+ * Support for bindfs 1.13.6
170
+
171
+ ## Version 1.0.3 (2017-01-01)
172
+
173
+ ### Fixed
174
+
175
+ * bndfs full path detection (#67, thanks to @herebebogans)
176
+
177
+ ## Version 1.0.2 (2016-12-16)
178
+
179
+ ### Fixed
180
+
181
+ * Always use bindfs full path (See #64)
182
+ * Automatically cast arguments according to type (option or flag) (#63, thanks to @pdesgarets)
183
+
184
+ ### Changed
185
+
186
+ * Improved bindfs installation process
187
+
188
+ ## Version 1.0.1 (2016-12-05)
189
+
190
+ ### Fixed
191
+
192
+ * Explicit requirements on Ruby's `Enumerable` and `Forwardable` modules
193
+ * Uninitialized constant `VagrantBindfs::Bindfs::OptionSet::Forwardable` (#62, thanks to @rpnzl)
194
+
195
+ ## Version 1.0.0 (2016-12-04)
196
+
197
+ ### Added
198
+
199
+ * Allow to specify version of bindfs to be installed (See #54)
200
+
201
+ ### Changed
202
+
203
+ * Improved capabilities
204
+ * Distinguish configuration and runtime validations
205
+ * Distinguish Vagrant relate code and bindfs related code
206
+ * Introduce RuboCop
207
+ * Unit tests with RSpec
208
+
209
+ ## Version 0.4.14 (2016-11-29)
210
+
211
+ ### Fixed
212
+
213
+ * Uninitialized constant `Vagrant::Plugins::Bindfs::SOURCE_VERSION` (#61, thanks to @rbngzlv)
214
+
215
+ ## Version 0.4.13 (2016-11-26)
216
+
217
+ ### Fixed
218
+
219
+ * Ruby version requirements (#57, thanks to @renan)
220
+
221
+ ## Version 0.4.12 (2016-11-18)
222
+
223
+ ### Added
224
+
225
+ * `:source_version` configuration option, to control version of bindfs installed from source (See #54)
226
+ * Exclude `/vagrant` from allowed destination paths
227
+
228
+ ### Fixed
229
+
230
+ * Downgrade Ruby requirements (See #55)
231
+
232
+ ## Version 0.4.11 (2016-10-28)
233
+
234
+ ### Added
235
+
236
+ * Support for bindfs 1.13.4 new options (See #52)
237
+
238
+ ## Version 0.4.10 (2016-10-02)
239
+
240
+ ### Added
241
+
242
+ * OS X support
243
+
244
+ ### Changed
245
+
246
+ * Use bento boxes only for tests
247
+
248
+ ## Version 0.4.9 (2016-07-04)
249
+
250
+ ### Changed
251
+
252
+ * Support mirrors to download bindfs sources on source install (See #46)
253
+
254
+ ## Version 0.4.8 (2016-07-01)
255
+
256
+ ### Changed
257
+
258
+ * Download URL for bindfs sources on source install (See #46)
259
+
260
+ ## Version 0.4.7 (2016-04-21)
261
+
262
+ ### Fixed
263
+
264
+ * Overwriting user or group (See #41)
265
+ * bindfs version detection (#43, thanks to @msabramo)
266
+
267
+ ### Changed
268
+
269
+ * Update tests configuration and boxes
270
+
271
+ ## Version 0.4.6 (2015-11-30)
272
+
273
+ ### Added
274
+
275
+ * Support for bindfs 1.13 new options
276
+
277
+ ## Version 0.4.5 (2015-11-30)
278
+
279
+ ### Fixed
280
+
281
+ * bindfs version detection
282
+
283
+ ## Version 0.4.4 (2015-11-29)
284
+
285
+ ### Added
286
+
287
+ * Support for bindfs 1.13
288
+ * Allow to skip user/group verifications (#36, thanks to @charliewolf)
289
+
290
+ ### Fixed
291
+
292
+ * Improved error message (#34, thanks to @aronwoost)
293
+ * bindfs version detection
294
+
295
+ ## Version 0.4.3 (2015-08-31)
296
+
297
+ ### Fixed
298
+
299
+ * Detection of bound folders (See #33)
300
+
301
+ ## Version 0.4.2 (2015-07-02)
302
+
303
+ ### Added
304
+
305
+ * Allow folders to be bound after folders syncing or after provisioning
306
+ * Handle missing user/group (#32, thanks to @mhaylock)
307
+
308
+ ## Version 0.4.1 (2015-06-17)
309
+
310
+ ### Fixed
311
+
312
+ * Installation dependencies on Red Hat guests (#30, thanks to @kekkis)
313
+ * Link to bindfs documentation (#26, thanks to @aconrad)
314
+
315
+ ## Version 0.4.0 (2015-02-02)
316
+
317
+ ### Fixed
318
+
319
+ * Fuse detection on Ubuntu guests
320
+ * Installation dependencies on Red Hat guests
321
+ * Compatibility with older RHEL Server (#25, thanks to @jliebert)
322
+
323
+ ## Version 0.3.4 (2015-01-17)
324
+
325
+ ### Fixed
326
+
327
+ * Fuse kernel module loading (See #20)
328
+
329
+ ## Version 0.3.3 (2015-01-17)
330
+
331
+ ### Added
332
+
333
+ * CentOS 5 & 6 guests support (#24, thanks to @ricoli)
334
+
335
+ ## Version 0.3.2 (2014-11-08)
336
+
337
+ ### Added
338
+
339
+ * Fedora guests support
340
+ * Use `modprobe` to check Fuse is avalable and loaded (#17, thanks to @tboerger)
341
+
342
+ ### Fixed
343
+
344
+ * Documentation (#16, thanks to @tboerger)
345
+
346
+ ## Version 0.3.1 (2014-10-10)
347
+
348
+ ### Fixed
349
+
350
+ * Compatibility with old Vagrantfiles (See #15)
351
+ * Documentation
352
+
353
+ ## Version 0.3.0 (2014-10-08)
354
+
355
+ ### Added
356
+
357
+ * Support for Vagrant capabilities (#14, thanks to @tboerger)
358
+
359
+ ## Version 0.2.4 (2014-01-04)
360
+
361
+ ### Added
362
+
363
+ * Basic support for fuse options
364
+
365
+ ### Fixed
366
+
367
+ * Option short names support
368
+
369
+ ## Version 0.2.3 (2013-12-16)
370
+
371
+ ### Added
372
+
373
+ * Compatibility with Vagrant 1.4
374
+ * Improve documentation
375
+
376
+ ### Changed
377
+
378
+ * Internal Ruby namespaces
379
+
380
+ ## Version 0.2.2 (2013-07-22)
381
+
382
+ ### Added
383
+
384
+ * Improve documentation
385
+
386
+ ## Version 0.2.1 (2013-06-04)
387
+
388
+ ### Fixed
389
+
390
+ * Hook precedence (#5, thanks to @igor47)
391
+
392
+ ## Version 0.2.0 (2013-06-03)
393
+
394
+ ### Breaking changes
395
+
396
+ * Rewrite to support Vagrant's new plugin API (#4, thanks to @igor47)
397
+
398
+ ## Version 0.1.9 (2012-12-18)
399
+
400
+ ### Fixed
401
+
402
+ * Prevent double execution of `bindfs` commands (#3, thanks to @juanje)
403
+ * I18n namespace for error messages (#1, thanks to @avit)
404
+
405
+ ## Version 0.1.8 (2012-01-31)
406
+
407
+ ### Breaking changes
408
+
409
+ * Drop support for Vagrant < 0.9.4
410
+
411
+ ### Added
412
+
413
+ * Compatibility with Vagrant 0.9.4
414
+ * Documentation and license
415
+
416
+ ## Version 0.1.7 (2011-02-08)
417
+
418
+ ### Changed
419
+
420
+ * Remove unnecessary logging
421
+
422
+ ## Version 0.1.6 (2011-02-08)
423
+
424
+ ### Fixed
425
+
426
+ * Default permissions now compatible with executable files
427
+ * `no-allow-other` wrongly considered as an option
428
+
429
+ ## Version 0.1.5 (2011-02-07)
430
+
431
+ ### Fixed
432
+
433
+ * Injection into Vagrant's middleware stacks so `vagrant-bindfs` commands can be used as soon as a VM is created.
434
+
435
+ ## Version 0.1.4 (2011-02-07)
436
+
437
+ ### Fixed
438
+
439
+ * Compatibility with Vagrant 0.7
440
+
441
+ ## Version 0.1.3 (2010-12-30)
442
+
443
+ ### Added
444
+
445
+ * Check if bindfs is installed on guest machine
446
+ * Failed commands reporting
447
+
448
+ ## Version 0.1.2 (2010-11-29)
449
+
450
+ ### Added
451
+
452
+ * Support for bindfs flag options
453
+
454
+ ## Version 0.1.1 (2010-11-22)
455
+
456
+ ### Added
457
+
458
+ * Improve documentation
459
+
460
+ ## Version 0.1.0 (2010-11-22)
461
+
462
+ * Initial release
data/README.md CHANGED
@@ -1,7 +1,8 @@
1
1
  # vagrant-bindfs
2
2
 
3
- A Vagrant plugin to automate [bindfs](http://bindfs.org/) mounts in the VM. This allow you to change owner, group and permissions on files and, for example, work around NFS share permissions issues.
3
+ [![Unit tests](https://github.com/gael-ian/vagrant-bindfs/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/gael-ian/vagrant-bindfs/actions/workflows/unit-tests.yml)
4
4
 
5
+ A Vagrant plugin to automate [bindfs](http://bindfs.org/) mounts in the VM. This allow you to change owner, group and permissions on files and, for example, work around NFS share permissions issues.
5
6
 
6
7
  ## Some Background: Why `vagrant-bindfs`
7
8
 
@@ -25,7 +26,6 @@ Simply:
25
26
 
26
27
  _Note that `map_uid` and `map_gid` NFS options can be used to set the identity used to read/write files on the host side._
27
28
 
28
-
29
29
  ## Installation
30
30
 
31
31
  vagrant-bindfs is distributed as a Ruby gem.
@@ -35,7 +35,6 @@ You can install it as any other Vagrant plugin with:
35
35
  vagrant plugin install vagrant-bindfs
36
36
  ```
37
37
 
38
-
39
38
  ## Usage
40
39
 
41
40
  In your `Vagrantfile`, use `config.bindfs.bind_folder` to configure folders that will be bound on VM startup.
data/Vagrantfile CHANGED
@@ -5,23 +5,19 @@
5
5
 
6
6
  # Uncomment machines you want to test
7
7
  test_machines = {
8
- # debian: { box: "bento/debian-10" },
9
- # ubuntu: { box: "bento/ubuntu-18.04" },
10
- # fedora: { box: "bento/fedora-latest" },
11
- # redhat: { box: "bento/centos-8" },
8
+ # debian: { box: "bento/debian-11" },
9
+ # ubuntu: { box: "bento/ubuntu-22.04" },
10
+ # fedora: { box: "bento/fedora-latest" },
11
+ # redhat: { box: "bento/centos-stream-9" },
12
12
  # gentoo: { box: "generic/gentoo" },
13
13
 
14
14
  # The `vagrant` user group does not exist in this box.
15
15
  # suse: { box: "bento/opensuse-leap-15", args: { group: 'users' } },
16
16
 
17
- # **This box require the Oracle VM VirtualBox Extension Pack for Virtualbox.**
18
- # The `vagrant` user group does not exist in this box.
19
- # osx: { box: "jhcook/osx-elcapitan-10.11", args: { group: 'staff' } },
20
-
21
17
  # When you add a new test machine, please ensure that it will stay
22
18
  # available and regularly updated for future tests. We recommend to
23
- # use officialy supported boxes, as stated in the Vagrant
24
- # documentation. See https://goo.gl/LbkPVF
19
+ # use officially supported boxes, as stated in the Vagrant documentation.
20
+ # See https://goo.gl/LbkPVF
25
21
  }
26
22
 
27
23
  require File.expand_path('spec/vagrantfile_helper', __dir__)
@@ -2,7 +2,7 @@
2
2
 
3
3
  module VagrantBindfs
4
4
  module Bindfs
5
- class Command
5
+ class Command # :nodoc:
6
6
  attr_reader :folder
7
7
 
8
8
  def initialize(folder)
@@ -4,7 +4,7 @@ require 'digest/sha1'
4
4
 
5
5
  module VagrantBindfs
6
6
  module Bindfs
7
- class Folder
7
+ class Folder # :nodoc:
8
8
  attr_reader :source,
9
9
  :destination,
10
10
  :options,
@@ -9,6 +9,8 @@
9
9
  "map": { "long": ["map"], "short": [], "type": "option", "since": "1.10" },
10
10
  "map-passwd": { "long": ["map-passwd"], "short": [], "type": "option", "since": "1.14.6" },
11
11
  "map-group": { "long": ["map-group"], "short": [], "type": "option", "since": "1.14.6" },
12
+ "map-passwd-rev": { "long": ["map-passwd-rev"], "short": [], "type": "option", "since": "1.16.1" },
13
+ "map-group-rev": { "long": ["map-group-rev"], "short": [], "type": "option", "since": "1.16.1" },
12
14
  "uid-offset": { "long": ["uid-offset"], "short": [], "type": "option", "since": "1.13.2" },
13
15
  "gid-offset": { "long": ["gid-offset"], "short": [], "type": "option", "since": "1.13.2" },
14
16
 
@@ -4,7 +4,7 @@ require 'forwardable'
4
4
 
5
5
  module VagrantBindfs
6
6
  module Bindfs
7
- class OptionSet
7
+ class OptionSet # :nodoc:
8
8
  attr_reader :version,
9
9
  :options,
10
10
  :invalid_options,
@@ -12,7 +12,7 @@ module VagrantBindfs
12
12
 
13
13
  include ::Enumerable
14
14
  extend ::Forwardable
15
- def_delegators :@options, :each, :[], :keys, :key?
15
+ def_delegators :@options, :each, :[], :keys, :key?, :to_h
16
16
 
17
17
  def initialize(version = nil, options = {})
18
18
  @version = version
@@ -5,7 +5,7 @@ require 'forwardable'
5
5
  module VagrantBindfs
6
6
  module Bindfs
7
7
  module Validators
8
- class Config
8
+ class Config # :nodoc:
9
9
  attr_reader :folder,
10
10
  :errors
11
11
 
@@ -28,24 +28,32 @@ module VagrantBindfs
28
28
  protected
29
29
 
30
30
  def validate_source!
31
- @errors << I18n.t('vagrant-bindfs.validations.source_path_required') if source.empty?
32
- @errors << I18n.t('vagrant-bindfs.validations.path_must_be_absolute', path: source) if relative_path?(source)
31
+ @errors << invalid('source_path_required') if source.empty?
32
+ @errors << invalid('path_must_be_absolute', path: source) if relative_path?(source)
33
33
  end
34
34
 
35
35
  def validate_destination!
36
- @errors << I18n.t('vagrant-bindfs.validations.destination_path_required') if destination.empty?
37
- @errors << I18n.t('vagrant-bindfs.validations.path_must_be_absolute', path: destination) if relative_path?(destination)
36
+ @errors << invalid('destination_path_required') if destination.empty?
37
+ @errors << invalid('path_must_be_absolute', path: destination) if relative_path?(destination)
38
38
  end
39
39
 
40
40
  def validate_options!
41
41
  folder.options.invalid_options.each_key do |option_name|
42
- @errors << I18n.t(option_name.tr('-', '_'), scope: 'vagrant-bindfs.deprecations')
42
+ @errors << deprecation(option_name.tr('-', '_'))
43
43
  end
44
44
  end
45
45
 
46
46
  def relative_path?(path)
47
47
  Pathname.new(path).relative?
48
48
  end
49
+
50
+ def invalid(key, **options)
51
+ I18n.t(key, **options.merge(scope: 'vagrant-bindfs.validations'))
52
+ end
53
+
54
+ def deprecation(key)
55
+ I18n.t(key, scope: 'vagrant-bindfs.deprecations')
56
+ end
49
57
  end
50
58
  end
51
59
  end
@@ -3,7 +3,7 @@
3
3
  module VagrantBindfs
4
4
  module Bindfs
5
5
  module Validators
6
- class Runtime < Config
6
+ class Runtime < Config # :nodoc:
7
7
  attr_reader :machine
8
8
 
9
9
  def initialize(folder, machine)
@@ -16,13 +16,13 @@ module VagrantBindfs
16
16
  def validate_source!
17
17
  super
18
18
 
19
- @errors << I18n.t('vagrant-bindfs.validations.source_path_does_not_exist', path: source) unless directory_exists?(source)
19
+ @errors << invalid('source_path_does_not_exist', path: source) unless directory_exists?(source)
20
20
  end
21
21
 
22
22
  def validate_destination!
23
23
  super
24
24
 
25
- @errors << I18n.t('vagrant-bindfs.validations.destination_already_mounted', dest: destination) if mount_exists?(destination)
25
+ @errors << invalid('destination_already_mounted', dest: destination) if mount_exists?(destination)
26
26
  end
27
27
 
28
28
  def validate_options!
@@ -44,14 +44,14 @@ module VagrantBindfs
44
44
  return if machine.config.bindfs.skip_validations.include?(:user)
45
45
  return if machine.guest.capability(:bindfs_exists_user, options['force-user'])
46
46
 
47
- @errors << I18n.t('vagrant-bindfs.validations.user_does_not_exist', user: options['force-user'])
47
+ @errors << invalid('user_does_not_exist', user: options['force-user'])
48
48
  end
49
49
 
50
50
  def validate_group
51
51
  return if machine.config.bindfs.skip_validations.include?(:group)
52
52
  return if machine.guest.capability(:bindfs_exists_group, options['force-group'])
53
53
 
54
- @errors << I18n.t('vagrant-bindfs.validations.group_does_not_exist', group: options['force-group'])
54
+ @errors << invalid('group_does_not_exist', group: options['force-group'])
55
55
  end
56
56
  end
57
57
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module VagrantBindfs
4
4
  module Bindfs
5
- module Validators
5
+ module Validators # :nodoc:
6
6
  autoload :Config, 'vagrant-bindfs/bindfs/validators/config'
7
7
  autoload :Runtime, 'vagrant-bindfs/bindfs/validators/runtime'
8
8
  end
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module VagrantBindfs
4
- module Bindfs
5
- SOURCE_VERSION = '1.14.7'
4
+ module Bindfs # :nodoc:
5
+ SOURCE_VERSION = '1.17.2'
6
6
  SOURCE_URLS = [
7
7
  'https://bindfs.org/downloads/%<basename>s.tar.gz',
8
8
  'https://bindfs.dy.fi/downloads/%<basename>s.tar.gz'
@@ -4,7 +4,7 @@ module VagrantBindfs
4
4
  module Vagrant
5
5
  module Actions
6
6
  module Concerns
7
- module Log
7
+ module Log # :nodoc:
8
8
  def logger
9
9
  env[:ui]
10
10
  end