Module: Rmega

Defined in:
lib/rmega.rb,
lib/rmega/cli.rb,
lib/rmega/net.rb,
lib/rmega/pool.rb,
lib/rmega/utils.rb,
lib/rmega/crypto.rb,
lib/rmega/errors.rb,
lib/rmega/options.rb,
lib/rmega/session.rb,
lib/rmega/storage.rb,
lib/rmega/version.rb,
lib/rmega/loggable.rb,
lib/rmega/progress.rb,
lib/rmega/crypto/rsa.rb,
lib/rmega/nodes/file.rb,
lib/rmega/nodes/node.rb,
lib/rmega/nodes/root.rb,
lib/rmega/nodes/inbox.rb,
lib/rmega/nodes/trash.rb,
lib/rmega/api_response.rb,
lib/rmega/nodes/folder.rb,
lib/rmega/nodes/factory.rb,
lib/rmega/crypto/aes_cbc.rb,
lib/rmega/crypto/aes_ctr.rb,
lib/rmega/crypto/aes_ecb.rb,
lib/rmega/nodes/node_key.rb,
lib/rmega/nodes/deletable.rb,
lib/rmega/not_inspectable.rb,
lib/rmega/nodes/expandable.rb,
lib/rmega/nodes/uploadable.rb,
lib/rmega/nodes/traversable.rb,
lib/rmega/nodes/downloadable.rb

Defined Under Namespace

Modules: CLI, Crypto, Loggable, Net, Nodes, NotInspectable, Options, Utils Classes: APIResponse, Pool, Progress, ServerError, Session, Storage, TemporaryServerError

Constant Summary collapse

VERSION =
"0.2.2"
HOMEPAGE =
"https://github.com/topac/rmega"

Class Method Summary collapse

Class Method Details

.default_optionsObject



2
3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/rmega/options.rb', line 2

def self.default_options
  {
    thread_pool_size:     4,
    max_retries:          10,
    retry_interval:       3,
    http_open_timeout:    180,
    http_read_timeout:    180,
    # http_proxy_address:   '127.0.0.1',
    # http_proxy_port:      8080,
    show_progress:        false,
    file_integrity_check: true,
    api_url:              'https://eu.api.mega.co.nz/cs'
  }
end

.download(public_url, path = Dir.pwd) ⇒ Object



36
37
38
39
# File 'lib/rmega.rb', line 36

def self.download(public_url, path = Dir.pwd)
  node = Nodes::Factory.build_from_url(public_url)
  return node.download(path)
end

.loggerObject



2
3
4
5
6
7
8
# File 'lib/rmega/loggable.rb', line 2

def self.logger
  @logger ||= begin
    logger = Logger.new($stdout)
    logger.level = Logger::ERROR
    logger
  end
end

.login(email, password) ⇒ Object



32
33
34
# File 'lib/rmega.rb', line 32

def self.(email, password)
  Session.new.(email, password).storage
end

.optionsObject



17
18
19
# File 'lib/rmega/options.rb', line 17

def self.options
  @options ||= OpenStruct.new(default_options)
end