quandl 0.3.4 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/UPGRADE.md +6 -0
- data/VERSION +1 -1
- data/lib/quandl/command/client.rb +0 -0
- data/lib/quandl/command/task.rb +4 -0
- data/lib/quandl/command/task/callbacks.rb +6 -25
- data/lib/quandl/command/task/clientable.rb +0 -14
- data/lib/quandl/command/task/commandable.rb +6 -7
- data/lib/quandl/command/task/dependable.rb +70 -0
- data/lib/quandl/command/task/logging.rb +3 -3
- data/lib/quandl/command/task/presentation.rb +0 -1
- data/lib/quandl/command/task/threading.rb +5 -4
- data/lib/quandl/command/task/validations.rb +25 -0
- data/lib/quandl/command/tasks/list.rb +1 -0
- data/lib/quandl/command/tasks/schedule.rb +40 -19
- data/lib/quandl/command/tasks/superset.rb +1 -1
- data/lib/quandl/command/tasks/update.rb +5 -13
- data/lib/quandl/command/tasks/upload.rb +2 -1
- data/quandl.gemspec +2 -2
- metadata +9 -6
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
N2NjNmZlMWQwNGM3ZDFiM2UwM2YwOGYxYTg4Mzk4ZjJkODQ0NzAzZA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MGM4MTU5Y2Q1ZWQyZWY4NDc4YTZkMTY0ZjMzMGUyZDAxZjM3ZDJjYw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MzM4NjBiMWRiMThmNGQxNmUxMDE2YTM4Njg3OTFjYmExMWRjODFkMDBhMTIy
|
10
|
+
ODQ3OWExM2I2YzkwYzFiMDQ1NThmNmMyNDYzN2Q0Y2RhZWU3ZmRhMTVlN2I5
|
11
|
+
ZmI3MjJjNTUzNzc5ZTgzM2U1ZDQwN2Q4OWIwYjgwNDUyNGNmODE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MTZlZjQyMTAzMzFkYmI5ZDQyNWY0MWQ4M2M2YjE2MWRlYTk4MTA3YTIzZDc1
|
14
|
+
ZWQ1NTk4YzllMDU1Y2I4M2EzODY2NzVhMzk3YmFhMDRmMGU0NTRmNjdhZTQz
|
15
|
+
MTA4NDU3NzQwODRjYWMyNzIyMWYxMzkxYjY3OGIzNjRiYzliZTA=
|
data/UPGRADE.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.6
|
File without changes
|
data/lib/quandl/command/task.rb
CHANGED
@@ -13,6 +13,8 @@ require 'quandl/command/task/threading'
|
|
13
13
|
require 'quandl/command/task/translations'
|
14
14
|
require 'quandl/command/task/updatable'
|
15
15
|
require 'quandl/command/task/clientable'
|
16
|
+
require 'quandl/command/task/validations'
|
17
|
+
require 'quandl/command/task/dependable'
|
16
18
|
require 'quandl/command/task/inputable'
|
17
19
|
|
18
20
|
module Quandl
|
@@ -24,6 +26,8 @@ class Task
|
|
24
26
|
|
25
27
|
include Quandl::Command::Task::Configurable
|
26
28
|
include Quandl::Command::Task::Callbacks
|
29
|
+
include Quandl::Command::Task::Dependable
|
30
|
+
include Quandl::Command::Task::Validations
|
27
31
|
include Quandl::Command::Task::Commandable
|
28
32
|
include Quandl::Command::Task::Logging
|
29
33
|
include Quandl::Command::Task::Presentation
|
@@ -9,34 +9,15 @@ module Callbacks
|
|
9
9
|
included do
|
10
10
|
|
11
11
|
extend ActiveModel::Callbacks
|
12
|
-
define_model_callbacks :execute
|
13
|
-
|
14
|
-
before_execute :run_task_validations!
|
12
|
+
define_model_callbacks :execute, :call
|
15
13
|
|
16
14
|
end
|
17
15
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
end
|
25
|
-
|
26
|
-
def run_task_validations!
|
27
|
-
unless valid?
|
28
|
-
error( table(errors.full_messages) )
|
29
|
-
false
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
def disable_in_gem!
|
34
|
-
if force_yes?
|
35
|
-
info("You have forced update!")
|
36
|
-
true
|
37
|
-
elsif Dir.exists?( File.join( Tasks.root, ".git") ) || File.exists?( File.join( Tasks.root, "Gemfile") )
|
38
|
-
fatal("#{self.class.command_name} is only permitted when installed as a package! http://quandl.com/help/toolbelt")
|
39
|
-
false
|
16
|
+
def call
|
17
|
+
run_callbacks(:call) do
|
18
|
+
run_callbacks(:execute) do
|
19
|
+
execute
|
20
|
+
end
|
40
21
|
end
|
41
22
|
end
|
42
23
|
|
@@ -19,10 +19,6 @@ module Clientable
|
|
19
19
|
before_execute :warn_unauthenticated_users
|
20
20
|
end
|
21
21
|
|
22
|
-
def autoload_quandl_client
|
23
|
-
before_execute :autoload_quandl_client
|
24
|
-
end
|
25
|
-
|
26
22
|
end
|
27
23
|
|
28
24
|
def current_user
|
@@ -48,16 +44,6 @@ module Clientable
|
|
48
44
|
error("WARN: Authenticate your requests! 'quandl login' OR --token xyz923") if auth_token.blank?
|
49
45
|
end
|
50
46
|
|
51
|
-
def autoload_quandl_client
|
52
|
-
require 'thread/pool'
|
53
|
-
require 'quandl/format'
|
54
|
-
require 'quandl/command/client_ext'
|
55
|
-
Quandl::Client.use( quandl_url )
|
56
|
-
Quandl::Client.token = auth_token
|
57
|
-
Quandl::Client.request_source = 'quandl_command'
|
58
|
-
Quandl::Client.request_version = Quandl::Command::VERSION
|
59
|
-
end
|
60
|
-
|
61
47
|
end
|
62
48
|
|
63
49
|
end
|
@@ -78,17 +78,11 @@ module Commandable
|
|
78
78
|
|
79
79
|
end
|
80
80
|
|
81
|
-
def call
|
82
|
-
run_callbacks(:execute) do
|
83
|
-
execute
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
81
|
def execute
|
88
82
|
# fire a subcommand if specified
|
89
83
|
return self.send(args.shift) if args.first.present? && self.respond_to?(args.first)
|
90
84
|
# otherwise show syntax
|
91
|
-
|
85
|
+
info(syntax)
|
92
86
|
end
|
93
87
|
|
94
88
|
def initialize(args, options)
|
@@ -96,6 +90,11 @@ module Commandable
|
|
96
90
|
self.options = options
|
97
91
|
end
|
98
92
|
|
93
|
+
protected
|
94
|
+
|
95
|
+
def syntax
|
96
|
+
" SYNTAX\n\n #{self.class.syntax}"
|
97
|
+
end
|
99
98
|
|
100
99
|
end
|
101
100
|
|
@@ -0,0 +1,70 @@
|
|
1
|
+
module Quandl
|
2
|
+
module Command
|
3
|
+
class Task
|
4
|
+
|
5
|
+
module Dependable
|
6
|
+
|
7
|
+
extend ActiveSupport::Concern
|
8
|
+
|
9
|
+
included do
|
10
|
+
before_call :require_dependencies
|
11
|
+
end
|
12
|
+
|
13
|
+
module ClassMethods
|
14
|
+
|
15
|
+
def autoload_quandl_client
|
16
|
+
before_call :autoload_quandl_client
|
17
|
+
end
|
18
|
+
|
19
|
+
def disable_in_gem!
|
20
|
+
before_call :disable_in_gem!
|
21
|
+
end
|
22
|
+
|
23
|
+
def depends(*args)
|
24
|
+
args.each do |arg|
|
25
|
+
arg = arg.to_s
|
26
|
+
self.dependencies << arg unless dependencies.include?(arg)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def dependencies
|
31
|
+
@dependencies ||= []
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
def require_dependencies
|
39
|
+
self.class.dependencies.each do |d|
|
40
|
+
debug("require #{d}")
|
41
|
+
require(d)
|
42
|
+
end
|
43
|
+
true
|
44
|
+
end
|
45
|
+
|
46
|
+
def disable_in_gem!
|
47
|
+
if force_yes?
|
48
|
+
info("You have forced update!")
|
49
|
+
true
|
50
|
+
elsif Dir.exists?( File.join( Tasks.root, ".git") ) || File.exists?( File.join( Tasks.root, "Gemfile") )
|
51
|
+
fatal("#{self.class.command_name} is only permitted when installed as a package! http://quandl.com/help/toolbelt")
|
52
|
+
false
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def autoload_quandl_client
|
57
|
+
require 'thread/pool'
|
58
|
+
require 'quandl/format'
|
59
|
+
require 'quandl/command/client_ext'
|
60
|
+
Quandl::Client.use( quandl_url )
|
61
|
+
Quandl::Client.token = auth_token
|
62
|
+
Quandl::Client.request_source = 'quandl_command'
|
63
|
+
Quandl::Client.request_version = Quandl::Command::VERSION
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -7,9 +7,9 @@ module Logging
|
|
7
7
|
extend ActiveSupport::Concern
|
8
8
|
|
9
9
|
included do
|
10
|
-
|
10
|
+
before_call :start_request_timer
|
11
11
|
before_execute :configure_logger
|
12
|
-
|
12
|
+
after_call :log_request_time
|
13
13
|
|
14
14
|
attr_accessor :request_timer
|
15
15
|
|
@@ -33,7 +33,7 @@ module Logging
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def log_request_time
|
36
|
-
debug("
|
36
|
+
debug("Started: #{request_timer}. Finished: #{Time.now}. Elapsed: #{request_timer.elapsed_ms}")
|
37
37
|
end
|
38
38
|
|
39
39
|
def summarize(item)
|
@@ -26,7 +26,6 @@ module Presentation
|
|
26
26
|
def get_output_format(override={})
|
27
27
|
format = options.output_format || config.output_format || override[:output_format] || 'pipes'
|
28
28
|
format = 'pipes' unless %w{ pipes json qdf }.include?(format.to_s)
|
29
|
-
debug("output_format: #{format}")
|
30
29
|
format
|
31
30
|
end
|
32
31
|
|
@@ -18,14 +18,15 @@ module Threading
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def shutdown_thread_pool_on_sigint
|
21
|
+
debug("starting up with #{threads} threads")
|
21
22
|
return unless threads?
|
22
23
|
trap('SIGINT') do
|
23
|
-
debug "
|
24
|
+
debug "exit signal received"
|
24
25
|
unless thread_pool.shutdown?
|
25
|
-
debug "
|
26
|
+
debug "waiting for executing jobs to finish"
|
26
27
|
thread_pool.shutdown
|
27
28
|
end
|
28
|
-
debug "
|
29
|
+
debug "exiting now"
|
29
30
|
exit
|
30
31
|
end
|
31
32
|
end
|
@@ -96,7 +97,7 @@ module Threading
|
|
96
97
|
end
|
97
98
|
|
98
99
|
def threads
|
99
|
-
options.threads.to_i
|
100
|
+
@threads ||= options.threads.present? ? options.threads.to_i : 10
|
100
101
|
end
|
101
102
|
|
102
103
|
def exiting?
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Quandl
|
2
|
+
module Command
|
3
|
+
class Task
|
4
|
+
|
5
|
+
module Validations
|
6
|
+
|
7
|
+
extend ActiveSupport::Concern
|
8
|
+
|
9
|
+
included do
|
10
|
+
before_execute :run_task_validations!
|
11
|
+
end
|
12
|
+
|
13
|
+
def run_task_validations!
|
14
|
+
unless valid?
|
15
|
+
debug("run_task_validations! valid? false")
|
16
|
+
error( table(errors.full_messages) )
|
17
|
+
false
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
class Quandl::Command::Tasks::Schedule < Quandl::Command::Task
|
2
2
|
|
3
|
-
|
3
|
+
depends 'chronic', 'whedon', 'open-uri'
|
4
|
+
|
4
5
|
autoload_quandl_client
|
5
6
|
authenticated_users_only!
|
6
7
|
|
@@ -31,20 +32,31 @@ class Quandl::Command::Tasks::Schedule < Quandl::Command::Task
|
|
31
32
|
at: "Time to run your script in UTC timezone. e.g. '14:30','7pm Monday', 'friday 13:00'"
|
32
33
|
}
|
33
34
|
})
|
34
|
-
|
35
|
+
|
35
36
|
DAYS_OF_THE_WEEK = %w(Sunday Monday Tuesday Wednesday Thursday Friday Saturday)
|
36
|
-
|
37
|
+
|
38
|
+
validate :cron_at_should_be_valid!
|
39
|
+
|
40
|
+
def execute
|
41
|
+
# fire a subcommand if specified
|
42
|
+
return self.send(args.shift) if args.first.present? && self.respond_to?(args.first)
|
43
|
+
# otherwise fire add
|
44
|
+
return add if args.first.present?
|
45
|
+
# otherwise display syntax
|
46
|
+
info(syntax)
|
47
|
+
end
|
48
|
+
|
37
49
|
def list
|
38
50
|
if args.first
|
51
|
+
(info("'#{name}' does not exist "); return;) if scraper.blank?
|
39
52
|
script_info scraper
|
40
53
|
else
|
41
54
|
scrapers.each { |x| script_info x}
|
42
55
|
end
|
43
56
|
end
|
44
|
-
|
45
57
|
|
46
58
|
def add
|
47
|
-
result=Quandl::Client::Scraper.create( name: name, scraper: args.first, schedule_at:
|
59
|
+
result=Quandl::Client::Scraper.create( name: name, scraper: args.first, schedule_at: cron_at_utc)
|
48
60
|
if result.valid?
|
49
61
|
info("You have successfully scheduled '#{scraper.name}'.")
|
50
62
|
info("#{schedule_message}")
|
@@ -55,7 +67,6 @@ class Quandl::Command::Tasks::Schedule < Quandl::Command::Task
|
|
55
67
|
|
56
68
|
def download
|
57
69
|
begin
|
58
|
-
require 'open-uri'
|
59
70
|
$stdout << open(scraper.scraper_url, {ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE}).read
|
60
71
|
rescue => err
|
61
72
|
present err
|
@@ -78,15 +89,14 @@ class Quandl::Command::Tasks::Schedule < Quandl::Command::Task
|
|
78
89
|
|
79
90
|
def replace
|
80
91
|
(info("'#{name}' does not exist "); return;) if scraper.blank?
|
81
|
-
cron_at #validate if cron format is valid before deleting scraper
|
82
92
|
info("You are about to replace '#{scraper.name}'")
|
83
93
|
return unless confirmed?
|
84
94
|
scraper.scraper = args.first
|
85
|
-
scraper.schedule_at =
|
95
|
+
scraper.schedule_at = cron_at_utc
|
86
96
|
scraper.save
|
87
97
|
if scraper.valid?
|
88
98
|
info("You have successfully replaced '#{scraper.name}'.")
|
89
|
-
info("#{schedule_message}")
|
99
|
+
info("#{schedule_message}") if cron_at
|
90
100
|
else
|
91
101
|
error "#{Quandl::Command::Presenter.pretty_errors(scraper.errors.messages).to_s.gsub("\n", ' ')}"
|
92
102
|
end
|
@@ -94,11 +104,6 @@ class Quandl::Command::Tasks::Schedule < Quandl::Command::Task
|
|
94
104
|
|
95
105
|
private
|
96
106
|
|
97
|
-
def require_dependencies
|
98
|
-
require 'chronic'
|
99
|
-
require 'whedon'
|
100
|
-
end
|
101
|
-
|
102
107
|
def script_info(script)
|
103
108
|
unless script.schedule_at.empty?
|
104
109
|
info("#{(script.name+'.').ljust(20)} Scheduled: #{script_run_time(script.schedule_at)}")
|
@@ -119,10 +124,10 @@ class Quandl::Command::Tasks::Schedule < Quandl::Command::Task
|
|
119
124
|
|
120
125
|
def schedule_message
|
121
126
|
if options.at
|
122
|
-
"Your script first run will happen #{script_next_run(cron_at).strftime("on %d %B at %H:%M
|
127
|
+
"Your script first run will happen #{script_next_run(cron_at).strftime("on %d %B at %H:%M")}. It will continue to run #{script_run_time(cron_at_utc)}
|
123
128
|
Check your scrapers run status at #{quandl_url.gsub(/\/api\/?/,'')}/scrapers"
|
124
129
|
else
|
125
|
-
"It will run 3 times a day starting immediately.\
|
130
|
+
"It will run 3 times a day starting immediately.\nCheck your scrapers run status at #{quandl_url.gsub(/\/api\/?/,'')}/scrapers"
|
126
131
|
end
|
127
132
|
end
|
128
133
|
|
@@ -144,8 +149,15 @@ Check your scrapers run status at #{quandl_url.gsub(/\/api\/?/,'')}/scrapers"
|
|
144
149
|
|
145
150
|
def cron_at
|
146
151
|
return nil unless options.at
|
147
|
-
|
148
|
-
|
152
|
+
time_to_cron Chronic.parse(options.at)
|
153
|
+
end
|
154
|
+
|
155
|
+
def cron_at_utc
|
156
|
+
return nil unless options.at
|
157
|
+
time_to_cron Chronic.parse(options.at).utc
|
158
|
+
end
|
159
|
+
|
160
|
+
def time_to_cron(time_value)
|
149
161
|
day_of_the_week = options.at =~ (/Mon|Tue|Wed|Thu|Fri|Sat|Sun/i) ? time_value.wday : '*'
|
150
162
|
"#{time_value.min} #{time_value.hour} * * #{day_of_the_week}"
|
151
163
|
end
|
@@ -154,5 +166,14 @@ Check your scrapers run status at #{quandl_url.gsub(/\/api\/?/,'')}/scrapers"
|
|
154
166
|
return options.remote_name if options.remote_name.present?
|
155
167
|
return File.basename(args.first) if args.first.present?
|
156
168
|
end
|
157
|
-
|
169
|
+
|
170
|
+
def cron_at_should_be_valid!
|
171
|
+
if options.at.present? && !Chronic.parse(options.at)
|
172
|
+
self.errors.add(:base,"#{options.at} is invalid time format" )
|
173
|
+
return false
|
174
|
+
end
|
175
|
+
true
|
176
|
+
end
|
177
|
+
|
178
|
+
|
158
179
|
end
|
@@ -3,7 +3,7 @@ class Quandl::Command::Tasks::Superset < Quandl::Command::Task
|
|
3
3
|
autoload_quandl_client
|
4
4
|
authenticated_users_only!
|
5
5
|
|
6
|
-
description "
|
6
|
+
description "Define a superset"
|
7
7
|
syntax %{quandl superset command [file]
|
8
8
|
|
9
9
|
COMMANDS:
|
@@ -1,5 +1,7 @@
|
|
1
1
|
class Quandl::Command::Tasks::Update < Quandl::Command::Task
|
2
|
-
|
2
|
+
|
3
|
+
depends 'uri', 'net/http', 'quandl/utility/config', 'zlib', 'archive/tar/minitar'
|
4
|
+
|
3
5
|
# curl -s https://s3.amazonaws.com/quandl-command/install.sh | bash
|
4
6
|
|
5
7
|
description "Update Quandl Toolbelt to the latest version."
|
@@ -31,8 +33,6 @@ class Quandl::Command::Tasks::Update < Quandl::Command::Task
|
|
31
33
|
end
|
32
34
|
|
33
35
|
def execute
|
34
|
-
# load libraries needed by this action
|
35
|
-
require_dependencies
|
36
36
|
info "Updating from #{Quandl::Command::VERSION} ... "
|
37
37
|
# wipe update/ and backup/ folders
|
38
38
|
prepare_for_update
|
@@ -51,7 +51,7 @@ class Quandl::Command::Tasks::Update < Quandl::Command::Task
|
|
51
51
|
|
52
52
|
rescue => err
|
53
53
|
# log error
|
54
|
-
|
54
|
+
info(err)
|
55
55
|
debug(err.backtrace.join("\n"))
|
56
56
|
# report failure and rollback
|
57
57
|
info("----\nAn error has occured! Rolling back to previous version ... ")
|
@@ -90,15 +90,7 @@ class Quandl::Command::Tasks::Update < Quandl::Command::Task
|
|
90
90
|
|
91
91
|
|
92
92
|
private
|
93
|
-
|
94
|
-
def require_dependencies
|
95
|
-
require 'uri'
|
96
|
-
require 'net/http'
|
97
|
-
require 'quandl/utility/config'
|
98
|
-
require 'zlib'
|
99
|
-
require 'archive/tar/minitar'
|
100
|
-
end
|
101
|
-
|
93
|
+
|
102
94
|
def prepare_for_update
|
103
95
|
[backup_path, update_path].each do |path|
|
104
96
|
# remove previous directory if present
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class Quandl::Command::Tasks::Upload < Quandl::Command::Task
|
2
2
|
autoload_quandl_client
|
3
3
|
|
4
|
-
description "Upload
|
4
|
+
description "Upload one or more datasets."
|
5
5
|
syntax %{quandl upload file.qdf
|
6
6
|
|
7
7
|
EXAMPLES:
|
@@ -33,6 +33,7 @@ class Quandl::Command::Tasks::Upload < Quandl::Command::Task
|
|
33
33
|
interface = file_path.present? ? File.open(file_path, "r") : $stdin
|
34
34
|
# for each dataset streamed from interface
|
35
35
|
Quandl::Format::Dataset.each_line(interface) do |dataset, error|
|
36
|
+
debug("started processing #{dataset.full_code}") if dataset.respond_to?(:full_code)
|
36
37
|
# present error if given
|
37
38
|
next present( error ) unless error.nil?
|
38
39
|
# process in background using thread key
|
data/quandl.gemspec
CHANGED
@@ -20,10 +20,10 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.add_runtime_dependency "commander", '4.1.5'
|
21
21
|
|
22
22
|
s.add_runtime_dependency "quandl_format", "0.4.2"
|
23
|
-
s.add_runtime_dependency "quandl_client", '2.7.
|
23
|
+
s.add_runtime_dependency "quandl_client", '2.7.8'
|
24
24
|
s.add_runtime_dependency "quandl_data", '1.4.1'
|
25
25
|
s.add_runtime_dependency "quandl_operation", '0.3.2'
|
26
|
-
s.add_runtime_dependency "quandl_babelfish", '0.0.
|
26
|
+
s.add_runtime_dependency "quandl_babelfish", '0.0.10'
|
27
27
|
s.add_runtime_dependency "quandl_logger", '0.2.5'
|
28
28
|
s.add_runtime_dependency "json", '1.7.7'
|
29
29
|
s.add_runtime_dependency "minitar", '0.5.4'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quandl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Blake Hilscher
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: commander
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 2.7.
|
47
|
+
version: 2.7.8
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 2.7.
|
54
|
+
version: 2.7.8
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: quandl_data
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - '='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.0.
|
89
|
+
version: 0.0.10
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - '='
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.0.
|
96
|
+
version: 0.0.10
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: quandl_logger
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -330,6 +330,7 @@ files:
|
|
330
330
|
- dist/resources/ruby/PackageInfo
|
331
331
|
- lib/commander/command/quandl_ext.rb
|
332
332
|
- lib/quandl/command.rb
|
333
|
+
- lib/quandl/command/client.rb
|
333
334
|
- lib/quandl/command/client_ext.rb
|
334
335
|
- lib/quandl/command/client_ext/user.rb
|
335
336
|
- lib/quandl/command/compatibility_check.rb
|
@@ -347,6 +348,7 @@ files:
|
|
347
348
|
- lib/quandl/command/task/clientable.rb
|
348
349
|
- lib/quandl/command/task/commandable.rb
|
349
350
|
- lib/quandl/command/task/configurable.rb
|
351
|
+
- lib/quandl/command/task/dependable.rb
|
350
352
|
- lib/quandl/command/task/inputable.rb
|
351
353
|
- lib/quandl/command/task/logging.rb
|
352
354
|
- lib/quandl/command/task/presentation.rb
|
@@ -354,6 +356,7 @@ files:
|
|
354
356
|
- lib/quandl/command/task/threading.rb
|
355
357
|
- lib/quandl/command/task/translations.rb
|
356
358
|
- lib/quandl/command/task/updatable.rb
|
359
|
+
- lib/quandl/command/task/validations.rb
|
357
360
|
- lib/quandl/command/tasks.rb
|
358
361
|
- lib/quandl/command/tasks/delete.rb
|
359
362
|
- lib/quandl/command/tasks/download.rb
|