openstax_utilities 4.3.0 → 4.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/app/controllers/openstax/utilities/status_controller.rb +82 -0
  4. data/app/views/layouts/openstax/utilities/status.html.erb +24 -0
  5. data/app/views/openstax/utilities/status/index.html.erb +52 -0
  6. data/config/routes.rb +3 -0
  7. data/lib/openstax/utilities/assets/manifest.rb +4 -0
  8. data/lib/openstax/utilities/engine.rb +8 -3
  9. data/lib/openstax/utilities/version.rb +1 -1
  10. data/lib/openstax_utilities.rb +2 -0
  11. metadata +31 -117
  12. data/spec/cassettes/OpenStax_Utilities_Assets/loading_remote_manifest/uses_remote_json.yml +0 -353
  13. data/spec/dummy/README.md +0 -1
  14. data/spec/dummy/Rakefile +0 -6
  15. data/spec/dummy/app/access_policies/dummier_access_policy.rb +0 -10
  16. data/spec/dummy/app/access_policies/dummy_access_policy.rb +0 -10
  17. data/spec/dummy/app/assets/config/manifest.js +0 -3
  18. data/spec/dummy/app/assets/javascripts/application.js +0 -13
  19. data/spec/dummy/app/assets/stylesheets/application.css +0 -15
  20. data/spec/dummy/app/controllers/application_controller.rb +0 -5
  21. data/spec/dummy/app/helpers/application_helper.rb +0 -2
  22. data/spec/dummy/app/models/user.rb +0 -2
  23. data/spec/dummy/app/views/layouts/application.html.erb +0 -14
  24. data/spec/dummy/bin/bundle +0 -3
  25. data/spec/dummy/bin/rails +0 -4
  26. data/spec/dummy/bin/rake +0 -4
  27. data/spec/dummy/config.ru +0 -4
  28. data/spec/dummy/config/application.rb +0 -18
  29. data/spec/dummy/config/boot.rb +0 -5
  30. data/spec/dummy/config/database.yml +0 -25
  31. data/spec/dummy/config/environment.rb +0 -5
  32. data/spec/dummy/config/environments/development.rb +0 -37
  33. data/spec/dummy/config/environments/production.rb +0 -78
  34. data/spec/dummy/config/environments/test.rb +0 -39
  35. data/spec/dummy/config/initializers/access_policies.rb +0 -1
  36. data/spec/dummy/config/initializers/assets.rb +0 -8
  37. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  38. data/spec/dummy/config/initializers/cookies_serializer.rb +0 -3
  39. data/spec/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  40. data/spec/dummy/config/initializers/inflections.rb +0 -16
  41. data/spec/dummy/config/initializers/mime_types.rb +0 -4
  42. data/spec/dummy/config/initializers/search_users.rb +0 -26
  43. data/spec/dummy/config/initializers/session_store.rb +0 -3
  44. data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
  45. data/spec/dummy/config/locales/en.yml +0 -23
  46. data/spec/dummy/config/routes.rb +0 -2
  47. data/spec/dummy/config/secrets.yml +0 -19
  48. data/spec/dummy/db/migrate/0_create_users.rb +0 -16
  49. data/spec/dummy/db/schema.rb +0 -29
  50. data/spec/dummy/db/test.sqlite3 +0 -0
  51. data/spec/dummy/log/test.log +0 -32144
  52. data/spec/dummy/public/404.html +0 -67
  53. data/spec/dummy/public/422.html +0 -67
  54. data/spec/dummy/public/500.html +0 -66
  55. data/spec/dummy/public/favicon.ico +0 -0
  56. data/spec/dummy/tmp/cache/C09/760/6da7b2a29da9cb0f80ef102c7effb91fab3374db +0 -0
  57. data/spec/factories/user.rb +0 -8
  58. data/spec/lib/openstax/utilities/access_policy_spec.rb +0 -68
  59. data/spec/lib/openstax/utilities/assets_spec.rb +0 -40
  60. data/spec/rails_helper.rb +0 -53
  61. data/spec/routines/openstax/utilities/limit_and_paginate_relation_spec.rb +0 -72
  62. data/spec/routines/openstax/utilities/order_relation_spec.rb +0 -55
  63. data/spec/routines/openstax/utilities/search_and_organize_relation_spec.rb +0 -139
  64. data/spec/routines/openstax/utilities/search_relation_spec.rb +0 -81
  65. data/spec/spec_helper.rb +0 -85
  66. data/spec/vcr_helper.rb +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fc7366a73ada7f334bd42ca06e41c0043f92e0d2aff08969f5ec1759275b1885
