# Rmega [![Build Status](https://travis-ci.org/daniele-m/rmega.png)](https://travis-ci.org/daniele-m/rmega) Ruby library for the Mega.co.nz API. Tested using ruby 1.9.3+ (OpenSSL 0.9.8r+)
## Usage $ gem install rmega $ irb -r rmega ### Login and retrive all the files and folders ```ruby storage = Rmega.login 'your_email', 'your_password' # Fetch all the nodes (files, folders, ecc.) nodes = storage.nodes ``` ### Download a file or a folder ```ruby file = storage.nodes_by_name(/document1/i).first file.name # => "MyDocument1.pdf" file.download '~/Downloads' folder = storage.nodes_by_name(/photos/i).first folder.download '~/Downloads/MyAlbums' ``` ### Download a file using a public url ```ruby storage.download 'https://mega.co.nz/#!cER0GYbD!ZCHruEA08Xl4a_bUZYMI', '~/Downloads' ``` ### Upload a file ```ruby # Upload a file (to the root folder) storage.upload '~/Downloads/my_file.zip' # Upload a file to a specific folder document_folder = storage.nodes_by_name(/photos/i).first storage.upload '~/Downloads/my_file.zip', document_folder ``` ### Other operations ```ruby # Trash a file or a folder my_node.trash # Gets the public url (the sharable one) of a file my_node.public_url # See the attributes of a node my_node.attributes ``` ## Installation Add this line to your application's Gemfile: gem 'rmega' And then execute: $ bundle Or install it yourself as: $ gem install rmega ## Contributing 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Added some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create new Pull Request ## Copyright This work is the result of a reverse engineering of the Mega's Javascript code. Copyright (c) 2013 Daniele Molteni MIT License