s3_media_server_api 0.1.2.2 → 0.1.2.3
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 +4 -4
- data/Gemfile.lock +6 -4
- data/README.md +5 -0
- data/lib/s3_media_server_api/aws_file.rb +4 -0
- data/lib/s3_media_server_api/downloader.rb +42 -0
- data/lib/s3_media_server_api/uploader.rb +7 -0
- data/lib/s3_media_server_api/version.rb +1 -1
- data/lib/s3_media_server_api.rb +1 -0
- data/s3_media_server_api.gemspec +1 -0
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 53c8229ea9ed330f81029c2540676c46bfdf13cd
|
4
|
+
data.tar.gz: 59c87a40dba0dbd1d591d64e6ce4363a43e0a80d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d95169c68211219acb6f501420a2938c5dfca34964c3f570fa64c7a450169851c8dbaf8b64630cb13fa08cedac7cf4ef362b2f93e75c1b8bda7819c5d24ef64f
|
7
|
+
data.tar.gz: 019bfce35828c2c02ecd2f855d2b42106e4498241a6dc05fc328814c404483ac82d965aefc73bec90c878b19f2a4b3c8e22e26bf9215e30a554569627ff75d11
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
s3_media_server_api (0.1.
|
4
|
+
s3_media_server_api (0.1.2.2)
|
5
5
|
asynk (>= 0.0.1)
|
6
|
+
curb
|
6
7
|
faraday
|
7
8
|
mimemagic
|
8
9
|
parallel
|
@@ -49,18 +50,19 @@ GEM
|
|
49
50
|
timers (>= 4.1.1)
|
50
51
|
concurrent-ruby (1.0.2)
|
51
52
|
connection_pool (2.2.0)
|
53
|
+
curb (0.9.3)
|
52
54
|
faraday (0.9.2)
|
53
55
|
multipart-post (>= 1.2, < 3)
|
54
56
|
hitimes (1.2.4)
|
55
57
|
i18n (0.7.0)
|
56
58
|
json (1.8.3)
|
57
|
-
mimemagic (0.3.
|
59
|
+
mimemagic (0.3.2)
|
58
60
|
minitest (5.9.0)
|
59
61
|
multipart-post (2.0.0)
|
60
62
|
nio4r (1.2.1)
|
61
63
|
parallel (1.9.0)
|
62
64
|
rake (10.5.0)
|
63
|
-
simple_file_uploader (0.0.
|
65
|
+
simple_file_uploader (0.0.2)
|
64
66
|
bunny
|
65
67
|
thread_safe (0.3.5)
|
66
68
|
timers (4.1.1)
|
@@ -78,4 +80,4 @@ DEPENDENCIES
|
|
78
80
|
s3_media_server_api!
|
79
81
|
|
80
82
|
BUNDLED WITH
|
81
|
-
1.
|
83
|
+
1.12.5
|
data/README.md
CHANGED
@@ -194,6 +194,11 @@ S3MediaServerApi::Media::Colllection.destroy(created_collection.uuid)
|
|
194
194
|
# to create aws file from its path, use upload method from S3MediaServerApi::Uploader module
|
195
195
|
aws_file = S3MediaServerApi::Uploader.upload('/Users/ayrat/Development/s3_media_server_api/tmp/test_image.jpg')
|
196
196
|
|
197
|
+
# to create aws file from its url, use upload_from_url method from S3MediaServerApi::Uploader module
|
198
|
+
image_url = "https://d2l3jyjp24noqc.cloudfront.net/uploads/image/img/269/Test-Driven_APIs_with_Phoenix_and_Elixir.png"
|
199
|
+
file = S3MediaServerApi::Uploader.upload_from_url(image_url)
|
200
|
+
|
201
|
+
|
197
202
|
# to resolve aws file, use resolve method
|
198
203
|
resolved_aws_file = S3MediaServerApi::AwsFile.resolve(aws_file.uuid)
|
199
204
|
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'curb'
|
3
|
+
|
4
|
+
module S3MediaServerApi
|
5
|
+
module Downloader
|
6
|
+
|
7
|
+
class << self
|
8
|
+
def download_by_url(url)
|
9
|
+
file_path = generate_random_file_name
|
10
|
+
easy = Curl::Easy.new(url)
|
11
|
+
easy.ssl_verify_peer = false
|
12
|
+
File.open(file_path, 'wb') do |f|
|
13
|
+
easy.on_body {|data| f << data; data.size }
|
14
|
+
easy.perform
|
15
|
+
end
|
16
|
+
file_path
|
17
|
+
end
|
18
|
+
|
19
|
+
def remove_if_exists(path)
|
20
|
+
return if path.nil?
|
21
|
+
FileUtils.rm(path) if File.exist?(path)
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def generate_random_file_name
|
27
|
+
File.join(tmp_dir, SecureRandom.uuid)
|
28
|
+
end
|
29
|
+
|
30
|
+
def tmp_dir
|
31
|
+
path = File.join('tmp', 'files')
|
32
|
+
create_dir_if_not_exists(path)
|
33
|
+
path
|
34
|
+
end
|
35
|
+
|
36
|
+
def create_dir_if_not_exists(path)
|
37
|
+
FileUtils.mkdir_p path
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -13,6 +13,13 @@ module S3MediaServerApi
|
|
13
13
|
|
14
14
|
class UploaderError < S3MediaServerApiError; end
|
15
15
|
class PartUploadError < UploaderError; end
|
16
|
+
|
17
|
+
def upload_from_url(url)
|
18
|
+
file = S3MediaServerApi::Downloader.download_by_url(url)
|
19
|
+
upload(file)
|
20
|
+
ensure
|
21
|
+
S3MediaServerApi::Downloader.remove_if_exists(file)
|
22
|
+
end
|
16
23
|
#
|
17
24
|
# uploads file to amazon s3 and create AwsFile object
|
18
25
|
# parameter : filepath - file path in file system
|
data/lib/s3_media_server_api.rb
CHANGED
@@ -2,6 +2,7 @@ require "s3_media_server_api/version"
|
|
2
2
|
require "s3_media_server_api/error"
|
3
3
|
require "s3_media_server_api/cache"
|
4
4
|
require "s3_media_server_api/config"
|
5
|
+
require "s3_media_server_api/downloader"
|
5
6
|
require "s3_media_server_api/uploader"
|
6
7
|
require "s3_media_server_api/file_part"
|
7
8
|
require "s3_media_server_api/aws_file"
|
data/s3_media_server_api.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: s3_media_server_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.2.
|
4
|
+
version: 0.1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ayrat Badykov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: curb
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: simple_file_uploader
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,6 +156,7 @@ files:
|
|
142
156
|
- lib/s3_media_server_api/consumers.rb
|
143
157
|
- lib/s3_media_server_api/consumers/consumer_helper.rb
|
144
158
|
- lib/s3_media_server_api/consumers/s3_media_server_consumer.rb
|
159
|
+
- lib/s3_media_server_api/downloader.rb
|
145
160
|
- lib/s3_media_server_api/error.rb
|
146
161
|
- lib/s3_media_server_api/file_part.rb
|
147
162
|
- lib/s3_media_server_api/media.rb
|