Class: QueueryClient::UrlDataFileBundle
- Inherits:
-
DataFileBundle
- Object
- DataFileBundle
- QueueryClient::UrlDataFileBundle
- Defined in:
- lib/queuery_client/url_data_file_bundle.rb
Instance Attribute Summary collapse
-
#data_files ⇒ Object
readonly
Returns the value of attribute data_files.
-
#s3_prefix ⇒ Object
readonly
Returns the value of attribute s3_prefix.
Instance Method Summary collapse
- #direct(bucket_opts = {}, bundle_opts = {}) ⇒ Object
-
#initialize(urls, s3_prefix:, logger: Logger.new($stderr)) ⇒ UrlDataFileBundle
constructor
A new instance of UrlDataFileBundle.
- #url ⇒ Object
Methods inherited from DataFileBundle
Constructor Details
#initialize(urls, s3_prefix:, logger: Logger.new($stderr)) ⇒ UrlDataFileBundle
Returns a new instance of UrlDataFileBundle.
8 9 10 11 12 13 |
# File 'lib/queuery_client/url_data_file_bundle.rb', line 8 def initialize(urls, s3_prefix:, logger: Logger.new($stderr)) raise ArgumentError, 'no URL given' if urls.empty? @data_files = urls.map {|url| UrlDataFile.new(URI.parse(url)) } @s3_prefix = s3_prefix @logger = logger end |
Instance Attribute Details
#data_files ⇒ Object (readonly)
Returns the value of attribute data_files.
15 16 17 |
# File 'lib/queuery_client/url_data_file_bundle.rb', line 15 def data_files @data_files end |
#s3_prefix ⇒ Object (readonly)
Returns the value of attribute s3_prefix.
16 17 18 |
# File 'lib/queuery_client/url_data_file_bundle.rb', line 16 def s3_prefix @s3_prefix end |
Instance Method Details
#direct(bucket_opts = {}, bundle_opts = {}) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/queuery_client/url_data_file_bundle.rb', line 25 def direct(bucket_opts = {}, bundle_opts = {}) s3_uri = URI.parse(s3_prefix) bucket = s3_uri.host prefix = s3_uri.path[1..-1] # trim heading slash S3DataFileBundle.new(bucket, prefix) end |
#url ⇒ Object
18 19 20 21 22 23 |
# File 'lib/queuery_client/url_data_file_bundle.rb', line 18 def url uri = data_files.first.url.dup uri.query = nil uri.path = File.dirname(uri.path) uri.to_s end |