Socket
Book a DemoInstallSign in
Socket

aef-bakker

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

aef-bakker

1.1.0
bundlerRubygems
Version published
Maintainers
1
Created
Source

= Bakker

  • Project: https://rubyforge.org/projects/aef/
  • RDoc: http://aef.rubyforge.org/bakker/
  • Github: http://github.com/aef/bakker/

== DESCRIPTION:

Bakker is a Ruby library and commandline tool to help with simple task of renaming or copying files for quick backup purposes. For instance by creating a copy of a list of files while adding .bak to the copies filenames. Bakker gives you control over the extension to be added to or removed from the file and whether it should be moved or copied.

== FEATURES/PROBLEMS:

  • Usable as library and commandline tool
  • Tested and fully working on:
    • Ubuntu Linux 8.10 i386_64 (Ruby 1.8.7 and 1.9.1p0)
    • Debian GNU/Linux 4.0 i386 (Ruby 1.8.6)
    • On Windows XP i386 (Ruby 1.8.6)
  • On Windows XP i386 (Ruby 1.8.6) there were some problems testing the environment variable choices. Two tests are failing but the programs seems to work correctly. If anyone finds the problem, please contact me.
  • The commandline tool doesn't work with Ruby 1.9.x because the user-choices gem is not yet updated. A patch is available here: https://rubyforge.org/tracker/index.php?func=detail&aid=24307&group_id=4192&atid=16176

== SYNOPSIS:

=== Commandline

The following command renames config.ini to config.ini.bak. You can type the same command a second time to revert the action:

bakker config.ini

Instead of renaming you can create a copy of config.xml by using the following command:

bakker -a copy config.ini

To change the extension which will be appended or removed from the filename use the following command:

bakker -e .backup

In a directory with the follwing contents:

demo1 demo2.bak demo3.bak

if you use the command:

bakker *

you get the following list of files (because by default Bakker toggles the extension):

demo1.bak demo2 demo3

if you now want every file in the folder to have a .bak extension use the following command:

bakker -m add *

the result will look like this:

demo1.bak demo2.bak demo3.bak

Instead of using the add-mode you could have used the remove-mode like this:

bakker -m remove *

Then the result would have looked like this:

demo1 demo2 demo3

Bakker also includes a verbose mode which will inform you of any file transfer in the console:

bakker -v config.ini

You can specify default values for extension, action, mode and even for the verbose mode by using environment variables. Notice that you can still override these by using commandline switches. A list of the variables:

  • BAKKER_MODE
  • BAKKER_ACTION
  • BAKKER_EXTENSION
  • BAKKER_VERBOSE

=== Library

Load the gem:

require 'bakker'

Call Bakker:

Aef::Bakker.process('config.ini', '.backup', :add, :copy)

== REQUIREMENTS:

  • rubygems

=== Additional for commandline

  • user-choices

=== Additional for automated testing

  • hoe
  • rspec
  • sys-uname

== INSTALL:

=== Normal

gem install bakker

Additionally for the commandline tool:

gem install user-choices

=== High security (recommended)

There is a high security installation option available through rubygems. It is highly recommended over the normal installation, although it may be a bit less comfortable. To use the installation method, you will need my public key, which I use for cryptographic signatures on all my gems. You can find the public key and more detailed verification information in the aef-certificates section of my rubyforge project[https://rubyforge.org/frs/?group_id=7890&release_id=31749]

Add the key to your rubygems' trusted certificates by the following command:

gem cert --add aef.pem

Now you can install the gem while automatically verifying it's signature by the following command:

gem install bakker --ignore-dependencies -P HighSecurity

Please notice that you will need other keys for dependent libraries, so you may have to install dependencies manually.

=== Automated testing

You can test this package through rspec on your system. First find the path where the gem was installed to:

gem which bakker

Go into the root directory of the installed gem and run the following command to start the test runner:

rake spec

On Windows systems you have to run the following instead:

spec spec/**/*_spec.rb

If something goes wrong you should be noticed through failing examples.

== DEVELOPMENT:

This software is developed in the source code management system git hosted at github.com. You can download the most recent sourcecode through the following command:

git clone git://github.com/aef/bakker.git

Help on making this software better is always very appreciated. If you want your changes to be included in the official release, please send me a patch through the project's tracker[https://rubyforge.org/tracker/?group_id=7890] at rubyforge.org. You can generate a patch-file by the following command:

git diff > patch.diff

Please make sure to write tests for your changes and notice that I can't promise to include your changes before reviewing them.

== LICENSE:

Copyright 2009 Alexander E. Fischer aef@raxys.net

This file is part of Bakker.

Bakker is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

FAQs

Package last updated on 11 Aug 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.