class Transmission::RPC

Attributes

connector[RW]
session[RW]

Public Class Methods

new(options = {}) click to toggle source
# File lib/transmission/rpc.rb, line 7
def initialize(options = {})
  @connector = Connector.new options
end

Public Instance Methods

add_torrent(arguments) click to toggle source
# File lib/transmission/rpc.rb, line 57
def add_torrent(arguments)
  arguments = Transmission::Arguments::TorrentAdd.new(arguments)
  @connector.post method: 'torrent-add', arguments: arguments.to_arguments
end
blocklist() click to toggle source
# File lib/transmission/rpc.rb, line 31
def blocklist
  @connector.post method: 'blocklist-update'
end
close_session() click to toggle source
# File lib/transmission/rpc.rb, line 23
def close_session
  @connector.post method: 'session-close'
end
free_space() click to toggle source
# File lib/transmission/rpc.rb, line 35
def free_space
  @connector.post method: 'free-space'
end
get_session(fields = nil) click to toggle source
# File lib/transmission/rpc.rb, line 11
def get_session(fields = nil)
  fields = Transmission::Fields::SessionGet.new(fields)
  arguments = { fields: fields.to_fields }
  @connector.post method: 'session-get', arguments: arguments
end
get_session_stats(fields = nil) click to toggle source
# File lib/transmission/rpc.rb, line 17
def get_session_stats(fields = nil)
  fields = Transmission::Fields::SessionStats.new(fields)
  arguments = { fields: fields.to_fields }
  @connector.post method: 'session-stats', arguments: arguments
end
get_torrent(ids, fields = nil) click to toggle source
# File lib/transmission/rpc.rb, line 39
def get_torrent(ids, fields = nil)
  fields = Transmission::Fields::TorrentGet.new(fields)
  arguments = { fields: fields.to_fields }
  arguments[:ids] = ids if ids.is_a? Array
  @connector.post method: 'torrent-get', arguments: arguments
end
move_bottom_torrent(ids) click to toggle source
# File lib/transmission/rpc.rb, line 104
def move_bottom_torrent(ids)
  @connector.post method: 'queue-move-bottom', arguments: id_arguments(ids)
end
move_down_torrent(ids) click to toggle source
# File lib/transmission/rpc.rb, line 96
def move_down_torrent(ids)
  @connector.post method: 'queue-move-down', arguments: id_arguments(ids)
end
move_top_torrent(ids) click to toggle source
# File lib/transmission/rpc.rb, line 100
def move_top_torrent(ids)
  @connector.post method: 'queue-move-top', arguments: id_arguments(ids)
end
move_up_torrent(ids) click to toggle source
# File lib/transmission/rpc.rb, line 92
def move_up_torrent(ids)
  @connector.post method: 'queue-move-up', arguments: id_arguments(ids)
end
re_announce_torrent(ids) click to toggle source
# File lib/transmission/rpc.rb, line 88
def re_announce_torrent(ids)
  @connector.post method: 'torrent-reannounce', arguments: id_arguments(ids)
end
remove_torrent(ids, delete_local_data = false) click to toggle source
# File lib/transmission/rpc.rb, line 68
def remove_torrent(ids, delete_local_data = false)
  @connector.post method: 'torrent-remove', arguments: { ids: ids, 'delete-local-data' => delete_local_data }
end
set_session(arguments) click to toggle source
# File lib/transmission/rpc.rb, line 52
def set_session(arguments)
  arguments = Transmission::Arguments::SessionSet.new(arguments)
  @connector.post method: 'session-set', arguments: arguments.to_arguments
end
set_torrent(ids, arguments) click to toggle source
# File lib/transmission/rpc.rb, line 46
def set_torrent(ids, arguments)
  arguments[:ids] = ids
  arguments = Transmission::Arguments::TorrentSet.new(arguments)
  @connector.post method: 'torrent-set', arguments: arguments.to_arguments
end
start_torrent(ids) click to toggle source
# File lib/transmission/rpc.rb, line 72
def start_torrent(ids)
  @connector.post method: 'torrent-start', arguments: id_arguments(ids)
end
start_torrent_now(ids) click to toggle source
# File lib/transmission/rpc.rb, line 76
def start_torrent_now(ids)
  @connector.post method: 'torrent-start-now', arguments: id_arguments(ids)
end
stop_torrent(ids) click to toggle source
# File lib/transmission/rpc.rb, line 80
def stop_torrent(ids)
  @connector.post method: 'torrent-stop', arguments: id_arguments(ids)
end
test_port() click to toggle source
# File lib/transmission/rpc.rb, line 27
def test_port
  @connector.post method: 'port-test'
end
torrent_set_location(ids, arguments) click to toggle source
# File lib/transmission/rpc.rb, line 62
def torrent_set_location(ids, arguments)
  arguments[:ids] = ids
  arguments = Transmission::Arguments::LocationSet.new(arguments)
  @connector.post method: 'torrent-set-location', arguments: arguments.to_arguments
end
verify_torrent(ids) click to toggle source
# File lib/transmission/rpc.rb, line 84
def verify_torrent(ids)
  @connector.post method: 'torrent-verify', arguments: id_arguments(ids)
end

Private Instance Methods

id_arguments(ids) click to toggle source
# File lib/transmission/rpc.rb, line 110
def id_arguments(ids)
  arguments = {}
  arguments[:ids] = ids if ids.is_a? Array
  arguments
end