s3_media_server_api 0.1.0.5 → 0.1.0.7
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 +81 -0
- data/lib/s3_media_server_api.rb +4 -1
- data/lib/s3_media_server_api/asynk_request.rb +4 -2
- data/lib/s3_media_server_api/aws_file.rb +4 -0
- data/lib/s3_media_server_api/config.rb +2 -1
- data/lib/s3_media_server_api/consumers.rb +6 -0
- data/lib/s3_media_server_api/consumers/consumer_helper.rb +14 -0
- data/lib/s3_media_server_api/consumers/s3_media_server_consumer.rb +23 -0
- data/lib/s3_media_server_api/media/audio.rb +1 -5
- data/lib/s3_media_server_api/media/common_media_api.rb +1 -1
- data/lib/s3_media_server_api/mocked.rb +8 -0
- data/lib/s3_media_server_api/mocked/request.rb +145 -0
- data/lib/s3_media_server_api/mocked/uploader.rb +38 -0
- data/lib/s3_media_server_api/services.rb +5 -0
- data/lib/s3_media_server_api/services/uploader_existence_service.rb +18 -0
- data/lib/s3_media_server_api/simple_uploaders_repository.rb +10 -0
- data/lib/s3_media_server_api/version.rb +1 -1
- data/s3_media_server_api.gemspec +1 -0
- metadata +26 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9dd5d2438d4686aef0f18d3bf611f72e4916dd34
|
4
|
+
data.tar.gz: bc6826997c05d221a2af7a902da1d954ce511dea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d665f7356ee6ceda17205ef6ab8b3bdb47c067aeb0c03fc53acfe33e50719f47fc0d0d315fa9dd35d7e62dc93f871588d4723b4648067078a1578f7c21455788
|
7
|
+
data.tar.gz: 6abd0d44ea37b137b63dfb8d3a1368fbcc081233eea23322ea76e0c4b33eae8315c371ff6460bbcf33b6c0f48c2ad99f860d57c01fb7308f774c5b1f7d8af7fb
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
s3_media_server_api (0.1.0.3)
|
5
|
+
asynk (>= 0.0.1)
|
6
|
+
faraday
|
7
|
+
mimemagic
|
8
|
+
parallel
|
9
|
+
simple_file_uploader
|
10
|
+
|
11
|
+
GEM
|
12
|
+
remote: https://rubygems.org/
|
13
|
+
specs:
|
14
|
+
activesupport (5.0.0)
|
15
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
16
|
+
i18n (~> 0.7)
|
17
|
+
minitest (~> 5.1)
|
18
|
+
tzinfo (~> 1.1)
|
19
|
+
amq-protocol (2.0.1)
|
20
|
+
asynk (0.0.2)
|
21
|
+
activesupport (>= 4.2)
|
22
|
+
bunny (~> 2.3)
|
23
|
+
celluloid (~> 0.17)
|
24
|
+
celluloid-io (~> 0.17)
|
25
|
+
connection_pool (~> 2.2)
|
26
|
+
json (~> 1.0)
|
27
|
+
bunny (2.5.0)
|
28
|
+
amq-protocol (>= 2.0.1)
|
29
|
+
celluloid (0.17.3)
|
30
|
+
celluloid-essentials
|
31
|
+
celluloid-extras
|
32
|
+
celluloid-fsm
|
33
|
+
celluloid-pool
|
34
|
+
celluloid-supervision
|
35
|
+
timers (>= 4.1.1)
|
36
|
+
celluloid-essentials (0.20.5)
|
37
|
+
timers (>= 4.1.1)
|
38
|
+
celluloid-extras (0.20.5)
|
39
|
+
timers (>= 4.1.1)
|
40
|
+
celluloid-fsm (0.20.5)
|
41
|
+
timers (>= 4.1.1)
|
42
|
+
celluloid-io (0.17.3)
|
43
|
+
celluloid (>= 0.17.2)
|
44
|
+
nio4r (>= 1.1)
|
45
|
+
timers (>= 4.1.1)
|
46
|
+
celluloid-pool (0.20.5)
|
47
|
+
timers (>= 4.1.1)
|
48
|
+
celluloid-supervision (0.20.6)
|
49
|
+
timers (>= 4.1.1)
|
50
|
+
concurrent-ruby (1.0.2)
|
51
|
+
connection_pool (2.2.0)
|
52
|
+
faraday (0.9.2)
|
53
|
+
multipart-post (>= 1.2, < 3)
|
54
|
+
hitimes (1.2.4)
|
55
|
+
i18n (0.7.0)
|
56
|
+
json (1.8.3)
|
57
|
+
mimemagic (0.3.1)
|
58
|
+
minitest (5.9.0)
|
59
|
+
multipart-post (2.0.0)
|
60
|
+
nio4r (1.2.1)
|
61
|
+
parallel (1.9.0)
|
62
|
+
rake (10.5.0)
|
63
|
+
simple_file_uploader (0.0.1)
|
64
|
+
bunny
|
65
|
+
thread_safe (0.3.5)
|
66
|
+
timers (4.1.1)
|
67
|
+
hitimes
|
68
|
+
tzinfo (1.2.2)
|
69
|
+
thread_safe (~> 0.1)
|
70
|
+
|
71
|
+
PLATFORMS
|
72
|
+
ruby
|
73
|
+
|
74
|
+
DEPENDENCIES
|
75
|
+
bundler (~> 1.11)
|
76
|
+
minitest (~> 5.0)
|
77
|
+
rake (~> 10.0)
|
78
|
+
s3_media_server_api!
|
79
|
+
|
80
|
+
BUNDLED WITH
|
81
|
+
1.11.2
|
data/lib/s3_media_server_api.rb
CHANGED
@@ -5,8 +5,11 @@ require "s3_media_server_api/config"
|
|
5
5
|
require "s3_media_server_api/uploader"
|
6
6
|
require "s3_media_server_api/file_part"
|
7
7
|
require "s3_media_server_api/aws_file"
|
8
|
+
require "s3_media_server_api/mocked"
|
8
9
|
require "s3_media_server_api/media"
|
9
10
|
require "s3_media_server_api/asynk_request"
|
10
|
-
|
11
|
+
require "s3_media_server_api/services"
|
12
|
+
require "s3_media_server_api/simple_uploaders_repository"
|
13
|
+
require 's3_media_server_api/consumers'
|
11
14
|
module S3MediaServerApi
|
12
15
|
end
|
@@ -8,7 +8,8 @@ module S3MediaServerApi
|
|
8
8
|
# params - parametes that will be passed to consumer
|
9
9
|
#
|
10
10
|
def async_request(path, action, params)
|
11
|
-
|
11
|
+
consumer = "#{server}.#{path}.#{action}"
|
12
|
+
S3MediaServerApi::Config.mocked ? Mocked::Request.publish(consumer, params) : Asynk::Publisher.publish(consumer, params)
|
12
13
|
end
|
13
14
|
#
|
14
15
|
# sends synchronous request using Asynk gem - https://github.com/konalegi/asynk
|
@@ -17,7 +18,8 @@ module S3MediaServerApi
|
|
17
18
|
# params - parametes that will be passed to consumer
|
18
19
|
#
|
19
20
|
def sync_request(path, action, params)
|
20
|
-
|
21
|
+
consumer = "#{server}.#{path}.#{action}"
|
22
|
+
S3MediaServerApi::Config.mocked ? Mocked::Request.sync_publish(consumer, params) : Asynk::Publisher.sync_publish(consumer, params)
|
21
23
|
end
|
22
24
|
|
23
25
|
private
|
@@ -33,7 +33,8 @@ module S3MediaServerApi
|
|
33
33
|
|
34
34
|
add_config :cache_class, S3MediaServerApi::Cache
|
35
35
|
add_config :upload_thread_count, 4
|
36
|
+
add_config :mocked, false
|
36
37
|
|
37
|
-
required :cache_class, :upload_thread_count
|
38
|
+
required :cache_class, :upload_thread_count, :mocked
|
38
39
|
end
|
39
40
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module S3MediaServerApi
|
2
|
+
module Consumers
|
3
|
+
module ConsumerHelper
|
4
|
+
def handle_exception(ex)
|
5
|
+
bc = ActiveSupport::BacktraceCleaner.new
|
6
|
+
bc.add_filter { |line| line.gsub(Rails.root.to_s, '') } # strip the Rails.root prefix
|
7
|
+
bc.add_silencer { |line| line =~ /mongrel|gems|minitest/ } # skip any lines from mongrel or rubygems
|
8
|
+
array_of_trace = bc.clean(ex.backtrace).map{|line| [" ", line].join }
|
9
|
+
array_of_trace.unshift("#{ex.class}: #{ex.message}")
|
10
|
+
logger.error array_of_trace.join("\n")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module S3MediaServerApi
|
2
|
+
module Consumers
|
3
|
+
class S3MediaServerConsumer
|
4
|
+
include Asynk::Consumer
|
5
|
+
include ConsumerHelper
|
6
|
+
|
7
|
+
set_consume 'broadcast.server.s3_media_server.aws_file.garbage_collect'
|
8
|
+
|
9
|
+
set_queue_options ack: true
|
10
|
+
set_subscribe_arguments manual_ack: true
|
11
|
+
set_concurrency 1
|
12
|
+
set_route_ending_as_action true
|
13
|
+
rescue_from Exception, with: :handle_exception
|
14
|
+
|
15
|
+
|
16
|
+
def garbage_collect(params)
|
17
|
+
S3MediaServerApi::Services::UploaderExistenceService.check(params[:uuid])
|
18
|
+
ensure
|
19
|
+
ack!
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -11,10 +11,6 @@ module S3MediaServerApi
|
|
11
11
|
@params[:url]
|
12
12
|
end
|
13
13
|
|
14
|
-
def sample_url
|
15
|
-
@params[:sample_url]
|
16
|
-
end
|
17
|
-
|
18
14
|
def duration
|
19
15
|
@params[:duration]
|
20
16
|
end
|
@@ -38,7 +34,7 @@ module S3MediaServerApi
|
|
38
34
|
# duration - duration of audio file
|
39
35
|
# start_position - position where cut wil be made
|
40
36
|
#
|
41
|
-
def cut(uuid, audio_url
|
37
|
+
def cut(uuid, audio_url:, duration:, start_position:)
|
42
38
|
params = {
|
43
39
|
uuid: uuid,
|
44
40
|
audio_url: audio_url,
|
@@ -41,7 +41,7 @@ module S3MediaServerApi
|
|
41
41
|
# returns: response with created AwsFile information
|
42
42
|
#
|
43
43
|
def create(path)
|
44
|
-
aws_file = Uploader.upload(path)
|
44
|
+
aws_file = S3MediaServerApi::Config.mocked ? Mocked::Uploader.upload(path) : Uploader.upload(path)
|
45
45
|
uuid = aws_file.uuid
|
46
46
|
params = (media_type == 'video') ? { uuid: uuid } : { aws_file_uuid: uuid }
|
47
47
|
response = AsynkRequest.sync_request(base_path, :create, params)
|
@@ -0,0 +1,145 @@
|
|
1
|
+
module S3MediaServerApi
|
2
|
+
module Mocked
|
3
|
+
class Request
|
4
|
+
|
5
|
+
def initialize(hash)
|
6
|
+
@body = hash
|
7
|
+
end
|
8
|
+
|
9
|
+
def success?
|
10
|
+
true
|
11
|
+
end
|
12
|
+
|
13
|
+
def [](key)
|
14
|
+
@body[key]
|
15
|
+
end
|
16
|
+
|
17
|
+
class << self
|
18
|
+
def sync_publish(path, params)
|
19
|
+
case path
|
20
|
+
when /s3_media_server.media.(audio).(\.*)/
|
21
|
+
mocked_audio_sync_request(params)
|
22
|
+
when /s3_media_server.media.(video).(\.*)/
|
23
|
+
mocked_video_sync_request(params)
|
24
|
+
when /s3_media_server.media.(image).(\.*)/
|
25
|
+
mocked_image_sync_request(params)
|
26
|
+
when /s3_media_server.media.(document).(\.*)/
|
27
|
+
mocked_document_sync_request(params)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def publish(path, params)
|
32
|
+
true
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
|
38
|
+
def mocked_audio_sync_request(params)
|
39
|
+
uuid = params[:aws_file_uuid] ? params[:aws_file_uuid] : params[:uuid]
|
40
|
+
response = {data: { url: "https://storage-nginx.stage.govermedia.com/test-bucket/test_files/#{SecureRandom.uuid}.mp3",
|
41
|
+
sample_url: "https://storage-nginx.stage.govermedia.com/test-bucket/test_files/#{SecureRandom.uuid}.mp3",
|
42
|
+
uuid: uuid,
|
43
|
+
size: 704512,
|
44
|
+
sample_uploaded: true,
|
45
|
+
name: "music_test.mp3",
|
46
|
+
duration: 87.891875,
|
47
|
+
sample_duration: 19.983673}}
|
48
|
+
Request.new(response)
|
49
|
+
end
|
50
|
+
|
51
|
+
def mocked_video_sync_request(params)
|
52
|
+
response = {:data=>{:duration=>6.037,
|
53
|
+
:transcoded=>true,
|
54
|
+
:uuid=>params[:uuid],
|
55
|
+
:versions=>[{ :url=>"https://storage-nginx.stage.govermedia.com/test-bucket/test_files/18e776ab-c4ca-40cd-9ecb-a605664ce118.mp4",
|
56
|
+
:format=>"mp4",
|
57
|
+
:size=>326089,
|
58
|
+
:resolution=>"r240p"},
|
59
|
+
{ :url=>"https://storage-nginx.stage.govermedia.com/test-bucket/test_files/c5c9bf51-76c7-42e3-b2ce-4d55d41df815.mp4",
|
60
|
+
:format=>"mp4",
|
61
|
+
:size=>602906,
|
62
|
+
:resolution=>"r360p"},
|
63
|
+
{ :url=>"https://storage-nginx.stage.govermedia.com/test-bucket/test_files/475a37b9-50de-472f-a7f4-949774fb46b4.mp4",
|
64
|
+
:format=>"mp4",
|
65
|
+
:size=>3188011,
|
66
|
+
:resolution=>"source"},
|
67
|
+
{ :url=>"https://storage-nginx.stage.govermedia.com/test-bucket/test_files/5db270ce-966a-4caa-a4ca-c2dd57ad3b8b.webm",
|
68
|
+
:format=>"webm",
|
69
|
+
:size=>382660,
|
70
|
+
:resolution=>"r240p"},
|
71
|
+
{ :url=>"https://storage-nginx.stage.govermedia.com/test-bucket/test_files/1597fcb9-5a54-449d-9b99-fc87564e1113.webm",
|
72
|
+
:format=>"webm",
|
73
|
+
:size=>704246,
|
74
|
+
:resolution=>"r360p"},
|
75
|
+
{ :url=>"https://storage-nginx.stage.govermedia.com/test-bucket/test_files/a5519a7d-1e03-4b99-8446-eb04273ada83.webm",
|
76
|
+
:format=>"webm",
|
77
|
+
:size=>4292789,
|
78
|
+
:resolution=>"source"}],
|
79
|
+
:preview=>{:uuid=>"c13ed468-55ee-4281-bf4b-9a2115203c86",
|
80
|
+
:size=>33884,
|
81
|
+
:name=>nil,
|
82
|
+
:source=>{:url=>"https://storage-nginx.stage.govermedia.com/test-bucket/test_files/a203e4e2-1ca3-4d62-a361-4ca5033fe45c.jpeg",
|
83
|
+
:width=>720,
|
84
|
+
:height=>1280},
|
85
|
+
:thumb=>{:url=>"https://storage-nginx.stage.govermedia.com/test-bucket/test_files/91133554-1e86-4034-92ac-3b42d28f1aae.jpeg",
|
86
|
+
:width=>158,
|
87
|
+
:height=>280}},
|
88
|
+
:screenshots=>[{ :uuid=>"c6509e64-7191-4f3d-a1fe-c8abc8d9b669",
|
89
|
+
:size=>33914,
|
90
|
+
:name=>nil,
|
91
|
+
:source=> {:url=>"https://storage-nginx.stage.govermedia.com/test-bucket/test_files/9ba7a208-5ab1-47ce-8f86-220fb89ed237.jpeg",
|
92
|
+
:width=>720,
|
93
|
+
:height=>1280},
|
94
|
+
:thumb=> {:url=>"https://storage-nginx.stage.govermedia.com/test-bucket/test_files/c398defd-b770-4acd-b1ae-9cabb0b3ad75.jpeg",
|
95
|
+
:width=>158,
|
96
|
+
:height=>280}},
|
97
|
+
{ :uuid=>"c13ed468-55ee-4281-bf4b-9a2115203c86",
|
98
|
+
:size=>33884,
|
99
|
+
:name=>nil,
|
100
|
+
:source=>{:url=>"https://storage-nginx.stage.govermedia.com/test-bucket/test_files/a203e4e2-1ca3-4d62-a361-4ca5033fe45c.jpeg",
|
101
|
+
:width=>720,
|
102
|
+
:height=>1280},
|
103
|
+
:thumb=>{:url=>"https://storage-nginx.stage.govermedia.com/test-bucket/test_files/91133554-1e86-4034-92ac-3b42d28f1aae.jpeg",
|
104
|
+
:width=>158,
|
105
|
+
:height=>280}},
|
106
|
+
{ :uuid=>"32c1f326-33fe-477e-aeba-8c5bf2a85ded",
|
107
|
+
:size=>29856,
|
108
|
+
:name=>nil,
|
109
|
+
:source=>{:url=>"https://storage-nginx.stage.govermedia.com/test-bucket/test_files/b513908d-b4ea-484d-823c-8ed49cf2415c.jpeg",
|
110
|
+
:width=>720,
|
111
|
+
:height=>1280},
|
112
|
+
:thumb=>{:url=>"https://storage-nginx.stage.govermedia.com/test-bucket/test_files/e6839727-9e61-41e8-a1a5-c190f5343cb0.jpeg",
|
113
|
+
:width=>158,
|
114
|
+
:height=>280}}],
|
115
|
+
:name=>nil,
|
116
|
+
:embed_url=>"https://govermedia.com/embed_video/?uuid=0e4d7d8c-a8f5-49da-94cd-d9811ec01d78", :provider=>"govermedia"}}
|
117
|
+
Request.new(response)
|
118
|
+
end
|
119
|
+
|
120
|
+
def mocked_image_sync_request(params)
|
121
|
+
uuid = params[:aws_file_uuid] ? params[:aws_file_uuid] : params[:uuid]
|
122
|
+
response = {data: {uuid: uuid,
|
123
|
+
size: 12254,
|
124
|
+
name: "test_image.jpg",
|
125
|
+
source: { url: "https://storage-nginx.stage.govermedia.com/test-bucket/test_files/7f7e7aa3-5ed7-4120-b843-45d19f65bee6.jpeg",
|
126
|
+
width: 313,
|
127
|
+
height: 315},
|
128
|
+
thumb: { url: "https://storage-nginx.stage.govermedia.com/test-bucket/test_files/2523c7ca-cdaa-4599-8a46-e949335738a3.jpeg",
|
129
|
+
width: 278,
|
130
|
+
height: 280}}}
|
131
|
+
Request.new(response)
|
132
|
+
end
|
133
|
+
|
134
|
+
def mocked_document_sync_request(params)
|
135
|
+
uuid = params[:aws_file_uuid] ? params[:aws_file_uuid] : params[:uuid]
|
136
|
+
response = {data: {url: "https://storage-nginx.stage.govermedia.com/test-bucket/test_files/95d5edfe-1f17-422d-85c7-69f63e00c3fe.mp4",
|
137
|
+
uuid: "c147f0aa-f0e3-42da-ab0e-28895dc21ea1",
|
138
|
+
size: 245779,
|
139
|
+
name: "document.pdf"}}
|
140
|
+
Request.new(response)
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module S3MediaServerApi
|
2
|
+
module Mocked
|
3
|
+
module Uploader
|
4
|
+
class << self
|
5
|
+
def upload(file_path)
|
6
|
+
uuid = SecureRandom.uuid
|
7
|
+
part_size = 5*1024*1024
|
8
|
+
response = {data: {uuid: uuid,
|
9
|
+
size: File.size(file_path),
|
10
|
+
mime_type: file_mime_type(file_path),
|
11
|
+
uploads_count: parts_count(file_path, part_size),
|
12
|
+
default_part_size: part_size,
|
13
|
+
state: "uploaded",
|
14
|
+
public_url: "https://storage-nginx.stage.govermedia.com/test-bucket/test_files/#{uuid}.mp3",
|
15
|
+
name: File.basename(file_path)}}
|
16
|
+
AwsFile.new(response)
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def file_mime_type(file_source_path)
|
22
|
+
mime_magic = MimeMagic.by_magic(File.open(file_source_path))
|
23
|
+
mime_magic ? mime_magic.type : 'application/octet-stream'
|
24
|
+
end
|
25
|
+
|
26
|
+
def parts_count(source, default_part_size)
|
27
|
+
size = File.size(source)
|
28
|
+
offset, part_number = 0, 1
|
29
|
+
while offset < size
|
30
|
+
part_number += 1
|
31
|
+
offset += default_part_size
|
32
|
+
end
|
33
|
+
part_number
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module S3MediaServerApi
|
2
|
+
module Services
|
3
|
+
class UploaderExistenceService
|
4
|
+
class << self
|
5
|
+
|
6
|
+
def check(aws_file_uuid)
|
7
|
+
return unless aws_file_uuid
|
8
|
+
|
9
|
+
S3MediaServerApi::SimpleUploadersRepository.uploader_classes.each do |uploader_class|
|
10
|
+
uploader = uploader_class.find_uploader_by_uuid(aws_file_uuid)
|
11
|
+
S3MediaServerApi::AwsFile.file_exists(aws_file_uuid) and return if uploader.present?
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
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.0.
|
4
|
+
version: 0.1.0.7
|
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-07-
|
11
|
+
date: 2016-07-25 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: simple_file_uploader
|
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
|
description:
|
112
126
|
email:
|
113
127
|
- ayratin555@gmail.com
|
@@ -116,6 +130,7 @@ extensions: []
|
|
116
130
|
extra_rdoc_files: []
|
117
131
|
files:
|
118
132
|
- Gemfile
|
133
|
+
- Gemfile.lock
|
119
134
|
- LICENSE.txt
|
120
135
|
- README.md
|
121
136
|
- Rakefile
|
@@ -124,6 +139,9 @@ files:
|
|
124
139
|
- lib/s3_media_server_api/aws_file.rb
|
125
140
|
- lib/s3_media_server_api/cache.rb
|
126
141
|
- lib/s3_media_server_api/config.rb
|
142
|
+
- lib/s3_media_server_api/consumers.rb
|
143
|
+
- lib/s3_media_server_api/consumers/consumer_helper.rb
|
144
|
+
- lib/s3_media_server_api/consumers/s3_media_server_consumer.rb
|
127
145
|
- lib/s3_media_server_api/error.rb
|
128
146
|
- lib/s3_media_server_api/file_part.rb
|
129
147
|
- lib/s3_media_server_api/media.rb
|
@@ -132,6 +150,12 @@ files:
|
|
132
150
|
- lib/s3_media_server_api/media/document.rb
|
133
151
|
- lib/s3_media_server_api/media/image.rb
|
134
152
|
- lib/s3_media_server_api/media/video.rb
|
153
|
+
- lib/s3_media_server_api/mocked.rb
|
154
|
+
- lib/s3_media_server_api/mocked/request.rb
|
155
|
+
- lib/s3_media_server_api/mocked/uploader.rb
|
156
|
+
- lib/s3_media_server_api/services.rb
|
157
|
+
- lib/s3_media_server_api/services/uploader_existence_service.rb
|
158
|
+
- lib/s3_media_server_api/simple_uploaders_repository.rb
|
135
159
|
- lib/s3_media_server_api/uploader.rb
|
136
160
|
- lib/s3_media_server_api/version.rb
|
137
161
|
- s3_media_server_api-0.1.0.gem
|