项目作者: fixtheclouds

项目描述 :
A simple DSL for file system management
高级语言: Ruby
项目地址: git://github.com/fixtheclouds/fs_guy.git
创建时间: 2020-07-19T19:29:03Z
项目社区:https://github.com/fixtheclouds/fs_guy

开源协议:MIT License

下载


fs-guy

DSL for managing file system

How it works

Before

  1. dir_2 drwxr-xr-x user users
  2. --text.txt -rw-r--r-- user users
  3. --text.csv -rw-r--r-- user users
  4. --trash -rw-r--r-- user users
  5. old drwxr-xr-x user users
  6. --file.rb -rw-r--r-- user users

Write some DSL script

  1. FsGuy.run do
  2. dir 'dir_1' do # Create folder and enter
  3. file 'file.txt' # Create blank file
  4. end
  5. dir 'dir_2' do # Enter existing folder
  6. move('text.txt').to 'next.txt' # Move file
  7. copy('text.csv').to 'dup.csv' # Copy file
  8. remove 'trash' # Remove file
  9. own 'dup.csv', 'someguy', 'somegroup' # Change file owner
  10. mode 'dup.csv', :all # Set file mode
  11. file('next.txt').mode(:all).own(:other) # Chaining
  12. end
  13. remove 'old', force: true # Force remove directory
  14. end

After

  1. dir_1 drwxr-xr-x user users
  2. ---file.txt -rwxr--r-- user users
  3. dir_2 drwxr-xr-x user users
  4. ---next.txt -rwxr--r-- user users
  5. ---text.csv -rwxr--r-- user users
  6. ---dup.csv -rwxrwxrwx someguy somegroup