4
- data.tar.gz: 86fa1a1dbe2f4c8521afb1b6ce635b63c8c2140e6656de3028887fd22d7872d1
3
+ metadata.gz: 23e87d67c828892be99027a2ab746eb1399cbf8a806705fa985e462d9d42d7fd
4
+ data.tar.gz: 25567a40d96ad15ebb84d0d9a2f8902bc3d702a2248ea1ce0e72274f56489355
5
5
  SHA512:
6
- metadata.gz: 26555b0e6c39c6cc7c3615d6e948849cce15aa9ff67ebafb5fad260ddb408a8003598b2e588f10ea1c2ed55256ade08a223ad92517b8fcc45adfeb8976583322
7
- data.tar.gz: c36765470b6f808e37e2145538b49b56312568ea9ddc73f8329c94e7eb593ecaa8fa5bd09f999db6e7deda74a6792a8c85fdfa4bd2e850a63239de85fbaebd4d
6
+ metadata.gz: 8cb88e2b59504aa7eadea2a6fad09fc6b1e33250c790781ca99a953218c0a4e2192207279c4a0d9a3153d0d1532eac31ce4c4e7fe96363c3ea2be797dcb9b6c5
7
+ data.tar.gz: d7da39d27d6f853a6d92c19d79011b742b4e5e3429b7ebbbcb5fa6e321484265df3339c12299f8c92f0a327470b7cbc76b62903286d581a4d65543386548b3b1
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  OpenStax Utilities
2
2
  ==================
3
3
 
