Module: Toodledo

Defined in:
lib/toodledo/repeat.rb,
lib/toodledo.rb,
lib/toodledo/goal.rb,
lib/toodledo/task.rb,
lib/toodledo/folder.rb,
lib/toodledo/status.rb,
lib/toodledo/context.rb,
lib/toodledo/session.rb,
lib/toodledo/version.rb,
lib/toodledo/priority.rb,
lib/toodledo/server_error.rb,
lib/toodledo/command_line/client.rb,
lib/toodledo/command_line/add_command.rb,
lib/toodledo/command_line/base_command.rb,
lib/toodledo/command_line/edit_command.rb,
lib/toodledo/command_line/parser_helper.rb,
lib/toodledo/command_line/setup_command.rb,
lib/toodledo/command_line/stdin_command.rb,
lib/toodledo/command_line/delete_command.rb,
lib/toodledo/command_line/goal_formatter.rb,
lib/toodledo/command_line/task_formatter.rb,
lib/toodledo/invalid_configuration_error.rb,
lib/toodledo/command_line/hotlist_command.rb,
lib/toodledo/command_line/complete_command.rb,
lib/toodledo/command_line/folder_formatter.rb,
lib/toodledo/command_line/context_formatter.rb,
lib/toodledo/command_line/list_goals_command.rb,
lib/toodledo/command_line/list_tasks_command.rb,
lib/toodledo/command_line/list_today_command.rb,
lib/toodledo/command_line/interactive_command.rb,
lib/toodledo/command_line/list_folders_command.rb,
lib/toodledo/command_line/list_overdue_command.rb,
lib/toodledo/command_line/list_contexts_command.rb,
lib/toodledo/command_line/list_tomorrow_command.rb,
lib/toodledo/command_line/list_tasks_by_context_command.rb

Defined Under Namespace

Modules: CommandLine, Version Classes: Context, ExcessiveTokenRequestsError, Folder, Goal, InvalidConfigurationError, InvalidKeyError, ItemNotFoundError, NoKeySpecifiedError, Priority, Repeat, ServerError, Session, Status, Task

Constant Summary collapse

VERSION =
::Toodledo::Version::VERSION

Class Method Summary collapse

Class Method Details

.begin(logger = nil) ⇒ Object

Provides a convenient way of connecting and running a session.

The following will do most everything you want, assuming you’ve set the config correctly:

require 'rubygems'
require 'toodledo'
require 'yaml'
config = {
  "connection" => { 
    "url" => "http://www.toodledo.com/api.php",
    "user_id" => "<your user id>",
    "password" => "<your password>"
  }
}
Toodledo.set_config(config)
Toodledo.begin do |session|
  session.add_task('foo')
end


45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/toodledo.rb', line 45

def self.begin(logger = nil)
  config = Toodledo.get_config()
        
  proxy = config['proxy']
        
  connection = config['connection']
  base_url = connection['url']
  user_id = connection['user_id']
  password = connection['password']
  app_id = connection['app_id'] || 'ruby_app'

  session = Session.new(user_id, password, logger, app_id)

  base_url = Session::DEFAULT_API_URL if (base_url == nil)
  session.connect(base_url, proxy)
  
  if (block_given?)
    yield(session)
  end
  
  session.disconnect()
end

.get_configObject

Returns the configuration object.



13
14
15
# File 'lib/toodledo.rb', line 13

def self.get_config()
  return @@config
end

.set_config(override_config) ⇒ Object

Sets the configuration explicitly. Useful when you want to specifically set the configuration without using the file system.



20
21
22
# File 'lib/toodledo.rb', line 20

def self.set_config(override_config)
  @@config = override_config
end