stream_data 0.0.4 → 0.0.5

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
  SHA256:
3
- metadata.gz: aba4aa5cca911f4e32f1c61102925ce43606908826ef725d3d5d2007eafe1cfa
4
- data.tar.gz: 114c5b072167f7fa49b3d60625ee5377a4c9a57662f43e8dbc25113403ad4738
3
+ metadata.gz: 4544dba104783a1fdf056cd2df75947827503ef16bf2d2424815b873dd32720e
4
+ data.tar.gz: 1b9e0b2c210e566e13d80db9d486f9949da34e75e776511136b766a041b3389a
5
5
  SHA512:
6
- metadata.gz: 6fc7580f00a2b692cff96b57980326119db6faa8348fcc04eadc1839b85715afbb4acbd05dfb0d022d9593d66fb5595969b5f68971c6fec833f8618cc108b453
7
- data.tar.gz: ecbe8e0f17a8f5de8c8a1d8d70b206aff5b745482ddf25c9af9cd5413355b9f9aa80fc36b5c263ac87aac9bb9a3b17bb78a550a82b55374abfac725736790217
6
+ metadata.gz: 3e83934966c5134bda2f600ba46a4a72d7cf64b386d6007b6c9020d2a4618fb739cf92ac621880e1d4debb40600678573684ace2e42c6113d4eba45c2872b101
7
+ data.tar.gz: 9c68253bbc23f49c8b5ef677af6cc16b299e9fb9c477a7ad527786f32a88a0716e4e83fdc71cb640550a536e40984ae9fe20a679d1b613c577fa6393048bbe28
@@ -1,37 +1,37 @@
1
- module StreamData
2
- require 'aws-sdk'
3
- # require 'aws-sdk-firehose'
1
+ # module StreamData
2
+ # require 'aws-sdk'
3
+ # # require 'aws-sdk-firehose'
4
4
 
5
- class AwsStreamService
5
+ # class AwsStreamService
6
6
 
7
- def initialize(config,opts)
8
- set_connection(config,opts)
9
- end
7
+ # def initialize(config,opts)
8
+ # set_connection(config,opts)
9
+ # end
10
10
 
11
- def send_stream(raw_data)
12
- begin
13
- @firehose.put_record({ delivery_stream_name: @config[:delivery_stream_name], record: { data: raw_data}})
14
- rescue Aws::Errors::MissingCredentialsError => e
15
- raise (StandardError.new("Error with the connection. Check the config. Error message === #{e.message}"))
16
- end
17
- end
11
+ # def send_stream(raw_data)
12
+ # begin
13
+ # @firehose.put_record({ delivery_stream_name: @config[:delivery_stream_name], record: { data: raw_data}})
14
+ # rescue Aws::Errors::MissingCredentialsError => e
15
+ # raise (StandardError.new("Error with the connection. Check the config. Error message === #{e.message}"))
16
+ # end
17
+ # end
18
18
 
19
- private
19
+ # private
20
20
 
21
- def set_connection(config,opts)
22
- @config = config || {}
23
- @opts = opts || {}
24
- begin
25
- @firehose = Aws::Firehose::Client.new(
26
- access_key_id: config[:service_key],
27
- secret_access_key: config[:service_secret],
28
- region: config[:region]
29
- )
30
- rescue Exception => e
31
- raise (StandardError.new("Could not establish a connection. Check the config. Error message === #{e.message}"))
32
- end
21
+ # def set_connection(config,opts)
22
+ # @config = config || {}
23
+ # @opts = opts || {}
24
+ # begin
25
+ # @firehose = Aws::Firehose::Client.new(
26
+ # access_key_id: config[:service_key],
27
+ # secret_access_key: config[:service_secret],
28
+ # region: config[:region]
29
+ # )
30
+ # rescue Exception => e
31
+ # raise (StandardError.new("Could not establish a connection. Check the config. Error message === #{e.message}"))
32
+ # end
33
33
 
34
- end
34
+ # end
35
35
 
