Class: Quandl::Command::Tasks::Replace
- Inherits:
-
Quandl::Command::Task
- Object
- Quandl::Command::Task
- Quandl::Command::Tasks::Replace
- Defined in:
- lib/quandl/command/tasks/replace.rb
Constant Summary
Constants included from Quandl::Command::Task::Updatable
Quandl::Command::Task::Updatable::VERSION_URL
Instance Method Summary collapse
Methods included from Quandl::Command::Task::Inputable
#args_or_stdin, #each_line_in_background, #file_or_stdin
Methods included from Quandl::Command::Task::Reportable
#ask_to_send_crash_reports, #call
Methods included from Quandl::Command::Task::Clientable
Methods included from Quandl::Command::Task::Updatable
#check_for_update, #check_for_update_once_daily
Methods included from Quandl::Command::Task::Threading
#await_thread_pool_lock!, #background_job, #exiting?, #mutex, #obtain_thread_pool_lock, #release_thread_pool_lock, #shutdown_thread_pool_on_sigint, #thread_pool, #thread_pool_locked?, #thread_pool_locks, #threads, #threads?
Methods included from Quandl::Command::Task::Presentation
Methods included from Quandl::Command::Task::Logging
#configure_logger, #debug, #error, #fatal, #info, #initialize_logger, #log_request_time, #logger, #start_request_timer, #stderr_logger, #summarize, #summarize_hash, #table
Methods included from Quandl::Command::Task::Commandable
Methods included from Quandl::Command::Task::Validations
Methods included from Quandl::Command::Task::Callbacks
Methods included from Quandl::Command::Task::Configurable
#ask_for_confirmation!, #config, #confirmed?, #declared_params, #force_yes?, #page, #trace?, #verbose?
Instance Method Details
#execute ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/quandl/command/tasks/replace.rb', line 31 def execute # datasets from file_path if given interface = file_path.present? ? File.open(file_path, "r") : $stdin # for each dataset streamed from interface Quandl::Format::Dataset.each_line(interface) do |dataset, error| # present error if given next present( error ) unless error.nil? # process in background using thread key background_job( lock: dataset.client.full_code ) do # replace replace( dataset ) end end end |
#file_path ⇒ Object
54 55 56 |
# File 'lib/quandl/command/tasks/replace.rb', line 54 def file_path args.first end |
#replace(dataset) ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/quandl/command/tasks/replace.rb', line 46 def replace(dataset) dataset.client.delete_data # upload unless errors were raised dataset.upload if dataset.valid? # output report to $stdout or $stderr present(dataset.client) end |