evostream-event 0.2.5 → 0.2.6.pre.39

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b2d274785261be8195d3d294946b934a44ccee02
4
- data.tar.gz: d669bf6f4c78f5736dc6da1dab6507501e881fdd
3
+ metadata.gz: 7fd524e68a6660e8ad4ed77261eb348a5bfa8ac7
4
+ data.tar.gz: 3a77e447d6c9fabea5660ba296293168c2312388
5
5
  SHA512:
6
- metadata.gz: 91567be080cb88aac54dc34160821e6b4e229e695c8a16bb67c447700137adea2703cf5b8572e89819cca8da304968c7ad3f87b5820508c30dc3b4e763d57d04
7
- data.tar.gz: 1507181240ffaab08e5b80e927e27186fc959749072214c9a6cde765b1ddf9843e2caaffa83daee817219a6d03381dcd9fd52de9500268b6e081e2d5c615a432
6
+ metadata.gz: 2ee1884917ecf210cc5cca1fcd91e6de38c64c35c9008e36e22458e708e9f9b6e9112ca14396910a70b5a2574e251e80b51c326b28f57aae63ed4d570c86f5a8
7
+ data.tar.gz: e2db3c351c8ab22ed0fdc5bd46ad65bfc999182ebb29fd1ea77cc996ebcb55387e2c0f23a9ae7b034e508bdbbc311810324ae2855cd092a5a5683456f0c59c03
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Evostream
4
+ # Send an action to evostream server
5
+ class Action
6
+ def initialize(payload)
7
+ @payload = payload
8
+ end
9
+
10
+ def execute_action(command_name)
11
+ cmd = command_name.sub(/^(\w)/, &:capitalize)
12
+ klass = "Evostream::Commands::#{cmd}".constantize
13
+ Evostream.send_command(klass.new(@payload).cmd)
14
+ end
15
+ end
16
+ end
@@ -40,6 +40,6 @@ module Evostream
40
40
  end
41
41
  end
42
42
 
43
- require 'evostream/event/events/in_stream_created'
44
- require 'evostream/event/events/in_stream_closed'
45
- require 'evostream/event/events/out_stream_created'
43
+ require 'evostream/event/event/events/in_stream_created'
44
+ require 'evostream/event/event/events/in_stream_closed'
45
+ require 'evostream/event/event/events/out_stream_created'
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'evostream/event/event/events'
4
+
5
+ module Evostream
6
+ # Reacts to event
7
+ class Event
8
+ EVENTS = Evostream::Events::Event.descendants
9
+
10
+ def initialize(type, payload)
11
+ @payload = payload
12
+ @model = type.sub(/^(\w)/, &:capitalize)
13
+ end
14
+
15
+ def execute_action
16
+ klass = "Evostream::Events::#{@model}".constantize
17
+ Evostream.logger "Execute Action : #{klass}"
18
+ execute_klass(klass) if EVENTS.include?(klass)
19
+ end
20
+
21
+ private
22
+
23
+ def execute_klass(klass)
24
+ name_flux = extract_name_flux
25
+ Evostream.logger "Name Flux : #{name_flux}"
26
+ case [klass]
27
+ when [Evostream::Events::OutStreamCreated]
28
+ klass.new(name_flux, @payload).execute
29
+ else
30
+ # when [Evostream::Events::InStreamCreated]
31
+ # when [Evostream::Events::InStreamClosed]
32
+ klass.new(name_flux).execute
33
+ end
34
+ end
35
+
36
+ def extract_name_flux
37
+ @payload[:name].gsub(Evostream::Service.name, '')
38
+ end
39
+ end
40
+ end
@@ -6,7 +6,7 @@
6
6
  # Define constant to gem.
7
7
  module Evostream
8
8
  # Define version to gem
9
- VERSION = '0.2.5'
9
+ VERSION = '0.2.6'
10
10
 
11
11
  # Name to gem
12
12
  GEM_NAME = 'evostream-event'
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Net
4
+ # Override Net::hTTPResponse for create response with body
5
+ class HTTPResponse
6
+ def self.mock(body = {})
7
+ # construct
8
+ clazz = self
9
+ response = clazz.new('1.1', '200', 'OK')
10
+
11
+ # inject
12
+ response.instance_variable_set :@body, body
13
+
14
+ # mockulate
15
+ response.instance_eval 'def body; @body; end'
16
+
17
+ response
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Evostream
4
+ module Response
5
+ # Return a response to JSON format
6
+ class JSON
7
+ attr_reader :status, :message, :data
8
+
9
+ def initialize(evostream_response)
10
+ @evostream = evostream_response.body
11
+
12
+ @status = define_status
13
+ @message = define_message
14
+ @data = @evostream['data'] if @status.eql?(200)
15
+ end
16
+
17
+ def message
18
+ {
19
+ status: @status,
20
+ message: @message,
21
+ data: @data.to_hash
22
+ }.with_indifferent_access
23
+ end
24
+
25
+ def data
26
+ @data || ''
27
+ end
28
+
29
+ private
30
+
31
+ attr_accessor :evostream
32
+
33
+ def define_status
34
+ case @evostream['status']
35
+ when 'FAIL' then 500
36
+ when 'SUCCESS' then 200
37
+ end
38
+ end
39
+
40
+ def define_message
41
+ if @status.eql?(500)
42
+ 'Error with EvoStream server.'
43
+ else
44
+ 'Object was successfully created/updated.'
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -5,10 +5,22 @@
5
5
  module Evostream
6
6
  # DSL configuration for this gem
7
7
  class Service
8
- mattr_accessor :web_root, :uri_in, :uri_out, :name, :model, :model_id
8
+ mattr_accessor :web_root, :uri_in, :uri_out, :name, :model, :model_id,
9
+ :environment
9
10
 
10
11
  def self.configuration(&block)
11
12
  block.call(self)
12
13
  end
14
+
15
+ # Environment for this gem
16
+ # :test -- Dont send command to EvoStream instance
17
+ # :production -- Execute command HTTP
18
+ def self.environment
19
+ @@environment || :test
20
+ end
21
+
22
+ def self.web_root
23
+ @@web_root = '/var/www/html'
24
+ end
13
25
  end
14
26
  end
@@ -4,97 +4,51 @@ require 'active_support'
4
4
  require 'evostream/event/info'
5
5
  require 'evostream/event/service'
6
6
  require 'evostream/event/commands'
7
- require 'evostream/event/events'
7
+ require 'evostream/event/event'
8
+ require 'evostream/event/action'
9
+ require 'evostream/event/response/response'
8
10
  require 'net/http'
9
-
10
- # :reek:DuplicateMethod
11
+ require 'evostream/event/response/mock'
11
12
 
12
13
  # Primary command to gem
13
14
  module Evostream
14
15
  def self.send_command(cmd)
15
- response = prepare_request(cmd)
16
- body = response.body.nil? ? {} : JSON.parse(response.body).to_hash
17
- { status: Evostream.status(body), message: body['description'] }
18
- end
19
-
20
- def self.send_command_action(cmd)
21
- response = prepare_request(cmd)
22
- body = response.body
23
- if body.blank?
24
- { status: 403, message: 'Error with evostream !' }
25
- else
26
- body = JSON.parse(body).to_hash
27
- { status: 200, message: body['description'] }
28
- end
16
+ Evostream.logger "CMD : #{cmd}"
17
+ Evostream::Response::JSON.new(prepare_request(cmd)).message
29
18
  end
30
19
 
31
20
  def self.logger(message)
32
21
  Rails.logger.debug "[#{Evostream::GEM_NAME}] #{message}" if defined?(Rails)
33
22
  end
34
23
 
35
- def self.status(body)
36
- if body['status'].eql?('FAIL')
37
- 403
38
- elsif body.empty?
39
- 204
40
- else
41
- 200
42
- end
43
- end
44
-
45
24
  def self.prepare_request(cmd)
46
- uri = URI.parse("#{Evostream::Service.uri_in}/#{cmd}")
47
- http = Net::HTTP.new(uri.host, uri.port)
48
- http.request(Net::HTTP::Get.new(uri.request_uri))
49
- end
50
- end
51
-
52
- module Evostream
53
- # Send an action to evostream server
54
- class Action
55
- def initialize(payload)
56
- @payload = payload
57
- end
58
-
59
- def execute_action(command_name)
60
- cmd = command_name.sub(/^(\w)/, &:capitalize)
61
- klass = "Evostream::Commands::#{cmd}".constantize
62
- Evostream.send_command_action(klass.new(@payload).cmd)
25
+ if Evostream::Service.environment.eql?(:test)
26
+ Evostream.request_test(cmd)
27
+ else
28
+ Evostream.request_real(URI.parse("#{Evostream::Service.uri_in}/#{cmd}"))
63
29
  end
64
30
  end
65
31
 
66
- # Reacts to event
67
- class Event
68
- EVENTS = Evostream::Events::Event.descendants
32
+ class << self
33
+ private_class_method
69
34
 
70
- def initialize(type, payload)
71
- @payload = payload
72
- @model = type.sub(/^(\w)/, &:capitalize)
35
+ def request_test(command)
36
+ json = JSON.parse(File.read(find_fixture(command)))
37
+ Net::HTTPSuccess.mock(json)
73
38
  end
74
39
 
75
- def execute_action
76
- klass = "Evostream::Events::#{@model}".constantize
77
- Evostream.logger "Execute Action : #{klass}"
78
- execute_klass(klass) if EVENTS.include?(klass)
40
+ def request_real(uri)
41
+ http = Net::HTTP.new(uri.host, uri.port)
42
+ http.request(Net::HTTP::Get.new(uri.request_uri))
79
43
  end
80
44
 
81
- private
82
-
83
- def execute_klass(klass)
84
- name_flux = extract_name_flux
85
- Evostream.logger "Name Flux : #{name_flux}"
86
- case [klass]
87
- when [Evostream::Events::OutStreamCreated]
88
- klass.new(name_flux, @payload).execute
89
- else
90
- # when [Evostream::Events::InStreamCreated]
91
- # when [Evostream::Events::InStreamClosed]
92
- klass.new(name_flux).execute
93
- end
45
+ def path_fixture
46
+ File.realpath(File.join(File.dirname(__FILE__), '..', '..', 'spec',
47
+ 'support', 'fixtures'))
94
48
  end
95
49
 
96
- def extract_name_flux
97
- @payload[:name].gsub(Evostream::Service.name, '')
50
+ def find_fixture(command)
51
+ File.join(path_fixture, "#{command.split('?')[0].underscore}.json")
98
52
  end
99
53
  end
100
54
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ feature 'PushStream', type: :response,
6
+ name: :pushStream do
7
+ it do
8
+ uri = URI('http://server_stream.local/pushStream?params=dXJpPXJ0')
9
+
10
+ response = JSON.parse(Net::HTTP.get(uri))
11
+
12
+ expect(response['data']['configId']).to eq(6)
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ feature 'RemoveConfig', type: :response,
6
+ name: :removeConfig do
7
+ it do
8
+ uri = URI('http://server_stream.local/removeConfig?params=dXJpPXJ0')
9
+
10
+ response = JSON.parse(Net::HTTP.get(uri))
11
+
12
+ expect(response['data']['configId']).to eq(6)
13
+ end
14
+ end
data/spec/spec_helper.rb CHANGED
@@ -5,6 +5,8 @@ require 'evostream/event'
5
5
  require 'faker'
6
6
  require 'json'
7
7
  require 'webmock/rspec'
8
+ require 'capybara/rspec'
9
+ require 'active_support/core_ext/hash'
8
10
 
9
11
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
10
12
 
@@ -17,6 +19,9 @@ RSpec.configure do |config|
17
19
  c.syntax = :expect
18
20
  end
19
21
 
22
+ # Disable all remote connections
23
+ WebMock.disable_net_connect!(allow_localhost: true)
24
+
20
25
  # Exclude spec broken
21
26
  config.filter_run_excluding broken: true
22
27
 
@@ -32,15 +37,16 @@ RSpec.configure do |config|
32
37
  end
33
38
  end
34
39
 
35
- # Disable all remote connections
36
- WebMock.disable_net_connect!(allow_localhost: true)
37
-
38
40
  # Configure test Net::HTTP
39
41
  config.before(:each, type: :request) do
40
42
  stub_request(:get, /server_stream.local/)