36
- end
37
- end
36
+ # end
37
+ # end
data/lib/config.rb ADDED
@@ -0,0 +1,26 @@
1
+ module StreamData
2
+ class Config
3
+ require 'aws_stream_service'
4
+ require 'yaml'
5
+
6
+ def self.read_config
7
+ @config = YAML.load_file('lib/stream_config.yml')
8
+ end
9
+
10
+ ALLOWED_SERVICE_TYPES = ["azure","aws"]
11
+
12
+ def self.validate_config
13
+ begin
14
+ @config["type_of_service"] || raise(StandardError.new('Specify the servcie type'))
15
+ @config["service_key"] || raise(StandardError.new('Service Key is missing, please specify in config'))
16
+ @config["service_secret"] || raise(StandardError.new('Service Secret is missing, please specify in config'))
17
+ @config["delivery_stream_name"] || raise(StandardError.new('Delivery Stream Name is missing, please specify in config'))
18
+ @config["region"] || raise(StandardError.new('Specify the Region'))
19
+ raise(StandardError.new('This type of servcie is not supported')) unless ALLOWED_SERVICE_TYPES.include?(@config["type_of_service"])
20
+ rescue Exception => e
21
+ raise(StandardError.new("Not a valid config, #{e.message}"))
22
+ end
23
+ end
24
+
25
+ end
26
+ end
data/lib/stream.rb ADDED
@@ -0,0 +1,31 @@
1
+ module StreamData
2
+ class Stream
3
+
4
+ def self.send_stream(config,raw_data)
5
+ set_connection(config)
6
+ send_raw_data(raw_data)
7
+ end
8
+
9
+ def self.set_connection(config)
10
+ @config = config || {}
11
+ begin
12
+ @firehose = Aws::Firehose::Client.new(
13
+ access_key_id: @config["service_key"],
14
+ secret_access_key: @config["service_secret"],
15
+ region: @config["region"]
16
+ )
17
+ rescue Exception => e
18
+ raise (StandardError.new("Could not establish a connection. Check the config. Error message === #{e.message}"))
19
+ end
20
+ end
21
+
22
+ def self.send_raw_data(raw_data)
23
+ begin
24
+ @firehose.put_record({ delivery_stream_name: @config["delivery_stream_name"], record: { data: raw_data}})
25
+ rescue Aws::Errors::MissingCredentialsError => e
26
+ raise (StandardError.new("Error with the connection. Check the config. Error message === #{e.message}"))
27
+ end
28
+ end
29
+
30
+ end
31
+ end
@@ -0,0 +1,5 @@
1
+ type_of_service: <%= ENV["STREAM_TYPE"] %>
2
+ service_key: <%= ENV["STREAM_KEY"] %>
3
+ service_secret: <%= ENV["STREAM_SECRET"] %>
4
+ delivery_stream_name: <%= ENV["STREAM_NAME"] %>
5
+ region: <%= ENV["STREAM_REGION"] %>
data/lib/stream_data.rb CHANGED
@@ -1,40 +1,13 @@
1
1
  require 'aws_stream_service'
2
+ require 'config'
3
+ require 'stream'
2
4
  module StreamData
3
- class Config
4
-
5
- ALLOWED_SERVICE_TYPES = ["azure","aws"]
6
-
7
- def initialize(config,opts={})
8
- initialize_config(config,opts)
9
- end
10
-
11
- def send_stream(raw_data)
12
- return "String data can only be sent via this service" unless raw_data.is_a? String
13
- case @config[:type_of_service]
14
- when "aws"
15
- aws_firehose = StreamData::AwsStreamService.new(@config,@opts)
16
- aws_firehose.send_stream(raw_data)
17
- else
18
- return "No data sent"
19
- end
20
- end
21
-
22
- private
23
-
24
- def initialize_config(config,opts)
25
- begin
26
- @config = config || {}
27
- @opts = opts || {}
28
- @config[:type_of_service] || raise(StandardError.new('Specify the servcie type'))
29
- @config[:service_key] || raise(StandardError.new('Service Key is missing, please specify in config'))
30
- @config[:service_secret] || raise(StandardError.new('Service Secret is missing, please specify in config'))
31
- @config[:delivery_stream_name] || raise(StandardError.new('Delivery Stream Name is missing, please specify in config'))
32
- @config[:region] || raise(StandardError.new('Specify the Region'))
33
- raise(StandardError.new('This type of servcie is not supported')) unless ALLOWED_SERVICE_TYPES.include?(@config[:type_of_service])
34
- rescue Exception => e
35
- raise(StandardError.new("Not a valid config, #{e.message}"))
36
- end
37
- end
5
+
6
+ @config = StreamData::Config.read_config
38
7
 
8
+ def self.send(raw_data)
9
+ StreamData::Config.validate_config
10
+ StreamData::Stream.send_stream(@config,raw_data)
39
11
  end
12
+
40
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stream_data
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Saran
@@ -37,6 +37,9 @@ extensions: []
37
37
  extra_rdoc_files: []
38
38
  files:
39
39
  - lib/aws_stream_service.rb
40
+ - lib/config.rb
41
+ - lib/stream.rb
42
+ - lib/stream_config.yml
40
43
  - lib/stream_data.rb
41
44
  homepage: ''
42
45
  licenses: