propono 2.2.1 → 3.0.0

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
  SHA256:
3
- metadata.gz: f9cdb88cf309add8f6eca413714c45d16f3619f9377d3797537f3926bbf18c1e
4
- data.tar.gz: abb6b2b3100fad110badfae0f035f0422f7a8589d5d9abdd02b5fc4150a320e2
3
+ metadata.gz: a7790d050fa3ee543affb106f6ef8478f7576c07270a7c285ffb3dc60dc65635
4
+ data.tar.gz: 9fab2edbfda2def0ce81b27ff12a9da4d57ecc3b4e45fded5d1513b2a02b855e
5
5
  SHA512:
6
- metadata.gz: e887a264f55dcd2ac09460fd186775ad384c14563d5c5c59f1c34c76a9f8247010a375524a80a0a70bd5218b669abd9af5a90f4b0a97533830ca863e7dff8a82
7
- data.tar.gz: 9ba1c1291f2691cb6c8c3eca2b7e0b3bd519ddb7fd786d9596c2f58b92a79de0ebd478f950e22a2f0edb2d78f1f4fbd3287b060c397f701d2458b1289acd5d94
6
+ metadata.gz: beb2e62ada80b404c4b590b88e2166034217f812483c097e1d1b86585076c261e7bc6b947a1a6e6cfdf3af362c63cdeeb9760d85c3c4dcfed5016b18b14bdd5b
7
+ data.tar.gz: 694302c72bd5aaada4f5472707f52c491d13d2707c7cc3d69575c9330961cd8049e5dcb4baf1c08f24ed5b9d8ae07173849995c922eae559a6746ee806460efb
@@ -0,0 +1,30 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ name: Ruby ${{ matrix.ruby-version }} - ${{ matrix.os }} - ${{ github.event_name }}
12
+ runs-on: ${{ matrix.os }}
13
+ strategy:
14
+ fail-fast: false
15
+ matrix:
16
+ os:
17
+ - ubuntu-latest
18
+ ruby-version: [2.6, 2.7]
19
+
20
+ steps:
21
+ - uses: actions/checkout@v2
22
+
23
+ - name: Set up Ruby
24
+ uses: ruby/setup-ruby@a699edbce608a2c128dedad88e3b6a0e28687b3c
25
+ with:
26
+ ruby-version: ${{ matrix.ruby-version }}
27
+ bundler-cache: true
28
+
29
+ - name: Test
30
+ run: bundle exec rake test:local
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.6.6
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ # 3.0.0 / 2021-01-10
2
+ * [FEATURE] Improve AWS configuration.
3
+
1
4
  # 2.2.0 / 2019-09-21
2
5
  * [FEATURE] Add setting to disable slow queue
3
6
 
data/README.md CHANGED
@@ -21,13 +21,9 @@ Propono::Client.new.publish('some-topic', "The Best Message Ever")
21
21
  # - "I just received The Best Message Ever"
22
22
  ```
23
23
 
24
- ## Changes from v1 to v2
24
+ ## Upgrading
25
25
 
26
- Version 2 of Propono changed a few things:
27
- - We moved from a global interface to a client interface. Rather than calling `publish` and equivalent on `Propono`, you should now initialize a `Propono::Client` and then call everything on that client. This fixes issues with thread safety and global config.
28
- - We have also removed the dependancy on Fog and instead switch to the `sns` and `sqs` mini-gems of `aws-sdk`.
29
- - UDP and TCP support have been removed, and `subscribe_by_post` has been removed.
30
- - We are now using long-polling. This makes Propono **significantly** faster (10-100x).
26
+ Upgrades from v1 to v2, and v2 to v3 are covered in the [upgrade documentation](docs/upgrading.md).
31
27
 
32
28
  ## Installation
33
29
 
@@ -41,18 +37,12 @@ And then execute:
41
37
 
42
38
  ## Usage
43
39
 
44
- The first thing to do is setup some configuration keys for Propono. It's best to do this in an initializer, or at the start of your application.
40
+ The first thing to do is setup some configuration for Propono.
41
+ It's best to do this in an initializer, or at the start of your application.
42
+ If you need to setup AWS authentication, see the [AWS Configuration](#aws-configuration) section.
45
43
 
46
44
  ```ruby
47
45
  client = Propono::Client.new
48
- client.config.access_key = "access-key" # From AWS
49
- client.config.secret_key = "secret-key" # From AWS
50
- client.config.queue_region = "queue-region" # From AWS
51
-
52
- # Or use the IAM profile of the machine
53
- client.config.use_iam_profile = true
54
- client.config.queue_region = "queue-region" # From AWS
55
-
56
46
  ```
57
47
 
58
48
  You can then start publishing messages easily from anywhere in your codebase.
@@ -81,19 +71,35 @@ This is because a queue is established for each application_name/topic combinati
81
71
  * subscribers that share the same `application_name` will act as multiple workers on the same queue. Only one will get to process each message.
82
72
  * subscribers that have a different `application_name` will each get a copy of a message to process independently i.e. acts as a one-to-many broadcast.
83
73
 
84
- ### Configuration
74
+ ### AWS Configuration
75
+
76
+ By default, Propono will create SQS and SNS clients with no options.
77
+ In the absence of options, these clients will make use of the credentials on the current host.
78
+ See the [AWS SDK For Ruby Configuration documentation](https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/setup-config.html) for more details.
79
+
80
+ To manually configure options for use with AWS, use `aws_options`, which sets options to be passed to both clients. For example:
85
81
 
86
- The following configuration settings are available:
82
+ client = Propono::Client.new do |config|
83
+ config.aws_options = {
84
+ region: 'aws_region',
85
+ access_key_id: 'your_access_key_id',
86
+ secret_access_key: 'your_secret_access_key'
87
+ }
88
+ end
89
+
90
+ In addition to this, there are also `sqs_options` and `sns_options`, used to configure each client independently.
91
+ See the [SQS Client](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SQS/Client.html#initialize-instance_method) and [SNS Client](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SNS/Client.html#initialize-instance_method) documentation for available options.
92
+ These individual options are merged with `aws_options` with the per-client options taking precendence.
93
+
94
+ ### General Configuration
87
95
 
88
96
  ```
89
97
  Propono::Client.new do |config|
90
- # Use AWS access and secret keys
91
- config.access_key = "An AWS access key"
92
- config.secret_key = "A AWS secret key"
93
- # Or use AWS IAM profile of the machine
94
- config.use_iam_profile = true
98
+ # AWS Configuration, see above.
99
+ config.aws_options = {...}
100
+ config.sqs_options = {...}
101
+ config.sns_options = {...}
95
102
 
96
- config.queue_region = "An AWS queue region"
97
103
  config.application_name = "A name unique in your network"
98
104
  config.logger = "A logger such as Log4r or Rails.logger"
99
105
 
@@ -124,8 +130,6 @@ end
124
130
 
125
131
  The slow queue can be disabled by setting `slow_queue_enabled` to `false`. This will yield performance improvements if you do not make use of the "slow queue" functionality.
126
132
 
127
- These can all also be set using the `client.config.access_key = "..."` syntax.
128
-
129
133
  ### Is it any good?
130
134
 
131
135
  [Yes.](http://news.ycombinator.com/item?id=3067434)
data/docs/upgrading.md ADDED
@@ -0,0 +1,48 @@
1
+ # Upgrading
2
+
3
+ ## Changes from v2 to v3
4
+
5
+ Version 3 changed the way configuration options for the two AWS services are
6
+ passed to the client gems. Instead of Propono attempting to guess which
7
+ configuration options you might want, it now accepts hashes for AWS
8
+ configuration which are passed directly to the appropriate clients.
9
+
10
+ If you are upgrading from v2 to v3, and using the configuration as previously
11
+ given in the README, you need to change from:
12
+
13
+ ```ruby
14
+ client = Propono::Client.new
15
+ client.config.queue_region = 'aws_region'
16
+ client.config.access_key = 'your_access_key_id'
17
+ client.config.secret_key = 'your_secret_access_key'
18
+ ```
19
+
20
+ To:
21
+
22
+ ```ruby
23
+ client = Propono::Client.new do |config|
24
+ config.aws_options = {
25
+ region: 'aws_region',
26
+ access_key_id: 'your_access_key_id',
27
+ secret_access_key: 'your_secret_access_key'
28
+ }
29
+ end
30
+ ```
31
+
32
+ For a full rundown, see the [AWS Configuration
33
+ section](../README.md#aws-configuration) of the README.
34
+
35
+
36
+ ## Changes from v1 to v2
37
+
38
+ Version 2 of Propono changed a few things:
39
+ - We moved from a global interface to a client interface. Rather than calling
40
+ `publish` and equivalent on `Propono`, you should now initialize a
41
+ `Propono::Client` and then call everything on that client. This fixes issues
42
+ with thread safety and global config.
43
+ - We have also removed the dependancy on Fog and instead switch to the `sns`
44
+ and `sqs` mini-gems of `aws-sdk`.
45
+ - UDP and TCP support have been removed, and `subscribe_by_post` has been
46
+ removed.
47
+ - We are now using long-polling. This makes Propono **significantly** faster
48
+ (10-100x).
@@ -68,11 +68,11 @@ module Propono
68
68
  private
69
69
 
70
70
  def sns_client
71
- @sns_client ||= Aws::SNS::Client.new(aws_config.aws_options)
71
+ @sns_client ||= Aws::SNS::Client.new(aws_config.sns_options)
72
72
  end
73
73
 
74
74
  def sqs_client
75
- @sqs_client ||= Aws::SQS::Client.new(aws_config.aws_options)
75
+ @sqs_client ||= Aws::SQS::Client.new(aws_config.sqs_options)
76
76
  end
77
77
  end
78
78
  end
@@ -5,19 +5,13 @@ module Propono
5
5
  @config = config
6
6
  end
7
7
 
8
- def aws_options
9
- if @config.use_iam_profile
10
- {
11
- :use_iam_profile => true,
12
- :region => @config.queue_region
13
- }
14
- else
15
- {
16
- :access_key_id => @config.access_key,
17
- :secret_access_key => @config.secret_key,
18
- :region => @config.queue_region
19
- }
20
- end
8
+ def sqs_options
9
+ @config.aws_options.merge(@config.sqs_options)
21
10
  end
11
+
12
+ def sns_options
13
+ @config.aws_options.merge(@config.sns_options)
14
+ end
15
+
22
16
  end
23
17
  end
@@ -1,23 +1,28 @@
1
1
  module Propono
2
2
  class Client
3
3
 
4
- # Propono configuration settings.
4
+ # Propono configuration.
5
5
  #
6
6
  # Settings should be set in an initializer or using some
7
- # other method that insures they are set before any
8
- # Propono code is used. They can be set as followed:
7
+ # other method that ensures they are set before any
8
+ # Propono code is used.
9
9
  #
10
- # Propono.config.access_key = "my-access-key"
10
+ # They can be set in one of the following ways:
11
11
  #
12
- # The following settings are allowed:
12
+ # 1. As options passed to <tt>new</tt> as a hash.
13
13
  #
14
- # * <tt>:access_key</tt> - The AWS access key
15
- # * <tt>:secret_key</tt> - The AWS secret key
16
- # * <tt>:queue_region</tt> - The AWS region
17
- # * <tt>:application_name</tt> - The name of the application Propono
18
- # is included in.
19
- # * <tt>:queue_suffix</tt> - Optional string to append to topic and queue names.
20
- # * <tt>:logger</tt> - A logger object that responds to puts.
14
+ # Propono::Client.new(application_name: 'my-application')
15
+ #
16
+ # 2. As options passed to <tt>new</tt> using a block.
17
+ #
18
+ # Propono::Client.new do |config"
19
+ # config.application_name: 'my-application'
20
+ # end
21
+ #
22
+ # 3. By calling the <tt>Propono::Client#configure</tt>.
23
+ # client.configure do |config|
24
+ # config.access_key = "my-access-key"
25
+ # end
21
26
 
22
27
  attr_reader :config, :aws_client
23
28
  def initialize(settings = {}, &block)
@@ -15,23 +15,23 @@ module Propono
15
15
  end
16
16
  end
17
17
 
18
- add_setting :access_key
19
- add_setting :secret_key
20
- add_setting :queue_region
18
+ add_setting :aws_options
19
+ add_setting :sqs_options
20
+ add_setting :sns_options
21
21
  add_setting :application_name
22
22
  add_setting :logger
23
23
  add_setting :max_retries
24
24
  add_setting :num_messages_per_poll
25
25
  add_setting :slow_queue_enabled, required: false
26
-
27
- add_setting :use_iam_profile, required: false
28
- add_setting :queue_suffix, required: false
26
+ add_setting :queue_suffix, required: false
29
27
 
30
28
  def initialize
31
29
  @settings = {
30
+ aws_options: {},
31
+ sqs_options: {},
32
+ sns_options: {},
32
33
  logger: Propono::Logger.new,
33
34
  queue_suffix: "",
34
- use_iam_profile: false,
35
35
  max_retries: 0,
36
36
  num_messages_per_poll: 1,
37
37
  slow_queue_enabled: true
@@ -1,3 +1,3 @@
1
1
  module Propono
2
- VERSION = "2.2.1"
2
+ VERSION = "3.0.0"
3
3
  end
data/propono.gemspec CHANGED
@@ -6,8 +6,8 @@ require 'propono/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "propono"
8
8
  spec.version = Propono::VERSION
9
- spec.authors = ["MalcyL", "iHiD"]
10
- spec.email = ["jez.walker@gmail.com", "c.p.care@gmail.com", "malcolm@landonsonline.me.uk"]
9
+ spec.authors = ["iHiD", "dougal", "ccare", "MalcyL"]
10
+ spec.email = ["jez.walker@gmail.com"]
11
11
  spec.description = %q{Pub / Sub Library using Amazon Web Services}
12
12
  spec.summary = %q{General purpose pub/sub library built on top of AWS SNS and SQS}
13
13
  spec.homepage = "https://github.com/iHiD/propono/"
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency "aws-sdk-sns"
22
22
  spec.add_dependency "aws-sdk-sqs"
23
23
 
24
- spec.add_development_dependency "bundler", "~> 1.3"
24
+ spec.add_development_dependency "bundler", "~> 2.1"
25
25
  spec.add_development_dependency "rake"
26
26
  spec.add_development_dependency "mocha"
27
27
  spec.add_development_dependency "yard"
@@ -7,47 +7,27 @@ module Propono
7
7
  super
8
8
  @config = Propono::Configuration.new
9
9
 
10
- @config.access_key = "test-access-key"
11
- @config.secret_key = "test-secret-key"
12
- @config.queue_region = "test-queue-region"
10
+ @config.aws_options = { a: 'any', b: 'aws-specific' }
11
+ @config.sqs_options = { a: 'sqs', c: 'sqs-specific' }
12
+ @config.sns_options = { a: 'sns', c: 'sns-specific' }
13
13
 
14
14
  @aws_config = Propono::AwsConfig.new(@config)
15
15
  end
16
16
 
17
- def test_access_key
18
- assert_equal "test-access-key", @aws_config.aws_options[:access_key_id]
17
+ def test_overwritten_keys_take_precendence
18
+ assert_equal 'sqs', @aws_config.sqs_options[:a]
19
+ assert_equal 'sns', @aws_config.sns_options[:a]
19
20
  end
20
21
 
21
- def test_secret_key
22
- assert_equal "test-secret-key", @aws_config.aws_options[:secret_access_key]
22
+ def test_common_keys_remain
23
+ assert_equal 'aws-specific', @aws_config.sqs_options[:b]
24
+ assert_equal 'aws-specific', @aws_config.sns_options[:b]
23
25
  end
24
26
 
25
- def test_region
26
- assert_equal "test-queue-region", @aws_config.aws_options[:region]
27
+ def test_specific_keys_remain
28
+ assert_equal 'sqs-specific', @aws_config.sqs_options[:c]
29
+ assert_equal 'sns-specific', @aws_config.sns_options[:c]
27
30
  end
28
31
 
29
- def test_no_iam_profile_selected
30
- assert ! @aws_config.aws_options.has_key?(:use_iam_profile)
31
- end
32
-
33
- def test_use_iam_profile
34
- @config.use_iam_profile = true
35
- assert @aws_config.aws_options[:use_iam_profile]
36
- end
37
-
38
- def test_selecting_use_iam_profile_results_in_no_access_key
39
- @config.use_iam_profile = true
40
- assert ! @aws_config.aws_options.has_key?(:access_key_id)
41
- end
42
-
43
- def test_selecting_use_iam_profile_results_in_no_secret_key
44
- @config.use_iam_profile = true
45
- assert ! @aws_config.aws_options.has_key?(:secret_access_key)
46
- end
47
-
48
- def test_region_when_using_iam_profile
49
- @config.use_iam_profile = true
50
- assert_equal "test-queue-region", @aws_config.aws_options[:region]
51
- end
52
32
  end
53
33
  end
@@ -75,11 +75,11 @@ module Propono
75
75
  end
76
76
 
77
77
  def test_block_configuration_syntax
78
- test_key = "foobar-123-access"
78
+ test_application_name = "my-application"
79
79
  client = Propono::Client.new do |config|
80
- config.access_key = test_key
80
+ config.application_name = test_application_name
81
81
  end
82
- assert_equal test_key, client.config.access_key
82
+ assert_equal test_application_name, client.config.application_name
83
83
  end
84
84
  end
85
85
  end
@@ -1,4 +1,23 @@
1
- access_key: test-aws-access-key
2
- secret_key: test-aws-secret-key
3
- queue_region: test-aws-region
4
1
  application_name: tests-yourinitials
2
+
3
+ # Whatever keys are in aws_options are passed directly to the AWS clients.
4
+
5
+ # Option 1 - Do nothing.
6
+ # AWS clients will either use the default profile in ~/.aws/credentials, or use an IAM Role if on EC2.
7
+
8
+ # Option 2 - Use environment variables
9
+ # You can set a non-default local profile with the AWS_PROFILE environment variable.
10
+ # You can also set keys directly: https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/setup-config.html#aws-ruby-sdk-credentials-environment
11
+
12
+ # Option 3 - Set values directly.
13
+ aws_options:
14
+ # Required
15
+ region: 'test-aws-region'
16
+
17
+ # Set keys:
18
+ # access_key_id: test-aws-access-key
19
+ # secret_access_key: test-aws-secret-key
20
+
21
+ # Or set a profile:
22
+ # profile: profile-name
23
+
@@ -12,37 +12,40 @@ module Propono
12
12
  refute propono_config.nil?
13
13
  end
14
14
 
15
- def test_use_iam_profile_defaults_false
16
- assert ! propono_config.use_iam_profile
15
+ def test_application_name
16
+ application_name = "test-application-name"
17
+ propono_config.application_name = application_name
18
+ assert_equal application_name, propono_config.application_name
17
19
  end
18
20
 
19
- def test_use_iam_profile
20
- propono_config.use_iam_profile = true
21
- assert propono_config.use_iam_profile
21
+ def test_default_aws_options
22
+ assert_equal({}, propono_config.aws_options)
22
23
  end
23
24
 
24
- def test_access_key
25
- access_key = "test-access-key"
26
- propono_config.access_key = access_key
27
- assert_equal access_key, propono_config.access_key
25
+ def test_aws_options
26
+ opts = { foo: 'bar' }
27
+ propono_config.aws_options = opts
28
+ assert_equal opts, propono_config.aws_options
28
29
  end
29
30
 
30
- def test_secret_key
31
- secret_key = "test-secret-key"
32
- propono_config.secret_key = secret_key
33
- assert_equal secret_key, propono_config.secret_key
31
+ def test_default_sqs_options
32
+ assert_equal({}, propono_config.sqs_options)
34
33
  end
35
34
 
36
- def test_queue_region
37
- queue_region = "test-queue-region"
38
- propono_config.queue_region = queue_region
39
- assert_equal queue_region, propono_config.queue_region
35
+ def test_sqs_options
36
+ opts = { foo: 'bar' }
37
+ propono_config.sqs_options = opts
38
+ assert_equal opts, propono_config.sqs_options
40
39
  end
41
40
 
42
- def test_application_name
43
- application_name = "test-application-name"
44
- propono_config.application_name = application_name
45
- assert_equal application_name, propono_config.application_name
41
+ def test_default_sns_options
42
+ assert_equal({}, propono_config.sns_options)
43
+ end
44
+
45
+ def test_sns_options
46
+ opts = { foo: 'bar' }
47
+ propono_config.sns_options = opts
48
+ assert_equal opts, propono_config.sns_options
46
49
  end
47
50
 
48
51
  def test_default_logger
@@ -74,24 +77,6 @@ module Propono
74
77
  assert_equal val, propono_config.num_messages_per_poll
75
78
  end
76
79
 
77
- def test_missing_access_key_throws_exception
78
- assert_raises(ProponoConfigurationError) do
79
- propono_config.access_key
80
- end
81
- end
82
-
83
- def test_missing_secret_key_throws_exception
84
- assert_raises(ProponoConfigurationError) do
85
- propono_config.secret_key
86
- end
87
- end
88
-
89
- def test_missing_queue_region_throws_exception
90
- assert_raises(ProponoConfigurationError) do
91
- propono_config.queue_region
92
- end
93
- end
94
-
95
80
  def test_missing_application_name_throws_exception
96
81
  assert_raises(ProponoConfigurationError) do
97
82
  propono_config.application_name
@@ -6,9 +6,7 @@ module Propono
6
6
  def propono_client
7
7
  config_file = YAML.load_file( File.expand_path('../../config.yml', __FILE__))
8
8
  @propono_client ||= Propono::Client.new do |config|
9
- config.access_key = config_file['access_key']
10
- config.secret_key = config_file['secret_key']
11
- config.queue_region = config_file['queue_region']
9
+ config.aws_options = config_file['aws_options']
12
10
  config.application_name = config_file['application_name']
13
11
  end
14
12
  end
data/test/test_helper.rb CHANGED
@@ -15,9 +15,6 @@ class Minitest::Test
15
15
 
16
16
  def propono_config
17
17
  @propono_config ||= Propono::Configuration.new.tap do |c|
18
- c.access_key = "test-access-key"
19
- c.secret_key = "test-secret-key"
20
- c.queue_region = "us-east-1"
21
18
  c.application_name = "MyApp"
22
19
  c.queue_suffix = ""
23
20
 
metadata CHANGED
@@ -1,15 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: propono
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
- - MalcyL
8
7
  - iHiD
9
- autorequire:
8
+ - dougal
9
+ - ccare
10
+ - MalcyL
11
+ autorequire:
10
12
  bindir: bin
11
13
  cert_chain: []
12
- date: 2020-03-25 00:00:00.000000000 Z
14
+ date: 2021-02-10 00:00:00.000000000 Z
13
15
  dependencies:
14
16
  - !ruby/object:Gem::Dependency
15
17
  name: aws-sdk-sns
@@ -45,14 +47,14 @@ dependencies:
45
47
  requirements:
46
48
  - - "~>"
47
49
  - !ruby/object:Gem::Version
48
- version: '1.3'
50
+ version: '2.1'
49
51
  type: :development
50
52
  prerelease: false
51
53
  version_requirements: !ruby/object:Gem::Requirement
52
54
  requirements:
53
55
  - - "~>"
54
56
  - !ruby/object:Gem::Version
55
- version: '1.3'
57
+ version: '2.1'
56
58
  - !ruby/object:Gem::Dependency
57
59
  name: rake
58
60
  requirement: !ruby/object:Gem::Requirement
@@ -112,20 +114,20 @@ dependencies:
112
114
  description: Pub / Sub Library using Amazon Web Services
113
115
  email:
114
116
  - jez.walker@gmail.com
115
- - c.p.care@gmail.com
116
- - malcolm@landonsonline.me.uk
117
117
  executables: []
118
118
  extensions: []
119
119
  extra_rdoc_files: []
120
120
  files:
121
+ - ".github/workflows/tests.yml"
121
122
  - ".gitignore"
122
- - ".travis.yml"
123
+ - ".ruby-version"
123
124
  - CHANGELOG.md
124
125
  - CONTRIBUTING.md
125
126
  - Gemfile
126
127
  - LICENCE.md
127
128
  - README.md
128
129
  - Rakefile
130
+ - docs/upgrading.md
129
131
  - lib/propono.rb
130
132
  - lib/propono/components/aws_client.rb
131
133
  - lib/propono/components/aws_config.rb
@@ -162,7 +164,7 @@ homepage: https://github.com/iHiD/propono/
162
164
  licenses:
163
165
  - MIT
164
166
  metadata: {}
165
- post_install_message:
167
+ post_install_message:
166
168
  rdoc_options: []
167
169
  require_paths:
168
170
  - lib
@@ -178,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
178
180
  version: '0'
179
181
  requirements: []
180
182
  rubygems_version: 3.0.3
181
- signing_key:
183
+ signing_key:
182
184
  specification_version: 4
183
185
  summary: General purpose pub/sub library built on top of AWS SNS and SQS
184
186
  test_files:
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- rvm:
4
- - 2.2.8
5
- - 2.4.2
6
- script:
7
- - bundle exec rake test:local