41
43
  .with(headers: { 'Accept': '*/*', 'User-Agent': 'Ruby' })
42
44
  .to_return(status: 200, body: '', headers: {})
43
45
  end
46
+
47
+ config.before(:each, type: :response) do
48
+ stub_request(:any, /server_stream.local/).to_rack(FakeEvostream)
49
+ end
44
50
  end
45
51
 
46
52
  # Class for testing
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'sinatra/base'
4
+
5
+ # Fake class for testing response to pushCommand
6
+ class FakeEvostream < Sinatra::Base
7
+ get '/pushStream' do
8
+ json_response 200, :push_stream
9
+ end
10
+
11
+ get '/createDASHStream' do
12
+ json_response 200, :create_dash_stream
13
+ end
14
+
15
+ get '/createHLSStream' do
16
+ json_response 200, :create_hls_stream
17
+ end
18
+
19
+ get '/removeConfig' do
20
+ json_response 200, :remove_config
21
+ end
22
+
23
+ private
24
+
25
+ def json_response(response_code, file_name)
26
+ content_type :json
27
+ status response_code
28
+ File.open("#{File.dirname(__FILE__)}/fixtures/#{file_name}.json")
29
+ end
30
+ end
@@ -0,0 +1,21 @@
1
+ {
2
+ "data":{
3
+ "bandwidths":[0],
4
+ "chunkLength":10,
5
+ "chunkOnIDR":true,
6
+ "cleanupDestination":false,
7
+ "configIds":[11],
8
+ "dynamicProfile":true,
9
+ "groupName":"dash",
10
+ "keepAlive":true,
11
+ "localStreamNames":["testpullStream"],
12
+ "manifestName":"manifest.mpd",
13
+ "overwriteDestination":true,
14
+ "playlistLength":10,
15
+ "playlistType":"appending",
16
+ "staleRetentionCount":10,
17
+ "targetFolder":". .\/evo-webroot"
18
+ },
19
+ "description":"DASH stream created",
20
+ "status":"SUCCESS"
21
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "data":{
3
+ "AESKeyCount":5,
4
+ "audioOnly":false,
5
+ "bandwidths":[128],
6
+ "chunkBaseName":"segment",
7
+ "chunkLength":10,
8
+ "chunkOnIDR":true,
9
+ "cleanupDestination":false,
10
+ "cleanupOnClose":false,
11
+ "configIds":[7],
12
+ "createMasterPlaylist":true,
13
+ "drmType":"none",
14
+ "fileLength":0,
15
+ "groupName":"hls",
16
+ "hlsResume":false,
17
+ "hlsVersion":3,
18
+ "keepAlive":true,
19
+ "localStreamNames":["testpullStream"],
20
+ "maxChunkLength":0,
21
+ "offsetTime":0,
22
+ "overwriteDestination":true,
23
+ "playlistLength":10,
24
+ "playlistName":"playlist.m3u8",
25
+ "playlistType":"rolling",
26
+ "staleRetentionCount":10,
27
+ "startOffset":0,
28
+ "targetFolder":"..\/evo-webroot",
29
+ "useByteRange":false,
30
+ "useSystemTime":false
31
+ },
32
+ "description":"HLS stream created",
33
+ "status":"SUCCESS"
34
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "data":{
3
+ "configId":6,
4
+ "emulateUserAgent":"EvoStream Media Server (www.evostream.com)",
5
+ "forceTcp":false,
6
+ "httpProxy":"",
7
+ "keepAlive":true,
8
+ "localStreamName":"testpullStream",
9
+ "operationType":2,
10
+ "pageUrl":"",
11
+ "rtmpAbsoluteTimestamps":false,
12
+ "sendChunkSizeRequest":true,
13
+ "swfUrl":"",
14
+ "targetStreamName":"testpushStream",
15
+ "targetStreamType":"live",
16
+ "targetUri": {
17
+ "document":"",
18
+ "documentPath":"\/",
19
+ "documentWithFullParameters":"",
20
+ "fullDocumentPath":"\/",
21
+ "fullDocumentPathWithParameters":"\/",
22
+ "fullParameters":"",
23
+ "fullUri":"rtmp:\/\/127.0.0.1",
24
+ "fullUriWithAuth":"rtmp:\/\/127.0.0.1",
25
+ "host":"localhost",
26
+ "ip":"127.0.0.1",
27
+ "originalUri":"rtmp:\/\/localhost",
28
+ "parameters":{},
29
+ "password":"",
30
+ "port":1935,
31
+ "portSpecified": false,
32
+ "scheme":"rtmp",
33
+ "userName":""
34
+ },
35
+ "tcUrl":"",
36
+ "tos":256,
37
+ "ttl":256,
38
+ "useSourcePts":false
39
+ },
40
+ "description":"Local stream testpullStream enqueued for pushing to rtmp:\/\/localhost as testpushStream",
41
+ "status":"SUCCESS"
42
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "data":{
3
+ "configId": 6
4
+ },
5
+ "description":"Configuration terminated",
6
+ "status":"SUCCESS"
7
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "appName": "evostreamms",
3
+ "audio": {
4
+ "bytesCount": 190351,
5
+ "codec": "AAAC",
6
+ "codecNumeric": 4702111241970122752,
7
+ "droppedBytesCount": 0,
8
+ "droppedPacketsCount": 0,
9
+ "packetsCount": 681
10
+ }
11
+ "bandwidth": 548,
12
+ "connectionType": 1,
13
+ "creationTimestamp": 1361182998409.229,
14
+ "ip": "192.168.2.88",
15
+ "name": "test"
16
+ "outStreamsUniqueIds": {
17
+ "0": 3
18
+ }
19
+ "port": 49730,
20
+ "pullSettings": {
21
+ "audioCodecBytes": null,
22
+ "configId": 1,
23
+ "emulateUserAgent": "EvoStream Media Server (www.evostream.com) player",
24
+ "forceTcp": false,
25
+ "isAudio": true,
26
+ "keepAlive": true,
27
+ "localStreamName": "test",
28
+ "operationType": 1,
29
+ "pageUrl": null,
30
+ "ppsBytes": null,
31
+ "rtcpDetectionInterval": 10,
32
+ "spsBytes": null,
33
+ "ssmIp": null,
34
+ "swfUrl": null,
35
+ "tcUrl": null,
36
+ "tos": 256,
37
+ "ttl": 256,
38
+ "uri": "rtmp://cp76072.live.edgefcs.net/live/MED-HQ-Flash@42814"
39
+ }
40
+ "queryTimestamp": 1361183030139.685,
41
+ "type": "INR",
42
+ "typeNumeric": 5282249572905648128,
43
+ "uniqueId": 2,
44
+ "upTime": 31730.456,
45
+ "video": {
46
+ "bytesCount": 2346717,
47
+ "codec": "VH264",
48
+ "codecNumeric": 6217274493967007744,
49
+ "droppedBytesCount": 0,
50
+ "droppedPacketsCount": 0,
51
+ "packetsCount": 1147
52
+ }
53
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "appName": "evostreamms",
3
+ "audio": {
4
+ "bytesCount": 0,
5
+ "codec": "AUNK",
6
+ "codecNumeric": 4707755069515235328,
7
+ "droppedBytesCount": 0,
8
+ "droppedPacketsCount": 0,
9
+ "packetsCount": 0
10
+ }
11
+ "bandwidth": 0,
12
+ "connectionType": 1,
13
+ "creationTimestamp": 1361182998409.229,
14
+ "ip": "192.168.1.130",
15
+ "name": "test",
16
+ "port": 49730,
17
+ "pullSettings": {
18
+ "audioCodecBytes": null,
19
+ "configId": 1,
20
+ "emulateUserAgent": "EvoStream Media Server (www.evostream.com) player",
21
+ "forceTcp": false,
22
+ "isAudio": true,
23
+ "keepAlive": true,
24
+ "localStreamName": test,
25
+ "operationType": 1,
26
+ "pageUrl": null,
27
+ "ppsBytes": null,
28
+ "rtcpDetectionInterval": 10,
29
+ "spsBytes": null,
30
+ "ssmIp": null,
31
+ "swfUrl": null,
32
+ "tcUrl": null,
33
+ "tos": 256,
34
+ "ttl": 256,
35
+ "uri": "rtmp://cp76072.live.edgefcs.net/live/MED-HQ-Flash@42814"
36
+ },
37
+ "queryTimestamp": 1361182998424.829,
38
+ "type": "INR",
39
+ "typeNumeric": 5282249572905648128,
40
+ "uniqueId": 2,
41
+ "upTime": 15.600,
42
+ "video": {
43
+ "bytesCount": 0,
44
+ "codec": "VUNK",
45
+ "codecNumeric": 6220964544311721984,
46
+ "droppedBytesCount": 0,
47
+ "droppedPacketsCount": 0,
48
+ "packetsCount": 0
49
+ }
50
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evostream-event
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6.pre.39
5
5
  platform: ruby
6
6
  authors:
7
7
  - VAILLANT Jeremy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-04-11 00:00:00.000000000 Z
11
+ date: 2017-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -78,14 +78,14 @@ dependencies:
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: 0.42.0
81
+ version: 0.48.0
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: 0.42.0
88
+ version: 0.48.0
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: yard
91
91
  requirement: !ruby/object:Gem::Requirement
@@ -169,65 +169,87 @@ dependencies:
169
169
  - !ruby/object:Gem::Version
170
170
  version: 1.8.4
171
171
  - !ruby/object:Gem::Dependency
172
- name: rails
172
+ name: faker
173
173
  requirement: !ruby/object:Gem::Requirement
174
174
  requirements:
175
175
  - - "~>"
176
176
  - !ruby/object:Gem::Version
177
- version: '4.2'
177
+ version: '1.7'
178
178
  - - ">="
179
179
  - !ruby/object:Gem::Version
180
- version: 4.2.8
180
+ version: 1.7.3
181
181
  type: :development
182
182
  prerelease: false
183
183
  version_requirements: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: '4.2'
187
+ version: '1.7'
188
188
  - - ">="
189
189
  - !ruby/object:Gem::Version
190
- version: 4.2.8
190
+ version: 1.7.3
191
191
  - !ruby/object:Gem::Dependency
192
- name: faker
192
+ name: webmock
193
193
  requirement: !ruby/object:Gem::Requirement
194
194
  requirements:
195
195
  - - "~>"
196
196
  - !ruby/object:Gem::Version
197
- version: '1.7'
197
+ version: '2.3'
198
198
  - - ">="
199
199
  - !ruby/object:Gem::Version
200
- version: 1.7.3
200
+ version: 2.3.2
201
201
  type: :development
202
202
  prerelease: false
203
203
  version_requirements: !ruby/object:Gem::Requirement
204
204
  requirements:
205
205
  - - "~>"
206
206
  - !ruby/object:Gem::Version
207
- version: '1.7'
207
+ version: '2.3'
208
208
  - - ">="
209
209
  - !ruby/object:Gem::Version
210
- version: 1.7.3
210
+ version: 2.3.2
211
211
  - !ruby/object:Gem::Dependency
212
- name: webmock
212
+ name: sinatra
213
213
  requirement: !ruby/object:Gem::Requirement
214
214
  requirements:
215
215
  - - "~>"
216
216
  - !ruby/object:Gem::Version
217
- version: '2.3'
218
- - - ">="
217
+ version: 2.0.0.rc2
218
+ type: :development
219
+ prerelease: false
220
+ version_requirements: !ruby/object:Gem::Requirement
221
+ requirements:
222
+ - - "~>"
219
223
  - !ruby/object:Gem::Version
220
- version: 2.3.2
224
+ version: 2.0.0.rc2
225
+ - !ruby/object:Gem::Dependency
226
+ name: capybara
227
+ requirement: !ruby/object:Gem::Requirement
228
+ requirements:
229
+ - - "~>"
230
+ - !ruby/object:Gem::Version
231
+ version: '2.13'
221
232
  type: :development
222
233
  prerelease: false
223
234
  version_requirements: !ruby/object:Gem::Requirement
224
235
  requirements:
225
236
  - - "~>"
226
237
  - !ruby/object:Gem::Version
227
- version: '2.3'
228
- - - ">="
238
+ version: '2.13'
239
+ - !ruby/object:Gem::Dependency
240
+ name: activesupport
241
+ requirement: !ruby/object:Gem::Requirement
242
+ requirements:
243
+ - - "~>"
229
244
  - !ruby/object:Gem::Version
230
- version: 2.3.2
245
+ version: '4.2'
246
+ type: :development
247
+ prerelease: false
248
+ version_requirements: !ruby/object:Gem::Requirement
249
+ requirements:
250
+ - - "~>"
251
+ - !ruby/object:Gem::Version
252
+ version: '4.2'
231
253
  description: |2
232
254
  Manipulate event evostream and send actions to evostream server.
233
255
  email:
@@ -241,36 +263,48 @@ files:
241
263
  - README.md
242
264
  - Rakefile
243
265
  - lib/evostream/event.rb
266
+ - lib/evostream/event/action.rb
244
267
  - lib/evostream/event/commands.rb
245
268
  - lib/evostream/event/commands/create.rb
246
269
  - lib/evostream/event/commands/create/dash.rb
247
270
  - lib/evostream/event/commands/create/hls.rb
248
271
  - lib/evostream/event/commands/destroy.rb
249
272
  - lib/evostream/event/commands/push_stream.rb
250
- - lib/evostream/event/events.rb
251
- - lib/evostream/event/events/in_stream_closed.rb
252
- - lib/evostream/event/events/in_stream_created.rb
253
- - lib/evostream/event/events/out_stream_created.rb
273
+ - lib/evostream/event/event.rb
274
+ - lib/evostream/event/event/events.rb
275
+ - lib/evostream/event/event/events/in_stream_closed.rb
276
+ - lib/evostream/event/event/events/in_stream_created.rb
277
+ - lib/evostream/event/event/events/out_stream_created.rb
254
278
  - lib/evostream/event/info.rb
279
+ - lib/evostream/event/response/mock.rb
280
+ - lib/evostream/event/response/response.rb
255
281
  - lib/evostream/event/service.rb
256
282
  - lib/generators/evostream/initializer_generator.rb
283
+ - spec/evostream/action/action_spec.rb
257
284
  - spec/evostream/commands/create_dash_spec.rb
258
285
  - spec/evostream/commands/create_hls_spec.rb
259
286
  - spec/evostream/commands/create_spec.rb
260
287
  - spec/evostream/commands/destroy_spec.rb
261
288
  - spec/evostream/commands/push_stream_spec.rb
289
+ - spec/evostream/event/event_spec.rb
262
290
  - spec/evostream/events/events_spec.rb
263
291
  - spec/evostream/events/request_in_stream_closed_spec.rb
264
292
  - spec/evostream/events/request_in_stream_created_spec.rb
265
293
  - spec/evostream/events/request_out_stream_created_spec.rb
266
- - spec/evostream/evostream_event_action_spec.rb
267
- - spec/evostream/evostream_event_event_spec.rb
268
- - spec/evostream/evostream_event_method_spec.rb
269
294
  - spec/evostream/evostream_event_spec.rb
295
+ - spec/features/push_stream_spec.rb
296
+ - spec/features/remove_config_spec.rb
270
297
  - spec/spec_helper.rb
271
298
  - spec/support/examples_actions.rb
272
299
  - spec/support/examples_commands.rb
273
300
  - spec/support/examples_events.rb
301
+ - spec/support/fake_evostream.rb
302
+ - spec/support/fixtures/create_dash_stream.json
303
+ - spec/support/fixtures/create_hls_stream.json
304
+ - spec/support/fixtures/push_stream.json
305
+ - spec/support/fixtures/remove_config.json
306
+ - spec/support/fixtures/stream_closed.json
307
+ - spec/support/fixtures/stream_created.json
274
308
  homepage: https://github.com/Dev-Crea/evostream-event
275
309
  licenses:
276
310
  - MIT
@@ -303,9 +337,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
303
337
  version: '0'
304
338
  required_rubygems_version: !ruby/object:Gem::Requirement
305
339
  requirements:
306
- - - ">="
340
+ - - ">"
307
341
  - !ruby/object:Gem::Version
308
- version: '0'
342
+ version: 1.3.1
309
343
  requirements: []
310
344
  rubyforge_project:
311
345
  rubygems_version: 2.4.5
File without changes