legion-transport 1.1.0 → 1.1.5

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: 98309d8f3163d1bdba7ca88d6bb959ae5a5d6773e1cc002949dc280bf73d2e36
4
- data.tar.gz: 39548d7f549e30d06fc028a78e77e30c55553e6d6b2d30054c1c9c453b1930e9
3
+ metadata.gz: ff91b1e257e5a3be9580e01bb3517deab0f5f912f031e081469034643e7b1f7a
4
+ data.tar.gz: f940e2c6821e2015fb29e7d32746d53deaf36ad2fdc8c238c0ee519852b0710c
5
5
  SHA512:
6
- metadata.gz: b2fbcaab7ed6fffe61b70ffcccd49241b5deabefb61d5c8c3dc496ce8e06a69248bf9883f8f84fa81b7da56c8e866be888de6a3d0dfda038ae1c21a5126a848e
7
- data.tar.gz: a2738a6e3f83b4f70ba0f16e4809e977209ddbd1eed110fd0267c9ea17326b5a813f88abc3b432a79a20f45eef28b1350b14a98e95b63d8ba9f8bca3f98394d0
6
+ metadata.gz: 379c26d17de282b5342a4300197658ce222a822c2bbe10cffc4f459b7bb13689fe1b145e60237c9579bef58005e37ee60d85c9f18e23292791bfdbddb608604b
7
+ data.tar.gz: d25558b9a4e10049ba187b4174bebf0e198e1914f08422db97ae79090a67e1150b8b9e5f1b795f55030bf3e2a4a0386ae10b67c1c9a19cddcf83fc67ddc6bba3
@@ -0,0 +1,9 @@
1
+ # Legion::Transport ChangeLog
2
+
3
+ ## v1.1.3
4
+ * Adding JRuby support via a different gem
5
+ * Adding more logic on choosing which gem to pick for the CONNECTOR
6
+ * Cleaning up some rubocop things
7
+
8
+ ## v1.1.2
9
+ Updating queue auto_delete to be false
data/README.md CHANGED
@@ -1,35 +1,3 @@
1
1
  # Legion::Transport
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/legion/transport`. To experiment with that code, run `bin/console` for an interactive prompt.
4
-
5
- TODO: Delete this and the text above, and describe your gem
6
-
7
- ## Installation
8
-
9
- Add this line to your application's Gemfile:
10
-
11
- ```ruby
12
- gem 'legion-transport'
13
- ```
14
-
15
- And then execute:
16
-
17
- $ bundle
18
-
19
- Or install it yourself as:
20
-
21
- $ gem install legion-transport
22
-
23
- ## Usage
24
-
25
- TODO: Write usage instructions here
26
-
27
- ## Development
28
-
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
-
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
-
33
- ## Contributing
34
-
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/legion-transport.
3
+ Used to connect Legion to RabbitMQ and is a core component of Legion.
@@ -11,6 +11,7 @@ Gem::Specification.new do |spec|
11
11
  spec.summary = 'Used by Legion to connect with RabbitMQ'
12
12
  spec.description = 'The Legion transport gem'
13
13
  spec.homepage = 'https://bitbucket.org/legion-io/legion-transport'
14
+ spec.required_ruby_version = '>= 2.5.0'
14
15
 
15
16
  spec.metadata = {
16
17
  'bug_tracker_uri' => 'https://legionio.atlassian.net/projects/TRANSPORT/issues',
@@ -29,16 +30,14 @@ Gem::Specification.new do |spec|
29
30
  spec.add_development_dependency 'codecov'
30
31
  spec.add_development_dependency 'legion-logging'
31
32
  spec.add_development_dependency 'legion-settings'
32
- spec.add_development_dependency 'rake', '~> 10.0'
33
- spec.add_development_dependency 'rspec', '~> 3.0'
33
+ spec.add_development_dependency 'march_hare' if RUBY_ENGINE == 'jruby'
34
+ spec.add_development_dependency 'rake'
35
+ spec.add_development_dependency 'rspec'
34
36
  spec.add_development_dependency 'rspec_junit_formatter'
35
37
  spec.add_development_dependency 'rubocop'
36
38
  spec.add_development_dependency 'simplecov'
37
- spec.add_dependency 'concurrent-ruby'
38
39
 
39
- if RUBY_ENGINE == 'jruby'
40
- spec.add_dependency 'march_hare'
41
- else
42
- spec.add_dependency 'bunny'
43
- end
40
+ spec.add_dependency 'bunny'
41
+ spec.add_dependency 'concurrent-ruby'
42
+ spec.add_dependency 'legion-json'
44
43
  end
@@ -3,11 +3,11 @@ require_relative 'transport/settings'
3
3
 
4
4
  module Legion
5
5
  module Transport
6
- if RUBY_ENGINE == 'jruby'
7
- require 'marchhare'
8
- TYPE = 'marchhare'.freeze
9
- CONNECTOR = ::Marchhare
10
- else
6
+ begin
7
+ require 'march_hare'
8
+ TYPE = 'march_hare'.freeze
9
+ CONNECTOR = ::MarchHare
10
+ rescue LoadError
11
11
  require 'bunny'
12
12
  TYPE = 'bunny'.freeze
13
13
  CONNECTOR = ::Bunny
@@ -17,6 +17,5 @@ module Legion
17
17
  require_relative 'transport/common'
18
18
  require_relative 'transport/queue'
19
19
  require_relative 'transport/exchange'
20
- require_relative 'transport/consumer'
21
20
  require_relative 'transport/message'
22
21
  end
@@ -8,11 +8,24 @@ module Legion
8
8
  Legion::Transport::CONNECTOR
9
9
  end
10
10
 
11
- def setup # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity
11
+ def setup # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity,Metrics/MethodLength
12
+ Legion::Logging.info("Using transport connector: #{Legion::Transport::CONNECTOR}")
13
+
12
14
  if @session.respond_to?(:value) && session.respond_to?(:closed?) && session.closed?
13
- @channel_thread = Concurrent::ThreadLocalVar.new
15
+ @channel_thread = Concurrent::ThreadLocalVar.new(nil)
14
16
  elsif @session.respond_to?(:value) && session.respond_to?(:closed?) && session.open?
15
- return nil
17
+ nil
18
+ elsif Legion::Transport::TYPE == 'march_hare'
19
+ @session ||= Concurrent::Atom.new(
20
+ MarchHare.connect(host: Legion::Settings[:transport][:connection][:host],
21
+ vhost: Legion::Settings[:transport][:connection][:vhost],
22
+ user: Legion::Settings[:transport][:connection][:user],
23
+ password: Legion::Settings[:transport][:connection][:password],
24
+ port: Legion::Settings[:transport][:connection][:port])
25
+ )
26
+ @channel_thread = Concurrent::ThreadLocalVar.new(nil)
27
+ session.start
28
+ session.create_channel.basic_qos(1)
16
29
  else
17
30
  @session ||= Concurrent::Atom.new(
18
31
  connector.new(
@@ -21,18 +34,35 @@ module Legion
21
34
  log_level: :info
22
35
  )
23
36
  )
24
- @channel_thread = Concurrent::ThreadLocalVar.new
37
+ @channel_thread = Concurrent::ThreadLocalVar.new(nil)
38
+ session.start
39
+ session.create_channel.basic_qos(20, true)
25
40
  end
26
41
 
27
- session.start
28
- session.create_channel.basic_qos(1, true)
42
+ if session.respond_to? :on_blocked
43
+ session.on_blocked { Legion::Logging.warn('Legion::Transport is being blocked by RabbitMQ!') }
44
+ end
45
+
46
+ if session.respond_to? :on_unblocked
47
+ session.on_unblocked { Legion::Logging.info('Legion::Transport is no longer being blocked by RabbitMQ') }
48
+ end
49
+
50
+ if session.respond_to? :after_recovery_completed
51
+ session.after_recovery_completed { Legion::Logging.info('Legion::Transport has completed recovery') }
52
+ end
53
+
54
+ true
29
55
  end
30
56
 
31
- def channel
57
+ def channel # rubocop:disable Metrics/AbcSize
32
58
  return @channel_thread.value if !@channel_thread.value.nil? && @channel_thread.value.open?
33
59
 
34
60
  @channel_thread.value = session.create_channel
35
- @channel_thread.value.prefetch(Legion::Settings[:transport][:prefetch])
61
+ if Legion::Transport::TYPE == 'march_hare'
62
+ @channel_thread.value.basic_qos(Legion::Settings[:transport][:prefetch])
63
+ else
64
+ @channel_thread.value.prefetch(Legion::Settings[:transport][:prefetch])
65
+ end
36
66
  @channel_thread.value
37
67
  end
38
68
 
@@ -6,8 +6,14 @@ module Legion
6
6
  def initialize(exchange = exchange_name, options = {})
7
7
  @options = options
8
8
  @type = options[:type] || default_type
9
- super(channel, @type, exchange, options_builder(default_options, exchange_options, @options))
10
- rescue ::Bunny::PreconditionFailed, ::Bunny::ChannelAlreadyClosed
9
+ if Legion::Transport::TYPE == 'march_hare'
10
+ super_options = options_builder(default_options, exchange_options, @options)
11
+ super_options[:type] = @type
12
+ super(channel, exchange, **super_options)
13
+ else
14
+ super(channel, @type, exchange, options_builder(default_options, exchange_options, @options))
15
+ end
16
+ rescue Legion::Transport::CONNECTOR::PreconditionFailed, Legion::Transport::CONNECTOR::ChannelAlreadyClosed
11
17
  raise unless @retries.nil?
12
18
 
13
19
  @retries = 1
@@ -39,7 +45,7 @@ module Legion
39
45
  def delete(options = {})
40
46
  super(options)
41
47
  true
42
- rescue ::Bunny::PreconditionFailed
48
+ rescue Legion::Transport::CONNECTOR::PreconditionFailed
43
49
  false
44
50
  end
45
51
 
@@ -26,14 +26,24 @@ module Legion
26
26
  @options
27
27
  end
28
28
 
29
+ def routing_key
30
+ nil
31
+ end
32
+
29
33
  def encode_message
30
34
  message_payload = message
31
- message_payload = Legion::JSON.dump(message_payload) if message_payload.is_a? Hash
32
- @options[:content_encoding] = 'identity'
33
- return message_payload unless encrypt? && Legion::Settings[:crypt][:cs_encrypt_ready]
35
+ message_payload = Legion::JSON.dump(message_payload) unless message_payload.is_a? String
36
+
37
+ if encrypt?
38
+ encrypted = Legion::Crypt.encrypt(message_payload)
39
+ headers[:iv] = encrypted[:iv]
40
+ @options[:content_encoding] = 'encrypted/cs'
41
+ return encrypted[:enciphered_message]
42
+ else
43
+ @options[:content_encoding] = 'identity'
44
+ end
34
45
 
35
- @options[:content_encoding] = 'encrypted/cs'
36
- encrypt_message(message_payload)
46
+ message_payload
37
47
  end
38
48
 
39
49
  def encrypt_message(message, _type = 'cs')
@@ -41,7 +51,7 @@ module Legion
41
51
  end
42
52
 
43
53
  def encrypt?
44
- Legion::Settings[:transport][:messages][:encrypt]
54
+ Legion::Settings[:transport][:messages][:encrypt] && Legion::Settings[:crypt][:cs_encrypt_ready]
45
55
  end
46
56
 
47
57
  def exchange_name
@@ -97,4 +107,4 @@ module Legion
97
107
  end
98
108
  end
99
109
 
100
- Dir[__dir__ + '/messages/*.rb'].sort.each { |file| require file }
110
+ Dir["#{__dir__}/messages/*.rb"].sort.each { |file| require file }
@@ -7,7 +7,8 @@ module Legion::Transport::Messages # rubocop:disable Style/ClassAndModuleChildre
7
7
  end
8
8
 
9
9
  def message
10
- { args: @options[:args] || @options }
10
+ { args: @options[:args] || @options,
11
+ function: function.values[:name] }
11
12
  end
12
13
 
13
14
  def routing_key
@@ -7,9 +7,10 @@ module Legion::Transport::Messages # rubocop:disable Style/ClassAndModuleChildre
7
7
  def message
8
8
  { function: 'push_cluster_secret',
9
9
  node_name: Legion::Settings[:client][:name],
10
- queue_name: "node.#{Legion::Settings['client']['name']}",
10
+ queue_name: "node.#{Legion::Settings[:client][:name]}",
11
11
  runner_class: 'Legion::Extensions::Node::Runners::Crypt',
12
- public_key: Base64.encode64(Legion::Crypt.public_key) }
12
+ # public_key: Base64.encode64(Legion::Crypt.public_key) }
13
+ public_key: Legion::Crypt.public_key }
13
14
  end
14
15
 
15
16
  def exchange
@@ -7,7 +7,7 @@ module Legion
7
7
  retries ||= 0
8
8
  @options = options
9
9
  super(channel, queue, options_builder(default_options, queue_options, options))
10
- rescue ::Bunny::PreconditionFailed
10
+ rescue Legion::Transport::CONNECTOR::PreconditionFailed
11
11
  retries.zero? ? retries = 1 : raise
12
12
  recreate_queue(channel, queue)
13
13
  retry
@@ -25,7 +25,7 @@ module Legion
25
25
  hash[:durable] = true
26
26
  hash[:exclusive] = false
27
27
  hash[:block] = false
28
- hash[:auto_delete] = true
28
+ hash[:auto_delete] = false
29
29
  hash[:arguments] = {
30
30
  'x-max-priority': 255,
31
31
  'x-overflow': 'reject-publish',
@@ -38,7 +38,7 @@ module Legion
38
38
  {}
39
39
  end
40
40
 
41
- def queue_name # rubocop:disable Metrics/AbcSize
41
+ def queue_name
42
42
  ancestor = self.class.ancestors.first.to_s.split('::')
43
43
  name = if ancestor[5].scan(/[A-Z]/).length > 1
44
44
  ancestor[5].gsub!(/(.)([A-Z])/, '\1_\2').downcase!
@@ -51,7 +51,7 @@ module Legion
51
51
  def delete(options = { if_unused: true, if_empty: true })
52
52
  super(options)
53
53
  true
54
- rescue ::Bunny::PreconditionFailed
54
+ rescue Legion::Transport::CONNECTOR::PreconditionFailed
55
55
  false
56
56
  end
57
57
 
@@ -59,7 +59,7 @@ module Legion
59
59
  channel.acknowledge(delivery_tag)
60
60
  end
61
61
 
62
- def reject(delivery_tag, requeue = false)
62
+ def reject(delivery_tag, requeue: false)
63
63
  channel.reject(delivery_tag, requeue)
64
64
  end
65
65
  end
@@ -16,7 +16,7 @@ module Legion
16
16
  password: 'guest',
17
17
  host: '127.0.0.1',
18
18
  port: '5672',
19
- vhost: '/',
19
+ vhost: 'legion',
20
20
  recovery_attempts: 0,
21
21
  logger_level: 'info'
22
22
  }.merge(grab_vault_creds)
@@ -1,5 +1,5 @@
1
1
  module Legion
2
2
  module Transport
3
- VERSION = '1.1.0'.freeze
3
+ VERSION = '1.1.5'.freeze
4
4
  end
5
5
  end
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "transport": {
3
- "vhost": "/"
3
+ "vhost": "legion"
4
4
  }
5
5
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: legion-transport
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-20 00:00:00.000000000 Z
11
+ date: 2020-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -70,30 +70,30 @@ dependencies:
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '10.0'
75
+ version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '10.0'
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '3.0'
89
+ version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: '3.0'
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec_junit_formatter
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: bunny
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: concurrent-ruby
141
155
  requirement: !ruby/object:Gem::Requirement
@@ -151,7 +165,7 @@ dependencies:
151
165
  - !ruby/object:Gem::Version
152
166
  version: '0'
153
167
  - !ruby/object:Gem::Dependency
154
- name: bunny
168
+ name: legion-json
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
171
  - - ">="
@@ -173,17 +187,10 @@ extra_rdoc_files: []
173
187
  files:
174
188
  - ".circleci/config.yml"
175
189
  - ".gitignore"
176
- - ".idea/.rakeTasks"
177
- - ".idea/legion-transport.iml"
178
- - ".idea/misc.xml"
179
- - ".idea/modules.xml"
180
- - ".idea/vagrant.xml"
181
- - ".idea/workspace.xml"
182
190
  - ".rspec"
183
191
  - ".rubocop.yml"
184
192
  - CHANGELOG.md
185
193
  - Gemfile
186
- - Gemfile.lock
187
194
  - README.md
188
195
  - Rakefile
189
196
  - bin/console
@@ -233,7 +240,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
233
240
  requirements:
234
241
  - - ">="
235
242
  - !ruby/object:Gem::Version
236
- version: '0'
243
+ version: 2.5.0
237
244
  required_rubygems_version: !ruby/object:Gem::Requirement
238
245
  requirements:
239
246
  - - ">="
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Settings><!--This file was automatically generated by Ruby plugin.
3
- You are allowed to:
4
- 1. Remove rake task
5
- 2. Add existing rake tasks
6
- To add existing rake tasks automatically delete this file and reload the project.
7
- --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build legion-transport-0.1.1.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Remove any temporary products" fullCmd="clean" taksId="clean" /><RakeTask description="Remove any generated files" fullCmd="clobber" taksId="clobber" /><RakeTask description="Build and install legion-transport-0.1.1.gem into system gems" fullCmd="install" taksId="install" /><RakeGroup description="" fullCmd="" taksId="install"><RakeTask description="Build and install legion-transport-0.1.1.gem into system gems without network access" fullCmd="install:local" taksId="local" /></RakeGroup><RakeTask description="Create tag v0.1.1 and build and push legion-transport-0.1.1.gem to rubygems.org" fullCmd="release[remote]" taksId="release[remote]" /><RakeTask description="Run RSpec code examples" fullCmd="spec" taksId="spec" /><RakeTask description="" fullCmd="default" taksId="default" /><RakeTask description="" fullCmd="release" taksId="release" /><RakeGroup description="" fullCmd="" taksId="release"><RakeTask description="" fullCmd="release:guard_clean" taksId="guard_clean" /><RakeTask description="" fullCmd="release:rubygem_push" taksId="rubygem_push" /><RakeTask description="" fullCmd="release:source_control_push" taksId="source_control_push" /></RakeGroup></RakeGroup></Settings>
@@ -1,46 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="RUBY_MODULE" version="4">
3
- <component name="ModuleRunConfigurationManager">
4
- <shared />
5
- </component>
6
- <component name="NewModuleRootManager">
7
- <content url="file://$MODULE_DIR$">
8
- <sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
9
- </content>
10
- <orderEntry type="jdk" jdkName="RVM: ruby-2.7.0" jdkType="RUBY_SDK" />
11
- <orderEntry type="sourceFolder" forTests="false" />
12
- <orderEntry type="library" scope="PROVIDED" name="amq-protocol (v2.3.2, RVM: ruby-2.7.0) [gem]" level="application" />
13
- <orderEntry type="library" scope="PROVIDED" name="ast (v2.4.1, RVM: ruby-2.7.0) [gem]" level="application" />
14
- <orderEntry type="library" scope="PROVIDED" name="bundler (v2.1.4, RVM: ruby-2.7.0) [gem]" level="application" />
15
- <orderEntry type="library" scope="PROVIDED" name="bunny (v2.15.0, RVM: ruby-2.7.0) [gem]" level="application" />
16
- <orderEntry type="library" scope="PROVIDED" name="chef (v16.1.0, RVM: ruby-2.7.0) [gem]" level="application" />
17
- <orderEntry type="library" scope="PROVIDED" name="codecov (v0.2.2, RVM: ruby-2.7.0) [gem]" level="application" />
18
- <orderEntry type="library" scope="PROVIDED" name="colorize (v0.8.1, RVM: ruby-2.7.0) [gem]" level="application" />
19
- <orderEntry type="library" scope="PROVIDED" name="concurrent-ruby (v1.1.6, RVM: ruby-2.7.0) [gem]" level="application" />
20
- <orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.4.4, RVM: ruby-2.7.0) [gem]" level="application" />
21
- <orderEntry type="library" scope="PROVIDED" name="docile (v1.3.2, RVM: ruby-2.7.0) [gem]" level="application" />
22
- <orderEntry type="library" scope="PROVIDED" name="json (v2.3.1, RVM: ruby-2.7.0) [gem]" level="application" />
23
- <orderEntry type="library" scope="PROVIDED" name="legion-json (v1.1.0, RVM: ruby-2.7.0) [gem]" level="application" />
24
- <orderEntry type="library" scope="PROVIDED" name="legion-logging (v1.0.0, RVM: ruby-2.7.0) [gem]" level="application" />
25
- <orderEntry type="library" scope="PROVIDED" name="legion-settings (v1.1.0, RVM: ruby-2.7.0) [gem]" level="application" />
26
- <orderEntry type="library" scope="PROVIDED" name="multi_json (v1.15.0, RVM: ruby-2.7.0) [gem]" level="application" />
27
- <orderEntry type="library" scope="PROVIDED" name="parallel (v1.19.2, RVM: ruby-2.7.0) [gem]" level="application" />
28
- <orderEntry type="library" scope="PROVIDED" name="parser (v2.7.1.4, RVM: ruby-2.7.0) [gem]" level="application" />
29
- <orderEntry type="library" scope="PROVIDED" name="rainbow (v3.0.0, RVM: ruby-2.7.0) [gem]" level="application" />
30
- <orderEntry type="library" scope="PROVIDED" name="rake (v10.5.0, RVM: ruby-2.7.0) [gem]" level="application" />
31
- <orderEntry type="library" scope="PROVIDED" name="regexp_parser (v1.7.1, RVM: ruby-2.7.0) [gem]" level="application" />
32
- <orderEntry type="library" scope="PROVIDED" name="rexml (v3.2.4, RVM: ruby-2.7.0) [gem]" level="application" />
33
- <orderEntry type="library" scope="PROVIDED" name="rspec (v3.9.0, RVM: ruby-2.7.0) [gem]" level="application" />
34
- <orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.9.2, RVM: ruby-2.7.0) [gem]" level="application" />
35
- <orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.9.2, RVM: ruby-2.7.0) [gem]" level="application" />
36
- <orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.9.1, RVM: ruby-2.7.0) [gem]" level="application" />
37
- <orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.9.3, RVM: ruby-2.7.0) [gem]" level="application" />
38
- <orderEntry type="library" scope="PROVIDED" name="rspec_junit_formatter (v0.4.1, RVM: ruby-2.7.0) [gem]" level="application" />
39
- <orderEntry type="library" scope="PROVIDED" name="rubocop (v0.88.0, RVM: ruby-2.7.0) [gem]" level="application" />
40
- <orderEntry type="library" scope="PROVIDED" name="rubocop-ast (v0.2.0, RVM: ruby-2.7.0) [gem]" level="application" />
41
- <orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.10.1, RVM: ruby-2.7.0) [gem]" level="application" />
42
- <orderEntry type="library" scope="PROVIDED" name="simplecov (v0.18.5, RVM: ruby-2.7.0) [gem]" level="application" />
43
- <orderEntry type="library" scope="PROVIDED" name="simplecov-html (v0.12.2, RVM: ruby-2.7.0) [gem]" level="application" />
44
- <orderEntry type="library" scope="PROVIDED" name="unicode-display_width (v1.7.0, RVM: ruby-2.7.0) [gem]" level="application" />
45
- </component>
46
- </module>
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="JavaScriptSettings">
4
- <option name="languageLevel" value="ES6" />
5
- </component>
6
- <component name="ProjectRootManager" version="2" project-jdk-name="RVM: ruby-2.6.3" project-jdk-type="RUBY_SDK" />
7
- </project>
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/legion-transport.iml" filepath="$PROJECT_DIR$/.idea/legion-transport.iml" />
6
- </modules>
7
- </component>
8
- </project>
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VagrantProjectSettings">
4
- <option name="instanceFolder" value="" />
5
- <option name="provider" value="" />
6
- </component>
7
- </project>
@@ -1,14 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="CoverageOptionsProvider">
4
- <option name="myAddOrReplace" value="0" />
5
- </component>
6
- <component name="Git.Settings">
7
- <option name="PUSH_AUTO_UPDATE" value="true" />
8
- <option name="ROOT_SYNC" value="DONT_SYNC" />
9
- </component>
10
- <component name="ProjectId" id="1Yl3FmIkCYycmcT2pLSMAlN1Wxa" />
11
- <component name="PropertiesComponent">
12
- <property name="settings.editor.selected.configurable" value="reference.settingsdialog.project.vagrant" />
13
- </component>
14
- </project>