4
- [![Build Status](https://travis-ci.org/openstax/openstax_utilities.svg?branch=master)](https://travis-ci.org/openstax/openstax_utilities)
4
+ [![Tests](https://github.com/openstax/openstax_utilities/workflows/Tests/badge.svg)](https://github.com/openstax/openstax_utilities/actions?query=workflow:Tests)
5
5
  [![Code Climate](https://codeclimate.com/github/openstax/openstax_utilities.png)](https://codeclimate.com/github/openstax/openstax_utilities)
6
6
 
7
7
  A set of common utilities for the various OpenStax projects.
@@ -0,0 +1,82 @@
1
+ require 'aws-sdk-autoscaling'
2
+
3
+ class OpenStax::Utilities::StatusController < ActionController::Base
4
+ before_action :authenticate
5
+
6
+ layout 'openstax/utilities/status'
7
+
8
+ def index
9
+ @application_name = Rails.application.class.parent_name
10
+ @environment_name = Rails.application.secrets.environment_name
11
+
12
+ @statuses = if @environment_name == 'development'
13
+ [ [ 'local', 1, 1, :ok ] ]
14
+ else
15
+ queues = Module.const_defined?(:Delayed) && Delayed.const_defined?(:Worker) ?
16
+ Delayed::Worker.queue_attributes.keys.map(&:to_s) - [ 'migration' ] : []
17
+ asgs = [ 'migration', 'web', 'cron', 'background' ] + queues.map do |queue|
18
+ "background-#{queue}"
19
+ end
20
+
21
+ Aws::AutoScaling::Client.new.describe_auto_scaling_groups(
22
+ auto_scaling_group_names: asgs.map do |asg|
23
+ "#{@environment_name}-#{@application_name.downcase}-#{asg}-asg"
24
+ end
25
+ ).auto_scaling_groups.map do |asg|
26
+ name = asg.auto_scaling_group_name.sub(
27
+ "#{@environment_name}-#{@application_name.downcase}-", ''
28
+ ).chomp('-asg')
29
+
30
+ status = if asg.desired_capacity == 0
31
+ if [ 'web', 'background', 'cron' ].include?(name)
32
+ :configuration_error
33
+ elsif asg.instances.size > 0
34
+ :shutting_down
35
+ else
36
+ :sleeping
37
+ end
38
+ elsif asg.instances.all? do |instance|
39
+ instance.health_status != 'Healthy' || instance.lifecycle_state != 'InService'
40
+ end
41
+ case name
42
+ when 'web'
43
+ :down
44
+ when 'background', 'cron'
45
+ :impacted
46
+ else
47
+ :offline
48
+ end
49
+ elsif name == 'migration'
50
+ :migrating
51
+ elsif asg.max_size > 1 && asg.desired_capacity == asg.max_size
52
+ :at_capacity
53
+ elsif asg.instances.size < asg.desired_capacity
54
+ :scaling_up
55
+ elsif asg.instances.size > asg.desired_capacity
56
+ :scaling_down
57
+ else
58
+ :ok
59
+ end
60
+
61
+ [ name, asg.instances.size, asg.max_size, status ]
62
+ end.sort_by do |name, _, _, _|
63
+ case name
64
+ when 'migration'
65
+ '0'
66
+ when 'web'
67
+ '1'
68
+ when 'cron'
69
+ '2'
70
+ else
71
+ "3#{name}"
72
+ end
73
+ end
74
+ end
75
+ end
76
+
77
+ protected
78
+
79
+ def authenticate
80
+ instance_exec &OpenStax::Utilities.configuration.status_authenticate
81
+ end
82
+ end
@@ -0,0 +1,24 @@
1
+ <% title = "OpenStax #{@application_name} (#{@environment_name}) Status" %>
2
+
3
+ <!DOCTYPE html>
4
+ <html>
5
+ <head>
6
+ <title><%= title %></title>
7
+ <meta name="robots" content="noindex">
8
+ <meta http-equiv="content-type" content="text/html; charset=UTF8" />
9
+
10
+ <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
11
+ <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
12
+ <%= csrf_meta_tags %>
13
+ </head>
14
+
15
+ <body id="status" class="status">
16
+ <div class="body">
17
+ <div class="body-container" style="margin-left: 16px;">
18
+ <header><h2><%= title %></h2></header>
19
+
20
+ <%= yield %>
21
+ </div>
22
+ </div>
23
+ </body>
24
+ </html>
@@ -0,0 +1,52 @@
1
+ <%
2
+ status_icons = {
3
+ configuration_error: '💀',
4
+ down: '💥',
5
+ impacted: '⚠️',
6
+ at_capacity: '🥵',
7
+ migrating: '💾',
8
+ scaling_down: '📉',
9
+ scaling_up: '📈',
10
+ ok: '✅',
11
+ shutting_down: '😪',
12
+ offline: '🔌',
13
+ sleeping: '💤'
14
+ }
15
+
16
+ backend = @application_name == 'Tutor' ? 'tutor-server' : @application_name.downcase
17
+ %>
18
+
19
+ <h3>Versions</h3>
20
+
21
+ <ul>
22
+ <li>
23
+ Backend (<%= backend %>): <%= Rails.application.secrets.release_version || 'not deployed' %>
24
+ </li>
25
+ <li>
26
+ Frontend (tutor-js): <%= OpenStax::Utilities::Assets.manifest.version || 'not deployed' %>
27
+ </li>
28
+ <li>
29
+ Deployment (tutor-deployment): <%=
30
+ Rails.application.secrets.deployment_version || 'not deployed'
31
+ %>
32
+ </li>
33
+ </ul>
34
+
35
+ <% status = status_icons.find { |key, _| @statuses.any? { |_, _, _, status| status == key } } %>
36
+ <h3>Status: <% unless status.nil? %><span title="<%=
37
+ status.first.to_s.humanize
38
+ %>"><%= status.second %></span><% end %></h3>
39
+
40
+ <ul>
41
+ <% @statuses.map do |name, num_instances, max_size, status| %>
42
+ <% title = status.to_s.humanize %>
43
+ <li>
44
+ <%= name.to_s.underscore.humanize %>: <%= num_instances %>/<%= max_size %>
45
+ <% if status_icons.has_key? status %>
46
+ <span title="<%= title %>"><%= status_icons[status] %></span>
47
+ <% else %>
48
+ (<%= title %>)
49
+ <% end %>
50
+ </li>
51
+ <% end %>
52
+ </ul>
@@ -0,0 +1,3 @@
1
+ OpenStax::Utilities::Engine.routes.draw do
2
+ root to: 'status#index'
3
+ end
@@ -5,6 +5,8 @@ module OpenStax::Utilities
5
5
  module Assets
6
6
  # Reads and parses the assets manifest
7
7
  class Manifest
8
+ attr_reader :version
9
+
8
10
  def initialize
9
11
  @assets = HashWithIndifferentAccess.new
10
12
 
@@ -16,6 +18,8 @@ module OpenStax::Utilities
16
18
  if response.success?
17
19
  contents = JSON.parse response.body
18
20
 
21
+ @version = contents['version']
22
+
19
23
  if contents['entrypoints'].blank?
20
24
  Rails.logger.error { "failed to parse manifest from #{url}" }
21
25
  else
@@ -2,6 +2,7 @@ require "openstax/utilities/action_list"
2
2
 
3
3
  ActiveSupport::Inflector.inflections do |inflect|
4
4
  inflect.acronym 'OpenStax'
5
+ inflect.acronym 'OSU'
5
6
  end
6
7
 
7
8
  module OpenStax
@@ -10,14 +11,18 @@ module OpenStax
10
11
  isolate_namespace OpenStax::Utilities
11
12
 
12
13
  config.after_initialize do
13
- OSU::SITE_NAME = ::Rails.application.class.parent_name.underscore
14
+ if Rails::VERSION::MAJOR == 6
15
+ OSU::SITE_NAME = ::Rails.application.class.module_parent_name.underscore
16
+ else
17
+ OSU::SITE_NAME = ::Rails.application.class.parent_name.underscore
18
+ end
14
19
  end
15
20
 
16
21
  config.generators do |g|
17
- g.test_framework :rspec, :fixture => false
22
+ g.test_framework :rspec, fixture: false
18
23
  g.assets false
19
24
  g.helper false
20
25
  end
21
26
  end
22
27
  end
23
- end
28
+ end
@@ -1,5 +1,5 @@
1
1
  module OpenStax
2
2
  module Utilities
3
- VERSION = '4.3.0'
3
+ VERSION = '4.5.1'
4
4
  end
5
5
  end
@@ -57,11 +57,13 @@ module OpenStax
57
57
  attr_accessor :standard_date_format
58
58
  attr_accessor :standard_datetime_format
59
59
  attr_accessor :standard_time_format
60
+ attr_accessor :status_authenticate
60
61
 
61
62
  def initialize
62
63
  @standard_date_format = "%b %d, %Y"
63
64
  @standard_datetime_format = "%b %d, %Y %l:%M %p %Z"
64
65
  @standard_time_format = "%l:%M %p %Z"
66
+ @status_authenticate = -> { head :forbidden }
65
67
  super
66
68
  end
67
69
  end
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openstax_utilities
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.0
4
+ version: 4.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - JP Slavinsky
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-28 00:00:00.000000000 Z
11
+ date: 2021-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '5.0'
20
+ - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: '5.2'
22
+ version: '7.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: '5.2'
29
+ version: '5.0'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '7.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: lev
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +100,20 @@ dependencies:
94
100
  - - ">="
95
101
  - !ruby/object:Gem::Version
96
102
  version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: aws-sdk-autoscaling
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
97
117
  - !ruby/object:Gem::Dependency
98
118
  name: sqlite3
99
119
  requirement: !ruby/object:Gem::Requirement
@@ -188,11 +208,15 @@ files:
188
208
  - MIT-LICENSE
189
209
  - README.md
190
210
  - Rakefile
211
+ - app/controllers/openstax/utilities/status_controller.rb
191
212
  - app/routines/openstax/utilities/limit_and_paginate_relation.rb
192
213
  - app/routines/openstax/utilities/order_relation.rb
193
214
  - app/routines/openstax/utilities/search_and_organize_relation.rb
194
215
  - app/routines/openstax/utilities/search_relation.rb
216
+ - app/views/layouts/openstax/utilities/status.html.erb
217
+ - app/views/openstax/utilities/status/index.html.erb
195
218
  - app/views/osu/shared/_action_list.html.erb
219
+ - config/routes.rb
196
220
  - lib/openstax/utilities/access.rb
197
221
  - lib/openstax/utilities/access_policy.rb
198
222
  - lib/openstax/utilities/action_list.rb
@@ -216,61 +240,6 @@ files:
216
240
  - lib/openstax/utilities/text.rb
217
241
  - lib/openstax/utilities/version.rb
218
242
  - lib/openstax_utilities.rb
219
- - spec/cassettes/OpenStax_Utilities_Assets/loading_remote_manifest/uses_remote_json.yml
220
- - spec/dummy/README.md
221
- - spec/dummy/Rakefile
222
- - spec/dummy/app/access_policies/dummier_access_policy.rb
223
- - spec/dummy/app/access_policies/dummy_access_policy.rb
224
- - spec/dummy/app/assets/config/manifest.js
225
- - spec/dummy/app/assets/javascripts/application.js
226
- - spec/dummy/app/assets/stylesheets/application.css
227
- - spec/dummy/app/controllers/application_controller.rb
228
- - spec/dummy/app/helpers/application_helper.rb
229
- - spec/dummy/app/models/user.rb
230
- - spec/dummy/app/views/layouts/application.html.erb
231
- - spec/dummy/bin/bundle
232
- - spec/dummy/bin/rails
233
- - spec/dummy/bin/rake
234
- - spec/dummy/config.ru
235
- - spec/dummy/config/application.rb
236
- - spec/dummy/config/boot.rb
237
- - spec/dummy/config/database.yml
238
- - spec/dummy/config/environment.rb
239
- - spec/dummy/config/environments/development.rb
240
- - spec/dummy/config/environments/production.rb
241
- - spec/dummy/config/environments/test.rb
242
- - spec/dummy/config/initializers/access_policies.rb
243
- - spec/dummy/config/initializers/assets.rb
244
- - spec/dummy/config/initializers/backtrace_silencers.rb
245
- - spec/dummy/config/initializers/cookies_serializer.rb
246
- - spec/dummy/config/initializers/filter_parameter_logging.rb
247
- - spec/dummy/config/initializers/inflections.rb
248
- - spec/dummy/config/initializers/mime_types.rb
249
- - spec/dummy/config/initializers/search_users.rb
250
- - spec/dummy/config/initializers/session_store.rb
251
- - spec/dummy/config/initializers/wrap_parameters.rb
252
- - spec/dummy/config/locales/en.yml
253
- - spec/dummy/config/routes.rb
254
- - spec/dummy/config/secrets.yml
255
- - spec/dummy/db/migrate/0_create_users.rb
256
- - spec/dummy/db/schema.rb
257
- - spec/dummy/db/test.sqlite3
258
- - spec/dummy/log/test.log
259
- - spec/dummy/public/404.html
260
- - spec/dummy/public/422.html
261
- - spec/dummy/public/500.html
262
- - spec/dummy/public/favicon.ico
263
- - spec/dummy/tmp/cache/C09/760/6da7b2a29da9cb0f80ef102c7effb91fab3374db
264
- - spec/factories/user.rb
265
- - spec/lib/openstax/utilities/access_policy_spec.rb
266
- - spec/lib/openstax/utilities/assets_spec.rb
267
- - spec/rails_helper.rb
268
- - spec/routines/openstax/utilities/limit_and_paginate_relation_spec.rb
269
- - spec/routines/openstax/utilities/order_relation_spec.rb
270
- - spec/routines/openstax/utilities/search_and_organize_relation_spec.rb
271
- - spec/routines/openstax/utilities/search_relation_spec.rb
272
- - spec/spec_helper.rb
273
- - spec/vcr_helper.rb
274
243
  homepage: http://github.com/openstax/openstax_utilities
275
244
  licenses:
276
245
  - MIT
@@ -294,59 +263,4 @@ rubygems_version: 3.1.4
294
263
  signing_key:
295
264
  specification_version: 4
296
265
  summary: Utilities for OpenStax web sites
297
- test_files:
298
- - spec/rails_helper.rb
299
- - spec/spec_helper.rb
300
- - spec/vcr_helper.rb
301
- - spec/factories/user.rb
302
- - spec/dummy/app/models/user.rb
303
- - spec/dummy/app/assets/javascripts/application.js
304
- - spec/dummy/app/assets/stylesheets/application.css
305
- - spec/dummy/app/assets/config/manifest.js
306
- - spec/dummy/app/views/layouts/application.html.erb
307
- - spec/dummy/app/access_policies/dummier_access_policy.rb
308
- - spec/dummy/app/access_policies/dummy_access_policy.rb
309
- - spec/dummy/app/controllers/application_controller.rb
310
- - spec/dummy/app/helpers/application_helper.rb
311
- - spec/dummy/tmp/cache/C09/760/6da7b2a29da9cb0f80ef102c7effb91fab3374db
312
- - spec/dummy/db/migrate/0_create_users.rb
313
- - spec/dummy/db/test.sqlite3
314
- - spec/dummy/db/schema.rb
315
- - spec/dummy/log/test.log
316
- - spec/dummy/README.md
317
- - spec/dummy/public/favicon.ico
318
- - spec/dummy/public/422.html
319
- - spec/dummy/public/404.html
320
- - spec/dummy/public/500.html
321
- - spec/dummy/config.ru
322
- - spec/dummy/bin/rails
323
- - spec/dummy/bin/rake
324
- - spec/dummy/bin/bundle
325
- - spec/dummy/config/application.rb
326
- - spec/dummy/config/initializers/filter_parameter_logging.rb
327
- - spec/dummy/config/initializers/search_users.rb
328
- - spec/dummy/config/initializers/assets.rb
329
- - spec/dummy/config/initializers/cookies_serializer.rb
330
- - spec/dummy/config/initializers/inflections.rb
331
- - spec/dummy/config/initializers/backtrace_silencers.rb
332
- - spec/dummy/config/initializers/wrap_parameters.rb
333
- - spec/dummy/config/initializers/access_policies.rb
334
- - spec/dummy/config/initializers/session_store.rb
335
- - spec/dummy/config/initializers/mime_types.rb
336
- - spec/dummy/config/locales/en.yml
337
- - spec/dummy/config/routes.rb
338
- - spec/dummy/config/database.yml
339
- - spec/dummy/config/environment.rb
340
- - spec/dummy/config/boot.rb
341
- - spec/dummy/config/environments/production.rb
342
- - spec/dummy/config/environments/test.rb
343
- - spec/dummy/config/environments/development.rb
344
- - spec/dummy/config/secrets.yml
345
- - spec/dummy/Rakefile
346
- - spec/lib/openstax/utilities/access_policy_spec.rb
347
- - spec/lib/openstax/utilities/assets_spec.rb
348
- - spec/routines/openstax/utilities/limit_and_paginate_relation_spec.rb
349
- - spec/routines/openstax/utilities/search_relation_spec.rb
350
- - spec/routines/openstax/utilities/order_relation_spec.rb
351
- - spec/routines/openstax/utilities/search_and_organize_relation_spec.rb
352
- - spec/cassettes/OpenStax_Utilities_Assets/loading_remote_manifest/uses_remote_json.yml
266
+ test_files: []