workarea-api 4.5.5 → 4.5.6

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: fa798507480bf8e3ebc57e56e44a7e80326c1ab0706052bb1fc5c4998625f524
4
- data.tar.gz: 144a10f0ce2ac2159e893ce8a04b05036eb292013e8336ff41f54e155675a88f
3
+ metadata.gz: 23e26db12c8a362c10c2566b015167cceccbf9b7dcac7e4c5c955b6773debb45
4
+ data.tar.gz: '0248a4920c9998e5c05b56b2f071308a09b6ff62419dd4e735af6bd2e276fb00'
5
5
  SHA512:
6
- metadata.gz: 00be4719b696a19e4b78ef81e187743969f5c5892f6c58c6360d7ab91816478045fe4ffb5f0b05ee53b36d8c47bfb68bdd8d8bb84b996ada61a091171f098d0e
7
- data.tar.gz: d024b0613c0b9a39b13c4cf165b5dddf1e3d56e910172204052cec175d4167e9db50a07efb558a1099c1f007bdd116c830ebb36437a2a4e43702175793de4d02
6
+ metadata.gz: c50f9e9991f07a91fd46d5f81be4fd846264960bd06c942fa190d9959f4559d41c3d5ab76520da0a4c897c600af29afa03a2f4ead5efbb1e496b53d7f7db0a19
7
+ data.tar.gz: bb7316920e34082949eadbd5b9c629d71a019ea9a9271c4226db8bbbef4284c7dc8e395b1d5385230c946cf6b6b251ca258da0cf339adf6c496ab541d1dcd475
@@ -1,3 +1,20 @@
1
+ Workarea Api 4.5.6 (2020-12-02)
2
+ --------------------------------------------------------------------------------
3
+
4
+ * Move creation of date filtering indexes to after initialize
5
+
6
+ The DateFiltering module that the admin API adds to ApplicationDocument
7
+ could cause some indexes on created_at or updated_at to be ignored
8
+ unexpectedly since DateFiltering had already added indexes for those
9
+ fields. Moving the creation of those indexes to after initialization
10
+ ensures the model can define its own indexes first.
11
+
12
+ API-17
13
+
14
+ Matt Duffy
15
+
16
+
17
+
1
18
  Workarea Api 4.5.5 (2020-08-19)
2
19
  --------------------------------------------------------------------------------
3
20
 
data/Rakefile CHANGED
@@ -76,13 +76,13 @@ task :release do
76
76
  # Build documentation
77
77
  #
78
78
  #
79
- system <<~COMMAND
80
- (cd admin && GENERATE_API_DOCS=true bin/rails test) &&
81
- (cd storefront && GENERATE_API_DOCS=true bin/rails test) &&
82
- git add doc/ &&
83
- git commit -am "Update documentation" &&
84
- git push origin HEAD
85
- COMMAND
79
+ #system <<~COMMAND
80
+ #(cd admin && GENERATE_API_DOCS=true bin/rails test) &&
81
+ #(cd storefront && GENERATE_API_DOCS=true bin/rails test) &&
82
+ #git add doc/ &&
83
+ #git commit -am "Update documentation" &&
84
+ #git push origin HEAD
85
+ #COMMAND
86
86
 
87
87
  #
88
88
  # Updating changelog
@@ -4,9 +4,6 @@ module Workarea
4
4
  module DateFiltering
5
5
  extend ActiveSupport::Concern
6
6
  included do
7
- index({ updated_at: 1 })
8
- index({ created_at: 1 })
9
-
10
7
  scope :by_updated_at, ->(starts_at:, ends_at:) do
11
8
  query = criteria
12
9
  query = query.where(:updated_at.gte => starts_at) unless starts_at.nil?
@@ -19,3 +19,4 @@ end
19
19
  require 'workarea/api/version'
20
20
  require 'workarea/api/admin/engine'
21
21
  require 'workarea/api/admin/swagger'
22
+ require 'workarea/api/admin/date_indexes'
@@ -0,0 +1,23 @@
1
+
2
+ module Workarea
3
+ module Api
4
+ module Admin
5
+ module DateIndexes
6
+ extend self
7
+
8
+ # We do this separately from the DateFiltering module to ensure
9
+ # this happens after a model has defined all of its normal indexes. This
10
+ # prevents the date filtering indexes from applying before explicity
11
+ # defined indexes for models that could include options like a TTL.
12
+ def load
13
+ ::Mongoid.models.each do |model|
14
+ if model < ApplicationDocument
15
+ model.index({ updated_at: 1 })
16
+ model.index({ created_at: 1 })
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -14,10 +14,12 @@ module Workarea
14
14
 
15
15
  config.after_initialize do
16
16
  Workarea::Api::Admin::Swagger.generate!
17
+ Workarea::Api::Admin::DateIndexes.load
17
18
  end
18
19
 
19
20
  config.to_prepare do
20
21
  ApplicationDocument.include(DateFiltering)
22
+ Workarea::Api::Admin::DateIndexes.load
21
23
  end
22
24
  end
23
25
  end
@@ -1,5 +1,5 @@
1
1
  module Workarea
2
2
  module Api
3
- VERSION = '4.5.5'.freeze
3
+ VERSION = '4.5.6'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workarea-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.5.5
4
+ version: 4.5.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Crouse
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-08-19 00:00:00.000000000 Z
12
+ date: 2020-12-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: workarea
@@ -37,28 +37,28 @@ dependencies:
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 4.5.5
40
+ version: 4.5.6
41
41
  type: :runtime
42
42
  prerelease: false
43
43
  version_requirements: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 4.5.5
47
+ version: 4.5.6
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: workarea-api-admin
50
50
  requirement: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 4.5.5
54
+ version: 4.5.6
55
55
  type: :runtime
56
56
  prerelease: false
57
57
  version_requirements: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 4.5.5
61
+ version: 4.5.6
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: raddocs
64
64
  requirement: !ruby/object:Gem::Requirement
@@ -163,6 +163,7 @@ files:
163
163
  - admin/config/locales/en.yml
164
164
  - admin/config/routes.rb
165
165
  - admin/lib/workarea/api/admin.rb
166
+ - admin/lib/workarea/api/admin/date_indexes.rb
166
167
  - admin/lib/workarea/api/admin/engine.rb
167
168
  - admin/lib/workarea/api/admin/swagger.rb
168
169
  - admin/test/documentation/workarea/api/admin/categories_documentation_test.rb