maid: init at 0.10

This commit is contained in:
Alan Pearce 2023-09-10 08:56:15 +02:00
parent 708e7ccb37
commit e6c2707ab2
5 changed files with 331 additions and 0 deletions

View file

@ -0,0 +1,3 @@
source 'https://rubygems.org'
gem 'maid', '~> 0.10.0'
gem 'rake'

View file

@ -0,0 +1,55 @@
GEM
remote: https://rubygems.org/
specs:
concurrent-ruby (1.2.2)
deprecated (3.0.1)
dimensions (1.3.0)
escape (0.0.4)
et-orbi (1.2.7)
tzinfo
exifr (1.3.10)
ffi (1.15.5)
fugit (1.8.1)
et-orbi (~> 1, >= 1.2.7)
raabro (~> 1.4)
geocoder (1.8.2)
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
maid (0.10.0)
deprecated (~> 3.0.0)
dimensions (>= 1.0.0, < 2.0)
escape (>= 0.0.1, < 0.1.0)
exifr (~> 1.3.10)
geocoder (~> 1.8.1)
listen (~> 3.8.0)
mime-types (~> 3.0, < 4.0)
rubyzip (~> 2.3.2)
rufus-scheduler (~> 3.8.2)
thor (~> 1.2.1)
xdg (~> 2.2.3)
mime-types (3.5.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2023.0808)
raabro (1.4.0)
rake (13.0.6)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rubyzip (2.3.2)
rufus-scheduler (3.8.2)
fugit (~> 1.1, >= 1.1.6)
thor (1.2.2)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
xdg (2.2.5)
PLATFORMS
ruby
DEPENDENCIES
maid (~> 0.10.0)
rake
BUNDLED WITH
2.3.26

View file

@ -0,0 +1,230 @@
{
concurrent-ruby = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q";
type = "gem";
};
version = "1.2.2";
};
deprecated = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ky20wy29jdhfy4xdw1lgxggciq4ywizmh265fyvwxbj6svw6b03";
type = "gem";
};
version = "3.0.1";
};
dimensions = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1jlkyfqk14291wbw8ly46jvp8vrcvswlns4078y1m44bb3rgm123";
type = "gem";
};
version = "1.3.0";
};
escape = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0sa1xkfc9jvkwyw1jbz3jhkq0ms1zrvswi6mmfiwcisg5fp497z4";
type = "gem";
};
version = "0.0.4";
};
et-orbi = {
dependencies = ["tzinfo"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1d2z4ky2v15dpcz672i2p7lb2nc793dasq3yq3660h2az53kss9v";
type = "gem";
};
version = "1.2.7";
};
exifr = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08fmmswa9fwymwsa2gzlm856ak3y9kjxdzm4zdrcrfyxs2p8yqwc";
type = "gem";
};
version = "1.3.10";
};
ffi = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
type = "gem";
};
version = "1.15.5";
};
fugit = {
dependencies = ["et-orbi" "raabro"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1cm2lrvhrpqq19hbdsxf4lq2nkb2qdldbdxh3gvi15l62dlb5zqq";
type = "gem";
};
version = "1.8.1";
};
geocoder = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "120lqyq308q8hg8ykawd7cp3k2ck8z9g5f9ffijp8dn2k9f21fjc";
type = "gem";
};
version = "1.8.2";
};
listen = {
dependencies = ["rb-fsevent" "rb-inotify"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "13rgkfar8pp31z1aamxf5y7cfq88wv6rxxcwy7cmm177qq508ycn";
type = "gem";
};
version = "3.8.0";
};
maid = {
dependencies = ["deprecated" "dimensions" "escape" "exifr" "geocoder" "listen" "mime-types" "rubyzip" "rufus-scheduler" "thor" "xdg"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0v1lhwgxyli10rinw6h33ikhskx9j3b20h7plrx8c69z05sfsdd9";
type = "gem";
};
version = "0.10.0";
};
mime-types = {
dependencies = ["mime-types-data"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0q8d881k1b3rbsfcdi3fx0b5vpdr5wcrhn88r2d9j7zjdkxp5mw5";
type = "gem";
};
version = "3.5.1";
};
mime-types-data = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "17zdim7kzrh5j8c97vjqp4xp78wbyz7smdp4hi5iyzk0s9imdn5a";
type = "gem";
};
version = "3.2023.0808";
};
raabro = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "10m8bln9d00dwzjil1k42i5r7l82x25ysbi45fwyv4932zsrzynl";
type = "gem";
};
version = "1.4.0";
};
rake = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
type = "gem";
};
version = "13.0.6";
};
rb-fsevent = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zmf31rnpm8553lqwibvv3kkx0v7majm1f341xbxc0bk5sbhp423";
type = "gem";
};
version = "0.11.2";
};
rb-inotify = {
dependencies = ["ffi"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005";
type = "gem";
};
version = "0.10.1";
};
rubyzip = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz";
type = "gem";
};
version = "2.3.2";
};
rufus-scheduler = {
dependencies = ["fugit"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1as4yrb8y5lq49div8p3vqgwrrhdgwnvx4m73y3712nmnlpx6cws";
type = "gem";
};
version = "3.8.2";
};
thor = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg";
type = "gem";
};
version = "1.2.2";
};
tzinfo = {
dependencies = ["concurrent-ruby"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd";
type = "gem";
};
version = "2.0.6";
};
xdg = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "04xr4cavnzxlk926pkji7b5yiqy4qsd3gdvv8mg6jliq6sczg9gk";
type = "gem";
};
version = "2.2.5";
};
}

View file

@ -0,0 +1,23 @@
{ bundlerApp
, bundlerUpdateScript
, callPackage
, lib
}:
bundlerApp {
pname = "maid";
gemdir = ./.;
exes = [ "maid" ];
passthru.updateScript = bundlerUpdateScript "maid";
passthru.tests.run = callPackage ./test.nix { };
meta = with lib; {
description = "Rule-based file mover and cleaner in Ruby";
homepage = "https://github.com/maid/maid";
license = licenses.gpl2Only;
maintainers = with maintainers; [ alanpearce ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,20 @@
{ runCommandLocal, maid }:
runCommandLocal "test-maid-run" {
nativeBuildInputs = [ maid ];
}
''
mkdir -p $out/test
export HOME=$out
cd $out
touch test/a.iso test/b.txt
cat > rules.rb <<EOF
Maid.rules do
rule 'ISO' do
trash(dir('test/*.iso'))
end
end
EOF
maid clean --rules rules.rb --force
[ -f test/b.txt ] && [ ! -f test/a.iso ]
''