workarea-core 3.5.20 → 3.5.21

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: c6261fa607f871ebfb3c05fb63ba16c8fdd08cd08d3dd0e34971ad18b1868f21
4
- data.tar.gz: de5b0e46393f51fd7b1259ed6acd2aac028a4f7d8f311e19f26ec0bf331bffb3
3
+ metadata.gz: 95264a0fb5c9e405852a21f6c8b590f54c97a64b9fb72bc97156dbc57ec36c01
4
+ data.tar.gz: 6811a1d019494db24af2cbc60ec987f71d58c96b27677bc5260780c939619be0
5
5
  SHA512:
6
- metadata.gz: 9c8b791f8733b306e0411a309550e32055716ffd6abb952b9ce9e171bd7b3ade86a7cc6868a2d18a586c1ab847c18552b4f024dd9b2a4280a7eb2cd446fbd825
7
- data.tar.gz: 033113c7e285a55c87f1fbf9b4a108d50767b9fa83041e7a9bb6bb8391164fd5a1986aa59ee1bd7c14ad0f55398d72a094cbbad4ab2c3e93dc37293be28385be
6
+ metadata.gz: 64268e7f2384a9812fd40613e5b0466a5e28945ad7b7f68a3cf33392ff27fb2b1030ce802b69f4d569ee08e5a8efac51cdb0c75359bec5376825018458eef126
7
+ data.tar.gz: 6aa1f3a86cc08c3d2f1ab9dab6bf0087c01533d53b3fc38f157e92a834cbc6cddfc9838a8351a0d4cd1e2d754cc274081e83dfe9b62aa9b6437c47e958762f23
@@ -18,17 +18,23 @@ module Workarea
18
18
 
19
19
  def live_entries
20
20
  @live_entries ||= @products.reduce([]) do |memo, product|
21
- memo + Array.wrap(index_entries_for(product.without_release))
21
+ memo + live_entries_for(product)
22
22
  end
23
23
  end
24
24
 
25
25
  def release_entries
26
- @release_entries ||= @products.reduce([]) do |results, product|
27
- releases = ProductReleases.new(product).releases
26
+ @release_entries ||= @products.reduce([]) do |memo, product|
27
+ memo + release_entries_for(product)
28
+ end
29
+ end
30
+
31
+ def live_entries_for(product)
32
+ Array.wrap(index_entries_for(product.without_release))
33
+ end
28
34
 
29
- results + releases.reduce([]) do |memo, release|
30
- memo + Array.wrap(index_entries_for(product.in_release(release)))
31
- end
35
+ def release_entries_for(product)
36
+ ProductReleases.new(product).releases.reduce([]) do |memo, release|
37
+ memo + Array.wrap(index_entries_for(product.in_release(release)))
32
38
  end
33
39
  end
34
40
 
@@ -1,4 +1,4 @@
1
- unless Workarea.config.skip_service_connections
1
+ unless Workarea.skip_services?
2
2
  Sidekiq::Cron::Job.create(
3
3
  name: 'Workarea::CleanInventoryTransactions',
4
4
  klass: 'Workarea::CleanInventoryTransactions',
@@ -182,6 +182,16 @@ module Workarea
182
182
  def self.deprecation
183
183
  @deprecation ||= ActiveSupport::Deprecation.new('3.6', 'Workarea')
184
184
  end
185
+
186
+ # Whether the app should skip connecting to external services on boot,
187
+ # such as Mongo, Elasticsearch, or Redis. Note that this will break
188
+ # functionality relying on these services.
189
+ #
190
+ # @return [Boolean]
191
+ #
192
+ def self.skip_services?
193
+ !!(ENV['WORKAREA_SKIP_SERVICES'] =~ /true/)
194
+ end
185
195
  end
186
196
 
187
197
  require 'workarea/core'
@@ -940,7 +940,10 @@ module Workarea
940
940
 
941
941
  # Whether the app should skip connecting to external services on boot,
942
942
  # such as Mongo, Elasticsearch, or Redis.
943
- config.skip_service_connections = ENV['WORKAREA_SKIP_SERVICES'].to_s =~ /true/
943
+ #
944
+ # @deprecated Use `Workarea.skip_services?` instead
945
+ #
946
+ config.skip_service_connections = Workarea.skip_services?
944
947
 
945
948
  # This is a feature flag, which enables localized active fields. If you're
946
949
  # upgrading, you can set this to false to avoid having to do a MongoDB
@@ -12,7 +12,8 @@ module Workarea
12
12
  private
13
13
 
14
14
  def check_fieldsets?(name)
15
- ::Mongoid.clients.any? &&
15
+ !Workarea.skip_services? &&
16
+ ::Mongoid.clients.any? &&
16
17
  Configuration::Admin.fields.keys.include?(name.to_s)
17
18
  end
18
19
  end
@@ -5,7 +5,7 @@ module Workarea
5
5
  # removing a previously scheduled job from initializers doesn't
6
6
  # actually stop the job from being enqueued.
7
7
  def self.clean
8
- return if Workarea.config.skip_service_connections
8
+ return if Workarea.skip_services?
9
9
 
10
10
  Sidekiq::Cron::Job.all.each do |job|
11
11
  job.destroy unless const_defined?(job.klass)
@@ -2,7 +2,7 @@ module Workarea
2
2
  module VERSION
3
3
  MAJOR = 3
4
4
  MINOR = 5
5
- PATCH = 20
5
+ PATCH = 21
6
6
  PRE = nil
7
7
  STRING = [MAJOR, MINOR, PATCH, PRE].compact.join('.')
8
8
 
@@ -26,7 +26,7 @@ find their preference.
26
26
 
27
27
  def check_mongo_notable_scan
28
28
  if (Rails.env.development? &&
29
- !Workarea.config.skip_service_connections &&
29
+ !Workarea.skip_services? &&
30
30
  Configuration::Mongoid.indexes_enforced?)
31
31
  warn <<~eos
32
32
  **************************************************
@@ -15,12 +15,8 @@ module Workarea
15
15
  end
16
16
 
17
17
  def test_redis_not_available
18
- @_skip_services = Workarea.config.skip_service_connections
19
- Workarea.config.skip_service_connections = true
20
-
18
+ Workarea.stubs(skip_services?: true)
21
19
  assert_nil(ScheduledJobs.clean)
22
- ensure
23
- Workarea.config.skip_service_connections = @_skip_services
24
20
  end
25
21
  end
26
22
  end
@@ -309,7 +309,8 @@ module Workarea
309
309
  end
310
310
 
311
311
  def test_blank_rows_are_ignored
312
- model = Foo.new(id: nil)
312
+ model = Foo.new
313
+ Foo.fields.keys.each { |f| model.send("#{f}=", nil) }
313
314
 
314
315
  import = create_import(
315
316
  model_type: Foo.name,
@@ -12,8 +12,10 @@ module Workarea
12
12
 
13
13
  StatusReporter.new.perform
14
14
 
15
- assert(2, ActionMailer::Base.deliveries.count)
15
+ assert_equal(2, ActionMailer::Base.deliveries.count)
16
+
16
17
  delivery_emails = ActionMailer::Base.deliveries.map(&:to).flatten
18
+
17
19
  assert(delivery_emails.include?('foo@workarea.com'))
18
20
  assert(delivery_emails.include?('bar@workarea.com'))
19
21
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workarea-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.20
4
+ version: 3.5.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Crouse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-30 00:00:00.000000000 Z
11
+ date: 2020-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler