bubbles 0.0.3 → 0.0.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 383a1a649c6407ee1a6038a046e20b32211330e2
4
- data.tar.gz: 16793183bce0ff30fad261b567f24a436b282fbf
3
+ metadata.gz: 96b3d1b99a3f79cb2e58d1c9634b6cf4e1ba6748
4
+ data.tar.gz: 034a1c88110918f379452ac746a73e9775e271e0
5
5
  SHA512:
6
- metadata.gz: daa6af748d3aab608fe92dac4f6480c860f1f3a2500e021d62bfcd46a6173b60d92950a60e1b7c2fca23431213553d55ffdf6beb8e4545ca76929552fe4153bf
7
- data.tar.gz: ae647141df468d36e0efbb7ebf31cb12f31094e4564da47a3da4785634a842adddcfaff351f46d897b487157de8b335e84d66341f161356b48f8f5730ab94aa3
6
+ metadata.gz: d69142f0393fc6ed34094edc8526db90a4e531163a88f728ce723df64f27940bf4dd134716f2662fa130ab2b2d19b9e19774b60b16c76a0a7ba3f6eeb4ccced4
7
+ data.tar.gz: 4f6d3fff532eed8f0e305f1e6a5ae87a7f6aef6b0ba28d4b9f57b1bac239bba37736c3a6f0470e4c1522ff854d9584aeb9b276255cca41fc94f93c1f2267df1e
data/README.md CHANGED
@@ -75,8 +75,10 @@ s3_secret_access_key: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
75
75
  s3_bucket: bucket_name
76
76
  s3_region: eu-west-1
77
77
  s3_path: foo_folder/bar_folder/car_folder # will upload to s3://bucket/foo_folder/bar_folder/car_folder
78
+ s3_acl: private # # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
78
79
 
79
- local_dir_uploader_path: /mnt/network_smb_storage
80
+ local_dir_uploader_path: /mnt/network_smb_storage/
81
+ local_dir_metadata_file_path /var/log/uploads_metadata.yaml
80
82
  ```
81
83
 
82
84
  > Look into [lib/bubbles/config.rb](https://github.com/equivalent/bubbles/blob/master/lib/bubbles/config.rb) for more details.
@@ -3,6 +3,7 @@ require 'pathname'
3
3
  require 'logger'
4
4
  require 'securerandom'
5
5
  require 'yaml'
6
+ require 'json'
6
7
  require 'forwardable'
7
8
  require 'aws-sdk'
8
9
  require "bubbles/version"
@@ -11,7 +11,7 @@ module Bubbles
11
11
  attr_writer :config_path, :logger, :source_dir, :processing_dir, :log_path,
12
12
  :log_level, :sleep_interval, :uploader_classes, :num_of_files_to_schedule,
13
13
  :uniq_filename_randomizer, :local_dir_uploader_path, :s3_access_key_id, :s3_secret_access_key,
14
- :s3_region, :s3_path, :s3_bucket, :use_default_config_locations
14
+ :s3_region, :s3_path, :s3_bucket, :use_default_config_locations, :local_dir_metadata_file_path
15
15
 
16
16
  def log_path
17
17
  @log_path || config_yml['log_path'] || STDOUT
@@ -44,6 +44,11 @@ module Bubbles
44
44
  end
45
45
  end
46
46
 
47
+ def local_dir_metadata_file_path
48
+ err_msg = 'You need to set `local_dir_metadata_file_path`'
49
+ @local_dir_metadata_file_path ||= config_yml.fetch('local_dir_metadata_file_path') { raise err_msg }
50
+ end
51
+
47
52
  def local_dir_uploader_path
48
53
  err_msg = 'As you are using LocalDir uploader,' +
49
54
  ' you need to specify `local_dir_uploader_path` in your config' +
@@ -7,6 +7,7 @@ module Bubbles
7
7
  def call
8
8
  config.logger.debug("#{self.class.name}: transfering #{uid_file} to #{local_dir_uploader_path}")
9
9
  FileUtils.cp(uid_file, local_dir_uploader_path)
10
+ write_metadata
10
11
  rescue Errno::ENOENT => e
11
12
  config.logger.error("#{e.message}")
12
13
  command_queue.reschedule(self)
@@ -17,8 +18,23 @@ module Bubbles
17
18
  end
18
19
 
19
20
  private
20
- def_delegators :config, :local_dir_uploader_path
21
- def_delegators :bfile, :uid_file
21
+ def_delegators :config, :local_dir_uploader_path, :local_dir_metadata_file_path
22
+ def_delegators :bfile, :uid_file, :uid_file_name, :metadata
23
+
24
+ def write_metadata
25
+ File.open(local_dir_metadata_file_path, 'a') do |f|
26
+ f.write yaml_append
27
+ end
28
+ end
29
+
30
+ def yaml_append
31
+ <<EOF
32
+ -
33
+ key: #{uid_file_name}
34
+ path: #{uid_file}
35
+ metadata: #{metadata.to_json}
36
+ EOF
37
+ end
22
38
  end
23
39
  end
24
40
  end
@@ -6,7 +6,7 @@ module Bubbles
6
6
 
7
7
  def call
8
8
  File.open(uid_file, 'rb') do |file|
9
- s3.put_object(bucket: s3_bucket, key: s3_full_path, body: file, acl: config.s3_acl)
9
+ s3.put_object(bucket: s3_bucket, key: s3_full_path, body: file, acl: config.s3_acl, metadata: metadata)
10
10
  end
11
11
  rescue => e
12
12
  config.logger.error("#{e.message}")
@@ -19,7 +19,7 @@ module Bubbles
19
19
 
20
20
  private
21
21
  def_delegators :config, :s3_bucket, :s3_path, :s3_credentials, :s3_region
22
- def_delegators :bfile, :uid_file, :uid_file_name
22
+ def_delegators :bfile, :uid_file, :uid_file_name, :metadata
23
23
 
24
24
  def s3
25
25
  @s3 ||= Aws::S3::Client.new({
@@ -1,3 +1,3 @@
1
1
  module Bubbles
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bubbles
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomas Valent
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-04-19 00:00:00.000000000 Z
11
+ date: 2017-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk