sanger_warren 0.1.0 → 0.3.0

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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +39 -0
  3. data/.rubocop.yml +11 -5
  4. data/.yardopts +3 -0
  5. data/CHANGELOG.md +34 -1
  6. data/Gemfile +6 -1
  7. data/Gemfile.lock +71 -39
  8. data/README.md +133 -43
  9. data/bin/console +3 -6
  10. data/bin/warren +6 -0
  11. data/lefthook.yml +53 -0
  12. data/lib/sanger_warren.rb +8 -0
  13. data/lib/warren.rb +49 -4
  14. data/lib/warren/app.rb +9 -0
  15. data/lib/warren/app/cli.rb +35 -0
  16. data/lib/warren/app/config.rb +110 -0
  17. data/lib/warren/app/consumer.rb +65 -0
  18. data/lib/warren/app/consumer_add.rb +131 -0
  19. data/lib/warren/app/consumer_start.rb +40 -0
  20. data/lib/warren/app/exchange_config.rb +151 -0
  21. data/lib/warren/app/templates/subscriber.tt +32 -0
  22. data/lib/warren/callback.rb +2 -7
  23. data/lib/warren/callback/broadcast_with_warren.rb +1 -1
  24. data/lib/warren/client.rb +111 -0
  25. data/lib/warren/config/consumers.rb +123 -0
  26. data/lib/warren/delay_exchange.rb +85 -0
  27. data/lib/warren/den.rb +93 -0
  28. data/lib/warren/exceptions.rb +15 -0
  29. data/lib/warren/fox.rb +165 -0
  30. data/lib/warren/framework_adaptor/rails_adaptor.rb +135 -0
  31. data/lib/warren/handler.rb +16 -0
  32. data/lib/warren/handler/base.rb +20 -0
  33. data/lib/warren/handler/broadcast.rb +54 -18
  34. data/lib/warren/handler/log.rb +50 -10
  35. data/lib/warren/handler/test.rb +101 -14
  36. data/lib/warren/helpers/state_machine.rb +55 -0
  37. data/lib/warren/log_tagger.rb +58 -0
  38. data/lib/warren/message.rb +7 -5
  39. data/lib/warren/message/full.rb +20 -0
  40. data/lib/warren/message/short.rb +49 -4
  41. data/lib/warren/message/simple.rb +15 -0
  42. data/lib/warren/railtie.rb +12 -0
  43. data/lib/warren/subscriber/base.rb +151 -0
  44. data/lib/warren/subscription.rb +78 -0
  45. data/lib/warren/version.rb +2 -1
  46. data/sanger-warren.gemspec +5 -4
  47. metadata +49 -6
  48. data/.travis.yml +0 -6
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Warren
4
- VERSION = '0.1.0'
4
+ # Gem version number. Bump prior to release of new version
5
+ VERSION = '0.3.0'
5
6
  end
@@ -15,24 +15,25 @@ Gem::Specification.new do |spec|
15
15
  DESCRIPTION
16
16
  spec.homepage = 'https://github.com/sanger/warren'
17
17
  spec.required_ruby_version = Gem::Requirement.new('>= 2.6.0')
18
-
19
- # spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
18
+ spec.license = 'GPL'
20
19
 
21
20
  spec.metadata['homepage_uri'] = spec.homepage
22
21
  spec.metadata['source_code_uri'] = 'https://github.com/sanger/warren'
23
22
  spec.metadata['changelog_uri'] = 'https://github.com/sanger/warren/blob/master/CHANGELOG.md'
23
+ spec.metadata['documentation_uri'] = 'https://rubydoc.info/gems/sanger_warren'
24
24
 
25
25
  # Specify which files should be added to the gem when it is released.
26
26
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
27
27
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
28
28
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
29
29
  end
30
- spec.bindir = 'exe'
31
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
30
+ spec.bindir = 'bin'
31
+ spec.executables << 'warren'
32
32
  spec.require_paths = ['lib']
33
33
 
34
34
  # Dependencies
35
35
  spec.add_runtime_dependency 'bunny', '~> 2.17.0'
36
36
  spec.add_runtime_dependency 'connection_pool', '~> 2.2.0'
37
37
  spec.add_runtime_dependency 'multi_json', '~> 1.0'
38
+ spec.add_runtime_dependency 'thor', '~> 1.1.0'
38
39
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sanger_warren
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Glover
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-30 00:00:00.000000000 Z
11
+ date: 2021-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bunny
@@ -52,19 +52,35 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: thor
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 1.1.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 1.1.0
55
69
  description: |
56
70
  Warren provides connection pooling for RabbitMQ connections. It also adds
57
71
  the ability to switch in different adapters during testing and development.
58
72
  email:
59
73
  - james.glover@sanger.ac.uk
60
- executables: []
74
+ executables:
75
+ - warren
61
76
  extensions: []
62
77
  extra_rdoc_files: []
63
78
  files:
79
+ - ".github/workflows/ruby.yml"
64
80
  - ".gitignore"
65
81
  - ".rspec"
66
82
  - ".rubocop.yml"
67
- - ".travis.yml"
83
+ - ".yardopts"
68
84
  - CHANGELOG.md
69
85
  - Gemfile
70
86
  - Gemfile.lock
@@ -73,30 +89,57 @@ files:
73
89
  - Rakefile
74
90
  - bin/console
75
91
  - bin/setup
92
+ - bin/warren
76
93
  - checksums
77
94
  - complete
95
+ - lefthook.yml
96
+ - lib/sanger_warren.rb
78
97
  - lib/warren.rb
98
+ - lib/warren/app.rb
99
+ - lib/warren/app/cli.rb
100
+ - lib/warren/app/config.rb
101
+ - lib/warren/app/consumer.rb
102
+ - lib/warren/app/consumer_add.rb
103
+ - lib/warren/app/consumer_start.rb
104
+ - lib/warren/app/exchange_config.rb
105
+ - lib/warren/app/templates/subscriber.tt
79
106
  - lib/warren/callback.rb
80
107
  - lib/warren/callback/broadcast_associated_with_warren.rb
81
108
  - lib/warren/callback/broadcast_with_warren.rb
109
+ - lib/warren/client.rb
110
+ - lib/warren/config/consumers.rb
111
+ - lib/warren/delay_exchange.rb
112
+ - lib/warren/den.rb
113
+ - lib/warren/exceptions.rb
114
+ - lib/warren/fox.rb
115
+ - lib/warren/framework_adaptor/rails_adaptor.rb
82
116
  - lib/warren/handler.rb
117
+ - lib/warren/handler/base.rb
83
118
  - lib/warren/handler/broadcast.rb
84
119
  - lib/warren/handler/log.rb
85
120
  - lib/warren/handler/test.rb
121
+ - lib/warren/helpers/state_machine.rb
122
+ - lib/warren/log_tagger.rb
86
123
  - lib/warren/message.rb
87
124
  - lib/warren/message/full.rb
88
125
  - lib/warren/message/short.rb
126
+ - lib/warren/message/simple.rb
127
+ - lib/warren/railtie.rb
128
+ - lib/warren/subscriber/base.rb
129
+ - lib/warren/subscription.rb
89
130
  - lib/warren/version.rb
90
131
  - object_types
91
132
  - objects/root.dat
92
133
  - proxy_types
93
134
  - sanger-warren.gemspec
94
135
  homepage: https://github.com/sanger/warren
95
- licenses: []
136
+ licenses:
137
+ - GPL
96
138
  metadata:
97
139
  homepage_uri: https://github.com/sanger/warren
98
140
  source_code_uri: https://github.com/sanger/warren
99
141
  changelog_uri: https://github.com/sanger/warren/blob/master/CHANGELOG.md
142
+ documentation_uri: https://rubydoc.info/gems/sanger_warren
100
143
  post_install_message:
101
144
  rdoc_options: []
102
145
  require_paths:
data/.travis.yml DELETED
@@ -1,6 +0,0 @@
1
- ---
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - 2.7.1
6
- before_install: gem install bundler -v 2.1.4