maid 0.10.0.pre.alpha.3 → 0.11.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.
- checksums.yaml +4 -4
- data/.github/FUNDING.yml +14 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +37 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/workflows/coverage.yml +3 -3
- data/.github/workflows/lint.yml +9 -1
- data/.github/workflows/merge-gatekeeper.yml +20 -0
- data/.github/workflows/release.yml +13 -20
- data/.github/workflows/stale.yml +25 -0
- data/.github/workflows/test.yml +8 -7
- data/.gitignore +1 -1
- data/.release-please-manifest.json +1 -1
- data/.rubocop.yml +3 -1
- data/.rubocop_todo.yml +105 -107
- data/.ruby-version +1 -1
- data/CHANGELOG.md +23 -0
- data/Dockerfile +13 -0
- data/Gemfile.lock +226 -0
- data/Guardfile +2 -0
- data/README.md +82 -49
- data/Rakefile +9 -0
- data/SECURITY.md +29 -0
- data/fixtures/files/test_rules.rb +3 -0
- data/fixtures/vcr_cassettes/Dependency_expectations/Geocoder/translates_latitude_and_longitude_into_street_addresses.yml +42 -0
- data/fixtures/vcr_cassettes/Maid_Tools/_location_city/given_a_JPEG_image/reports_the_known_location.yml +42 -0
- data/lib/maid/logger/logger.rb +63 -0
- data/lib/maid/maid.rb +6 -22
- data/lib/maid/repeat.rb +2 -2
- data/lib/maid/rule.rb +2 -2
- data/lib/maid/rule_container.rb +2 -2
- data/lib/maid/tools.rb +3 -3
- data/lib/maid/trash_migration.rb +2 -0
- data/lib/maid/version.rb +1 -1
- data/lib/maid/watch.rb +2 -2
- data/lib/maid.rb +3 -2
- data/maid.gemspec +14 -9
- data/release-please-config.json +18 -0
- data/script/docker-test +7 -0
- data/spec/dependency_spec.rb +1 -1
- data/spec/fakefs_helper.rb +13 -0
- data/spec/lib/maid/logger/logger_spec.rb +64 -0
- data/spec/lib/maid/maid_spec.rb +113 -103
- data/spec/lib/maid/rake/single_rule_spec.rb +1 -1
- data/spec/lib/maid/tools_spec.rb +384 -225
- data/spec/lib/maid/trash_migration_spec.rb +7 -5
- data/spec/spec_helper.rb +17 -1
- metadata +124 -44
- data/Vagrantfile +0 -14
- data/script/vagrant-provision +0 -43
- data/script/vagrant-test +0 -7
- data/script/vagrant-test-all +0 -34
| @@ -3,7 +3,13 @@ require 'fileutils' | |
| 3 3 | 
             
            require 'spec_helper'
         | 
| 4 4 |  | 
| 5 5 | 
             
            module Maid
         | 
| 6 | 
            -
              describe TrashMigration, fakefs | 
| 6 | 
            +
              describe TrashMigration, :fakefs do
         | 
| 7 | 
            +
                before do
         | 
| 8 | 
            +
                  # Avoid FakeFS' File#flock NotImplementedError
         | 
| 9 | 
            +
                  FileUtils.mkdir_p(File.dirname(Maid::DEFAULTS[:log_device]))
         | 
| 10 | 
            +
                  FileUtils.touch(Maid::DEFAULTS[:log_device])
         | 
| 11 | 
            +
                end
         | 
| 12 | 
            +
             | 
| 7 13 | 
             
                context 'when running on Linux' do
         | 
| 8 14 | 
             
                  before do
         | 
| 9 15 | 
             
                    allow(Platform).to receive(:linux?).and_return(true)
         | 
| @@ -47,10 +53,6 @@ module Maid | |
| 47 53 | 
             
                end
         | 
| 48 54 |  | 
| 49 55 | 
             
                describe 'performing' do
         | 
| 50 | 
            -
                  before do
         | 
| 51 | 
            -
                    allow(Logger).to receive(:new).and_return(double('Logger').as_null_object)
         | 
| 52 | 
            -
                  end
         | 
| 53 | 
            -
             | 
| 54 56 | 
             
                  context 'in Linux' do
         | 
| 55 57 | 
             
                    let(:filename) { 'foo.txt' }
         | 
| 56 58 | 
             
                    let(:trash_contents) do
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | @@ -16,9 +16,18 @@ require 'rspec' | |
| 16 16 | 
             
            require 'timecop'
         | 
| 17 17 | 
             
            require 'fakefs/spec_helpers'
         | 
| 18 18 | 
             
            require 'pry-byebug'
         | 
| 19 | 
            +
            require 'vcr'
         | 
| 19 20 |  | 
| 20 21 | 
             
            require 'maid'
         | 
| 21 22 |  | 
| 23 | 
            +
            # Prevent running RSpec unless it's running in Vagrant or Docker, to avoid
         | 
| 24 | 
            +
            # overwriting files on the live filesystem through the tests.
         | 
| 25 | 
            +
            unless ENV['ISOLATED']
         | 
| 26 | 
            +
              raise "It's safer to run the tests within a Docker container or a Vagrant box.
         | 
| 27 | 
            +
              See https://github.com/maid/maid/wiki/Contributing. To run anyway, set the
         | 
| 28 | 
            +
              environment variable `ISOLATED` to `true`"
         | 
| 29 | 
            +
            end
         | 
| 30 | 
            +
             | 
| 22 31 | 
             
            RSpec.configure do |config|
         | 
| 23 32 | 
             
              config.mock_with(:rspec) do |mocks|
         | 
| 24 33 | 
             
                mocks.allow_message_expectations_on_nil = false
         | 
| @@ -32,7 +41,7 @@ RSpec.configure do |config| | |
| 32 41 | 
             
              # NOTE: If a test fails because ENOENT /usr/share/zoneinfo/Africa/Abidjan,
         | 
| 33 42 | 
             
              # add `fake_zoneinfo: true` to the describe:
         | 
| 34 43 | 
             
              # `describe(MyClass, fake_zoneinfo: true do`
         | 
| 35 | 
            -
              config.before(:context, fake_zoneinfo | 
| 44 | 
            +
              config.before(:context, :fake_zoneinfo) do
         | 
| 36 45 | 
             
                # Rufus needs zoneinfo data to run, but when using FakeFS,
         | 
| 37 46 | 
             
                # /usr/share/zoneinfo doesn't exist on the FakeFS.
         | 
| 38 47 | 
             
                # On Linux, we just have to FakeFS::FileSystem.clone the directory and it
         | 
| @@ -65,3 +74,10 @@ RSpec::Matchers.define :have_deprecated_method do |expected| | |
| 65 74 | 
             
                expect(actual).to receive(:__deprecated_run_action__).with(expected, anything) # rubocop:disable RSpec/MessageSpies
         | 
| 66 75 | 
             
              end
         | 
| 67 76 | 
             
            end
         | 
| 77 | 
            +
             | 
| 78 | 
            +
            VCR.configure do |config|
         | 
| 79 | 
            +
              config.cassette_library_dir = 'fixtures/vcr_cassettes'
         | 
| 80 | 
            +
              config.hook_into :webmock
         | 
| 81 | 
            +
              # For autogenerating VCR cassettes' names based on the tests' metadata
         | 
| 82 | 
            +
              config.configure_rspec_metadata!
         | 
| 83 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,15 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: maid
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.11.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Benjamin Oakes
         | 
| 8 8 | 
             
            - Coaxial
         | 
| 9 | 
            -
            autorequire: 
         | 
| 10 9 | 
             
            bindir: bin
         | 
| 11 10 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date:  | 
| 11 | 
            +
            date: 2025-03-30 00:00:00.000000000 Z
         | 
| 13 12 | 
             
            dependencies:
         | 
| 14 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 14 | 
             
              name: deprecated
         | 
| @@ -201,16 +200,16 @@ dependencies: | |
| 201 200 | 
             
              name: fuubar
         | 
| 202 201 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 203 202 | 
             
                requirements:
         | 
| 204 | 
            -
                - - " | 
| 203 | 
            +
                - - "~>"
         | 
| 205 204 | 
             
                  - !ruby/object:Gem::Version
         | 
| 206 | 
            -
                    version:  | 
| 205 | 
            +
                    version: 2.5.1
         | 
| 207 206 | 
             
              type: :development
         | 
| 208 207 | 
             
              prerelease: false
         | 
| 209 208 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 210 209 | 
             
                requirements:
         | 
| 211 | 
            -
                - - " | 
| 210 | 
            +
                - - "~>"
         | 
| 212 211 | 
             
                  - !ruby/object:Gem::Version
         | 
| 213 | 
            -
                    version:  | 
| 212 | 
            +
                    version: 2.5.1
         | 
| 214 213 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 215 214 | 
             
              name: guard
         | 
| 216 215 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -257,30 +256,58 @@ dependencies: | |
| 257 256 | 
             
              name: guard-rubocop
         | 
| 258 257 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 259 258 | 
             
                requirements:
         | 
| 260 | 
            -
                - - " | 
| 259 | 
            +
                - - "~>"
         | 
| 261 260 | 
             
                  - !ruby/object:Gem::Version
         | 
| 262 | 
            -
                    version:  | 
| 261 | 
            +
                    version: 1.5.0
         | 
| 263 262 | 
             
              type: :development
         | 
| 264 263 | 
             
              prerelease: false
         | 
| 265 264 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 266 265 | 
             
                requirements:
         | 
| 267 | 
            -
                - - " | 
| 266 | 
            +
                - - "~>"
         | 
| 267 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 268 | 
            +
                    version: 1.5.0
         | 
| 269 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 270 | 
            +
              name: irb
         | 
| 271 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 272 | 
            +
                requirements:
         | 
| 273 | 
            +
                - - "~>"
         | 
| 274 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 275 | 
            +
                    version: 1.15.1
         | 
| 276 | 
            +
              type: :development
         | 
| 277 | 
            +
              prerelease: false
         | 
| 278 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 279 | 
            +
                requirements:
         | 
| 280 | 
            +
                - - "~>"
         | 
| 281 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 282 | 
            +
                    version: 1.15.1
         | 
| 283 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 284 | 
            +
              name: ostruct
         | 
| 285 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 286 | 
            +
                requirements:
         | 
| 287 | 
            +
                - - "~>"
         | 
| 268 288 | 
             
                  - !ruby/object:Gem::Version
         | 
| 269 | 
            -
                    version:  | 
| 289 | 
            +
                    version: 0.6.1
         | 
| 290 | 
            +
              type: :development
         | 
| 291 | 
            +
              prerelease: false
         | 
| 292 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 293 | 
            +
                requirements:
         | 
| 294 | 
            +
                - - "~>"
         | 
| 295 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 296 | 
            +
                    version: 0.6.1
         | 
| 270 297 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 271 298 | 
             
              name: pry-byebug
         | 
| 272 299 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 273 300 | 
             
                requirements:
         | 
| 274 | 
            -
                - - " | 
| 301 | 
            +
                - - "~>"
         | 
| 275 302 | 
             
                  - !ruby/object:Gem::Version
         | 
| 276 | 
            -
                    version:  | 
| 303 | 
            +
                    version: 3.10.1
         | 
| 277 304 | 
             
              type: :development
         | 
| 278 305 | 
             
              prerelease: false
         | 
| 279 306 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 280 307 | 
             
                requirements:
         | 
| 281 | 
            -
                - - " | 
| 308 | 
            +
                - - "~>"
         | 
| 282 309 | 
             
                  - !ruby/object:Gem::Version
         | 
| 283 | 
            -
                    version:  | 
| 310 | 
            +
                    version: 3.10.1
         | 
| 284 311 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 285 312 | 
             
              name: rake
         | 
| 286 313 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -299,16 +326,16 @@ dependencies: | |
| 299 326 | 
             
              name: rake-notes
         | 
| 300 327 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 301 328 | 
             
                requirements:
         | 
| 302 | 
            -
                - - " | 
| 329 | 
            +
                - - "~>"
         | 
| 303 330 | 
             
                  - !ruby/object:Gem::Version
         | 
| 304 | 
            -
                    version:  | 
| 331 | 
            +
                    version: 0.2.2
         | 
| 305 332 | 
             
              type: :development
         | 
| 306 333 | 
             
              prerelease: false
         | 
| 307 334 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 308 335 | 
             
                requirements:
         | 
| 309 | 
            -
                - - " | 
| 336 | 
            +
                - - "~>"
         | 
| 310 337 | 
             
                  - !ruby/object:Gem::Version
         | 
| 311 | 
            -
                    version:  | 
| 338 | 
            +
                    version: 0.2.2
         | 
| 312 339 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 313 340 | 
             
              name: redcarpet
         | 
| 314 341 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -323,6 +350,20 @@ dependencies: | |
| 323 350 | 
             
                - - "~>"
         | 
| 324 351 | 
             
                  - !ruby/object:Gem::Version
         | 
| 325 352 | 
             
                    version: 3.6.0
         | 
| 353 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 354 | 
            +
              name: reline
         | 
| 355 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 356 | 
            +
                requirements:
         | 
| 357 | 
            +
                - - "~>"
         | 
| 358 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 359 | 
            +
                    version: 0.6.0
         | 
| 360 | 
            +
              type: :development
         | 
| 361 | 
            +
              prerelease: false
         | 
| 362 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 363 | 
            +
                requirements:
         | 
| 364 | 
            +
                - - "~>"
         | 
| 365 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 366 | 
            +
                    version: 0.6.0
         | 
| 326 367 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 327 368 | 
             
              name: rspec
         | 
| 328 369 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -341,58 +382,58 @@ dependencies: | |
| 341 382 | 
             
              name: rubocop
         | 
| 342 383 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 343 384 | 
             
                requirements:
         | 
| 344 | 
            -
                - - " | 
| 385 | 
            +
                - - "~>"
         | 
| 345 386 | 
             
                  - !ruby/object:Gem::Version
         | 
| 346 | 
            -
                    version: ' | 
| 387 | 
            +
                    version: '1.50'
         | 
| 347 388 | 
             
              type: :development
         | 
| 348 389 | 
             
              prerelease: false
         | 
| 349 390 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 350 391 | 
             
                requirements:
         | 
| 351 | 
            -
                - - " | 
| 392 | 
            +
                - - "~>"
         | 
| 352 393 | 
             
                  - !ruby/object:Gem::Version
         | 
| 353 | 
            -
                    version: ' | 
| 394 | 
            +
                    version: '1.50'
         | 
| 354 395 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 355 396 | 
             
              name: rubocop-rake
         | 
| 356 397 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 357 398 | 
             
                requirements:
         | 
| 358 | 
            -
                - - " | 
| 399 | 
            +
                - - "~>"
         | 
| 359 400 | 
             
                  - !ruby/object:Gem::Version
         | 
| 360 | 
            -
                    version:  | 
| 401 | 
            +
                    version: 0.6.0
         | 
| 361 402 | 
             
              type: :development
         | 
| 362 403 | 
             
              prerelease: false
         | 
| 363 404 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 364 405 | 
             
                requirements:
         | 
| 365 | 
            -
                - - " | 
| 406 | 
            +
                - - "~>"
         | 
| 366 407 | 
             
                  - !ruby/object:Gem::Version
         | 
| 367 | 
            -
                    version:  | 
| 408 | 
            +
                    version: 0.6.0
         | 
| 368 409 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 369 410 | 
             
              name: rubocop-rspec
         | 
| 370 411 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 371 412 | 
             
                requirements:
         | 
| 372 | 
            -
                - - " | 
| 413 | 
            +
                - - "~>"
         | 
| 373 414 | 
             
                  - !ruby/object:Gem::Version
         | 
| 374 | 
            -
                    version:  | 
| 415 | 
            +
                    version: 3.5.0
         | 
| 375 416 | 
             
              type: :development
         | 
| 376 417 | 
             
              prerelease: false
         | 
| 377 418 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 378 419 | 
             
                requirements:
         | 
| 379 | 
            -
                - - " | 
| 420 | 
            +
                - - "~>"
         | 
| 380 421 | 
             
                  - !ruby/object:Gem::Version
         | 
| 381 | 
            -
                    version:  | 
| 422 | 
            +
                    version: 3.5.0
         | 
| 382 423 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 383 424 | 
             
              name: simplecov
         | 
| 384 425 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 385 426 | 
             
                requirements:
         | 
| 386 | 
            -
                - - " | 
| 427 | 
            +
                - - "~>"
         | 
| 387 428 | 
             
                  - !ruby/object:Gem::Version
         | 
| 388 | 
            -
                    version:  | 
| 429 | 
            +
                    version: 0.22.0
         | 
| 389 430 | 
             
              type: :development
         | 
| 390 431 | 
             
              prerelease: false
         | 
| 391 432 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 392 433 | 
             
                requirements:
         | 
| 393 | 
            -
                - - " | 
| 434 | 
            +
                - - "~>"
         | 
| 394 435 | 
             
                  - !ruby/object:Gem::Version
         | 
| 395 | 
            -
                    version:  | 
| 436 | 
            +
                    version: 0.22.0
         | 
| 396 437 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 397 438 | 
             
              name: timecop
         | 
| 398 439 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -407,6 +448,34 @@ dependencies: | |
| 407 448 | 
             
                - - "~>"
         | 
| 408 449 | 
             
                  - !ruby/object:Gem::Version
         | 
| 409 450 | 
             
                    version: 0.9.6
         | 
| 451 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 452 | 
            +
              name: vcr
         | 
| 453 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 454 | 
            +
                requirements:
         | 
| 455 | 
            +
                - - "~>"
         | 
| 456 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 457 | 
            +
                    version: 6.1.0
         | 
| 458 | 
            +
              type: :development
         | 
| 459 | 
            +
              prerelease: false
         | 
| 460 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 461 | 
            +
                requirements:
         | 
| 462 | 
            +
                - - "~>"
         | 
| 463 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 464 | 
            +
                    version: 6.1.0
         | 
| 465 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 466 | 
            +
              name: webmock
         | 
| 467 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 468 | 
            +
                requirements:
         | 
| 469 | 
            +
                - - "~>"
         | 
| 470 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 471 | 
            +
                    version: 3.18.1
         | 
| 472 | 
            +
              type: :development
         | 
| 473 | 
            +
              prerelease: false
         | 
| 474 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 475 | 
            +
                requirements:
         | 
| 476 | 
            +
                - - "~>"
         | 
| 477 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 478 | 
            +
                    version: 3.18.1
         | 
| 410 479 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 411 480 | 
             
              name: yard
         | 
| 412 481 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -461,9 +530,14 @@ extra_rdoc_files: [] | |
| 461 530 | 
             
            files:
         | 
| 462 531 | 
             
            - ".act-env"
         | 
| 463 532 | 
             
            - ".act-secrets.example"
         | 
| 533 | 
            +
            - ".github/FUNDING.yml"
         | 
| 534 | 
            +
            - ".github/ISSUE_TEMPLATE/bug_report.md"
         | 
| 535 | 
            +
            - ".github/ISSUE_TEMPLATE/feature_request.md"
         | 
| 464 536 | 
             
            - ".github/workflows/coverage.yml"
         | 
| 465 537 | 
             
            - ".github/workflows/lint.yml"
         | 
| 538 | 
            +
            - ".github/workflows/merge-gatekeeper.yml"
         | 
| 466 539 | 
             
            - ".github/workflows/release.yml"
         | 
| 540 | 
            +
            - ".github/workflows/stale.yml"
         | 
| 467 541 | 
             
            - ".github/workflows/test.yml"
         | 
| 468 542 | 
             
            - ".gitignore"
         | 
| 469 543 | 
             
            - ".release-please-manifest.json"
         | 
| @@ -477,16 +551,22 @@ files: | |
| 477 551 | 
             
            - CHANGELOG.md
         | 
| 478 552 | 
             
            - CONTRIBUTING.md
         | 
| 479 553 | 
             
            - ChangeLog
         | 
| 554 | 
            +
            - Dockerfile
         | 
| 480 555 | 
             
            - Gemfile
         | 
| 556 | 
            +
            - Gemfile.lock
         | 
| 481 557 | 
             
            - Guardfile
         | 
| 482 558 | 
             
            - LICENSE
         | 
| 483 559 | 
             
            - README.md
         | 
| 484 560 | 
             
            - Rakefile
         | 
| 485 | 
            -
            -  | 
| 561 | 
            +
            - SECURITY.md
         | 
| 486 562 | 
             
            - bin/maid
         | 
| 563 | 
            +
            - fixtures/files/test_rules.rb
         | 
| 564 | 
            +
            - fixtures/vcr_cassettes/Dependency_expectations/Geocoder/translates_latitude_and_longitude_into_street_addresses.yml
         | 
| 565 | 
            +
            - fixtures/vcr_cassettes/Maid_Tools/_location_city/given_a_JPEG_image/reports_the_known_location.yml
         | 
| 487 566 | 
             
            - lib/maid.rb
         | 
| 488 567 | 
             
            - lib/maid/app.rb
         | 
| 489 568 | 
             
            - lib/maid/downloading.rb
         | 
| 569 | 
            +
            - lib/maid/logger/logger.rb
         | 
| 490 570 | 
             
            - lib/maid/maid.rb
         | 
| 491 571 | 
             
            - lib/maid/numeric_extensions.rb
         | 
| 492 572 | 
             
            - lib/maid/platform.rb
         | 
| @@ -502,15 +582,15 @@ files: | |
| 502 582 | 
             
            - lib/maid/version.rb
         | 
| 503 583 | 
             
            - lib/maid/watch.rb
         | 
| 504 584 | 
             
            - maid.gemspec
         | 
| 585 | 
            +
            - release-please-config.json
         | 
| 505 586 | 
             
            - resources/OneThingWell.png
         | 
| 506 587 | 
             
            - resources/download-for-ubuntu.png
         | 
| 507 588 | 
             
            - resources/hacker-news.png
         | 
| 508 589 | 
             
            - resources/ruby5.gif
         | 
| 590 | 
            +
            - script/docker-test
         | 
| 509 591 | 
             
            - script/smoke-test
         | 
| 510 | 
            -
            - script/vagrant-provision
         | 
| 511 | 
            -
            - script/vagrant-test
         | 
| 512 | 
            -
            - script/vagrant-test-all
         | 
| 513 592 | 
             
            - spec/dependency_spec.rb
         | 
| 593 | 
            +
            - spec/fakefs_helper.rb
         | 
| 514 594 | 
             
            - spec/fixtures/files/1.zip
         | 
| 515 595 | 
             
            - spec/fixtures/files/bar.zip
         | 
| 516 596 | 
             
            - spec/fixtures/files/foo.zip
         | 
| @@ -519,6 +599,7 @@ files: | |
| 519 599 | 
             
            - spec/fixtures/files/unknown.foo
         | 
| 520 600 | 
             
            - spec/fixtures/files/さ.zip
         | 
| 521 601 | 
             
            - spec/lib/maid/app_spec.rb
         | 
| 602 | 
            +
            - spec/lib/maid/logger/logger_spec.rb
         | 
| 522 603 | 
             
            - spec/lib/maid/maid_spec.rb
         | 
| 523 604 | 
             
            - spec/lib/maid/numeric_extensions_spec.rb
         | 
| 524 605 | 
             
            - spec/lib/maid/platform_spec.rb
         | 
| @@ -549,15 +630,14 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 549 630 | 
             
              requirements:
         | 
| 550 631 | 
             
              - - ">="
         | 
| 551 632 | 
             
                - !ruby/object:Gem::Version
         | 
| 552 | 
            -
                  version: 2. | 
| 633 | 
            +
                  version: 3.2.0
         | 
| 553 634 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 554 635 | 
             
              requirements:
         | 
| 555 | 
            -
              - - " | 
| 636 | 
            +
              - - ">="
         | 
| 556 637 | 
             
                - !ruby/object:Gem::Version
         | 
| 557 | 
            -
                  version:  | 
| 638 | 
            +
                  version: '0'
         | 
| 558 639 | 
             
            requirements: []
         | 
| 559 | 
            -
            rubygems_version: 3. | 
| 560 | 
            -
            signing_key: 
         | 
| 640 | 
            +
            rubygems_version: 3.6.2
         | 
| 561 641 | 
             
            specification_version: 4
         | 
| 562 642 | 
             
            summary: Be lazy. Let Maid clean up after you, based on rules you define. Think of
         | 
| 563 643 | 
             
              it as "Hazel for hackers".
         | 
    
        data/Vagrantfile
    DELETED
    
    | @@ -1,14 +0,0 @@ | |
| 1 | 
            -
            # -*- mode: ruby -*-
         | 
| 2 | 
            -
            # vi: set ft=ruby :
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            Vagrant.configure('2') do |config|
         | 
| 5 | 
            -
              # See also: `script/vagrant-test`, `script/vagrant-test-all`
         | 
| 6 | 
            -
              config.vm.box = ENV['MAID_TARGET_BOX'] || 'hashicorp/precise64'
         | 
| 7 | 
            -
             | 
| 8 | 
            -
              config.vm.provider :virtualbox do |vb|
         | 
| 9 | 
            -
                # Maid has very low system requirements
         | 
| 10 | 
            -
                vb.customize ['modifyvm', :id, '--cpus', 1, '--memory', 192]
         | 
| 11 | 
            -
              end
         | 
| 12 | 
            -
             | 
| 13 | 
            -
              config.vm.provision(:shell, path: 'script/vagrant-provision', args: ENV['MAID_TARGET_RUBY'] || '1.9.3')
         | 
| 14 | 
            -
            end
         | 
    
        data/script/vagrant-provision
    DELETED
    
    | @@ -1,43 +0,0 @@ | |
| 1 | 
            -
            #!/usr/bin/env bash
         | 
| 2 | 
            -
            # A simple shell-based provisioner for Vagrant.
         | 
| 3 | 
            -
            # 
         | 
| 4 | 
            -
            # Documentation: [Shell Provisioner](http://vagrantup.com/v1/docs/provisioners/shell.html)
         | 
| 5 | 
            -
            set -o errexit
         | 
| 6 | 
            -
             | 
| 7 | 
            -
            # Set to '1.9.3', 'jruby'
         | 
| 8 | 
            -
            target_ruby_version="${1:-1.9.3}"
         | 
| 9 | 
            -
             | 
| 10 | 
            -
            # Install the given package, no questions asked.
         | 
| 11 | 
            -
            function install-pkg {
         | 
| 12 | 
            -
              sudo apt-get install -y "$1"
         | 
| 13 | 
            -
            }
         | 
| 14 | 
            -
             | 
| 15 | 
            -
            # Only install the given package if targeting the given Ruby version.
         | 
| 16 | 
            -
            function install-pkg-if-ruby {
         | 
| 17 | 
            -
              local ruby_version="$1"
         | 
| 18 | 
            -
              local package="$2"
         | 
| 19 | 
            -
             | 
| 20 | 
            -
              if [ "$target_ruby_version" == "$ruby_version" ]; then
         | 
| 21 | 
            -
                install-pkg "$package"
         | 
| 22 | 
            -
              fi
         | 
| 23 | 
            -
            }
         | 
| 24 | 
            -
             | 
| 25 | 
            -
            sudo apt-get update
         | 
| 26 | 
            -
             | 
| 27 | 
            -
            # ## Dependencies
         | 
| 28 | 
            -
            # Installs `ruby 1.9.3p0`
         | 
| 29 | 
            -
            install-pkg-if-ruby '1.9.3' 'ruby1.9.1'
         | 
| 30 | 
            -
            install-pkg-if-ruby 'jruby' 'jruby'
         | 
| 31 | 
            -
             | 
| 32 | 
            -
            # ## Development dependencies
         | 
| 33 | 
            -
            #
         | 
| 34 | 
            -
            # For building `maid-x.y.z.gem`
         | 
| 35 | 
            -
            install-pkg 'git-core'
         | 
| 36 | 
            -
            # For building `ffi` for `guard`'s soft dependency on `rb-inotify`
         | 
| 37 | 
            -
            install-pkg 'make'
         | 
| 38 | 
            -
            install-pkg 'libffi-dev'
         | 
| 39 | 
            -
            install-pkg-if-ruby '1.9.3' 'ruby1.9.1-dev'
         | 
| 40 | 
            -
             | 
| 41 | 
            -
            sudo gem install bundler
         | 
| 42 | 
            -
            cd /vagrant
         | 
| 43 | 
            -
            bundle install
         | 
    
        data/script/vagrant-test
    DELETED
    
    
    
        data/script/vagrant-test-all
    DELETED
    
    | @@ -1,34 +0,0 @@ | |
| 1 | 
            -
            #!/usr/bin/env bash
         | 
| 2 | 
            -
            # Test all officially supported Ubuntu versions.
         | 
| 3 | 
            -
            #
         | 
| 4 | 
            -
            # See also: `Vagrantfile`
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            # ## Base Boxes
         | 
| 7 | 
            -
            #
         | 
| 8 | 
            -
            # To add a [box](http://vagrantup.com/v1/docs/boxes.html):
         | 
| 9 | 
            -
            #
         | 
| 10 | 
            -
            #     vagrant box add $box_name $box_url
         | 
| 11 | 
            -
            #
         | 
| 12 | 
            -
            # Base boxes for supported releases are listed below.  The idea is to come close to the [official Canonical support timeline](http://en.wikipedia.org/wiki/Ubuntu_releases#Table_of_versions), when possible.
         | 
| 13 | 
            -
            #
         | 
| 14 | 
            -
            # ### Releases preferred with Ruby 1.9.3
         | 
| 15 | 
            -
            #
         | 
| 16 | 
            -
            # Supported until 2017-04:
         | 
| 17 | 
            -
            #
         | 
| 18 | 
            -
            # * `precise32`: http://files.vagrantup.com/precise32.box
         | 
| 19 | 
            -
            # * `precise64`: http://files.vagrantup.com/precise64.box
         | 
| 20 | 
            -
            #
         | 
| 21 | 
            -
            # Supported until 2014-07:
         | 
| 22 | 
            -
            #
         | 
| 23 | 
            -
            # * `saucy32`
         | 
| 24 | 
            -
            # * `saucy64`
         | 
| 25 | 
            -
            #
         | 
| 26 | 
            -
            # ## See Also
         | 
| 27 | 
            -
            # 
         | 
| 28 | 
            -
            # * [Vagrant Boxes List](http://www.vagrantbox.es/)
         | 
| 29 | 
            -
            # * [Contributing Guide](https://github.com/benjaminoakes/maid/wiki/Contributing)
         | 
| 30 | 
            -
             | 
| 31 | 
            -
            MAID_TARGET_BOX='hashicorp/precise32' MAID_TARGET_RUBY='1.9.3' script/vagrant-test
         | 
| 32 | 
            -
            MAID_TARGET_BOX='hashicorp/precise64' MAID_TARGET_RUBY='1.9.3' script/vagrant-test
         | 
| 33 | 
            -
            # TODO: Locate and add box for `saucy32`
         | 
| 34 | 
            -
            # TODO: Locate and add box for `saucy64`
         |