evostream-event 0.2.5 → 0.2.6.pre.39

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: 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