openstax_utilities 4.2.3 → 4.5.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 (60) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +1 -1
  3. data/app/controllers/openstax/utilities/status_controller.rb +81 -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.rb +29 -0
  8. data/lib/openstax/utilities/assets/manifest.rb +66 -0
  9. data/lib/openstax/utilities/engine.rb +8 -3
  10. data/lib/openstax/utilities/version.rb +1 -1
  11. data/lib/openstax_utilities.rb +7 -5
  12. metadata +90 -105
  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/javascripts/application.js +0 -13
  18. data/spec/dummy/app/assets/stylesheets/application.css +0 -15
  19. data/spec/dummy/app/controllers/application_controller.rb +0 -5
  20. data/spec/dummy/app/helpers/application_helper.rb +0 -2
  21. data/spec/dummy/app/models/user.rb +0 -2
  22. data/spec/dummy/app/views/layouts/application.html.erb +0 -14
  23. data/spec/dummy/bin/bundle +0 -3
  24. data/spec/dummy/bin/rails +0 -4
  25. data/spec/dummy/bin/rake +0 -4
  26. data/spec/dummy/config.ru +0 -4
  27. data/spec/dummy/config/application.rb +0 -23
  28. data/spec/dummy/config/boot.rb +0 -5
  29. data/spec/dummy/config/database.yml +0 -25
  30. data/spec/dummy/config/environment.rb +0 -5
  31. data/spec/dummy/config/environments/development.rb +0 -37
  32. data/spec/dummy/config/environments/production.rb +0 -78
  33. data/spec/dummy/config/environments/test.rb +0 -39
  34. data/spec/dummy/config/initializers/access_policies.rb +0 -1
  35. data/spec/dummy/config/initializers/assets.rb +0 -8
  36. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  37. data/spec/dummy/config/initializers/cookies_serializer.rb +0 -3
  38. data/spec/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  39. data/spec/dummy/config/initializers/inflections.rb +0 -16
  40. data/spec/dummy/config/initializers/mime_types.rb +0 -4
  41. data/spec/dummy/config/initializers/search_users.rb +0 -26
  42. data/spec/dummy/config/initializers/session_store.rb +0 -3
  43. data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
  44. data/spec/dummy/config/locales/en.yml +0 -23
  45. data/spec/dummy/config/routes.rb +0 -2
  46. data/spec/dummy/config/secrets.yml +0 -22
  47. data/spec/dummy/db/migrate/0_create_users.rb +0 -16
  48. data/spec/dummy/db/schema.rb +0 -29
  49. data/spec/dummy/public/404.html +0 -67
  50. data/spec/dummy/public/422.html +0 -67
  51. data/spec/dummy/public/500.html +0 -66
  52. data/spec/dummy/public/favicon.ico +0 -0
  53. data/spec/factories/user.rb +0 -8
  54. data/spec/lib/openstax/utilities/access_policy_spec.rb +0 -68
  55. data/spec/rails_helper.rb +0 -54
  56. data/spec/routines/openstax/utilities/limit_and_paginate_relation_spec.rb +0 -72
  57. data/spec/routines/openstax/utilities/order_relation_spec.rb +0 -57
  58. data/spec/routines/openstax/utilities/search_and_organize_relation_spec.rb +0 -139
  59. data/spec/routines/openstax/utilities/search_relation_spec.rb +0 -81
  60. data/spec/spec_helper.rb +0 -85
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: ed18a23199f07f7f8edee98bed58cb496e694a48
4
- data.tar.gz: 0eec1854fad5452d7dabfb2f3d4d300669489475
2
+ SHA256:
3
+ metadata.gz: f4d1192783928b4f282084e72dbaf1cbeb322670d8af58bbbc0766f4bf21675f
4
+ data.tar.gz: fdd43154979bc0a7f997e0ce96f6f9322e8aceedce34644fa25b09950f64bf29
5
5
  SHA512:
6
- metadata.gz: 63ca2f1fe8b015b0ca50ef92dcbf1efd4a846ca01b639b0e1b457134908e7ceae619438280e8dfc02bf6843a0ff15434c41612cd2efba1045e000b82d86a2b5d
7
- data.tar.gz: 77e8817b5e830a77c475c8f0f0fa9afd4892e652ecff01aac6c1d128b6604e59adf64fdb6e6a2838b4a07ac6e6a2fbffbf8fb36ac190b511e1c50e820c4658cc
6
+ metadata.gz: 7307c95428084dd8c3545c8bd8e81a830de28e352954ca3f37a66b0b49836140c8e1fbb46fe99485adc1ebf12a0bddba995b401fd9ac138feb10546fde5d7316
7
+ data.tar.gz: 6568675770199473e6d80e5a272bc302b63cb64d0e571280cefc3da0bb5b38238f1d486ad8628e3afa48f6a7bca8e00e614a5ae5fb0e81e74b9d877f7e3e4452
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,81 @@
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 = Delayed::Worker.queue_attributes.keys.map(&:to_s) - [ 'migration' ]
16
+ asgs = [ 'migration', 'web', 'cron', 'background' ] + queues.map do |queue|
17
+ "background-#{queue}"
18
+ end
19
+
20
+ Aws::AutoScaling::Client.new.describe_auto_scaling_groups(
21
+ auto_scaling_group_names: asgs.map do |asg|
22
+ "#{@environment_name}-#{@application_name.downcase}-#{asg}-asg"
23
+ end
24
+ ).auto_scaling_groups.map do |asg|
25
+ name = asg.auto_scaling_group_name.sub(
26
+ "#{@environment_name}-#{@application_name.downcase}-", ''
27
+ ).chomp('-asg')
28
+
29
+ status = if asg.desired_capacity == 0
30
+ if [ 'web', 'background', 'cron' ].include?(name)
31
+ :configuration_error
32
+ elsif asg.instances.size > 0
33
+ :shutting_down
34
+ else
35
+ :sleeping
36
+ end
37
+ elsif asg.instances.all? do |instance|
38
+ instance.health_status != 'Healthy' || instance.lifecycle_state != 'InService'
39
+ end
40
+ case name
41
+ when 'web'
42
+ :down
43
+ when 'background', 'cron'
44
+ :impacted
45
+ else
46
+ :offline
47
+ end
48
+ elsif name == 'migration'
49
+ :migrating
50
+ elsif asg.max_size > 1 && asg.desired_capacity == asg.max_size
51
+ :at_capacity
52
+ elsif asg.instances.size < asg.desired_capacity
53
+ :scaling_up
54
+ elsif asg.instances.size > asg.desired_capacity
55
+ :scaling_down
56
+ else
57
+ :ok
58
+ end
59
+
60
+ [ name, asg.instances.size, asg.max_size, status ]
61
+ end.sort_by do |name, _, _, _|
62
+ case name
63
+ when 'migration'
64
+ '0'
65
+ when 'web'
66
+ '1'
67
+ when 'cron'
68
+ '2'
69
+ else
70
+ "3#{name}"
71
+ end
72
+ end
73
+ end
74
+ end
75
+
76
+ protected
77
+
78
+ def authenticate
79
+ instance_exec &OpenStax::Utilities.configuration.status_authenticate
80
+ end
81
+ 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
@@ -0,0 +1,29 @@
1
+ require 'request_store'
2
+ require_relative 'assets/manifest'
3
+
4
+ module OpenStax::Utilities
5
+ module Assets
6
+ def self.url
7
+ url = Rails.application.secrets.assets_url
8
+ url.ends_with?('/') ? url : "#{url}/"
9
+ end
10
+
11
+ def self.url_for(asset)
12
+ "#{url}#{asset}"
13
+ end
14
+
15
+ def self.manifest
16
+ RequestStore.store[:assets_manifest] ||= OpenStax::Utilities::Assets::Manifest.new
17
+ end
18
+
19
+ def self.tags_for(asset)
20
+ manifest[asset].map do |chunk|
21
+ "<script type='text/javascript' src='#{chunk}' crossorigin='anonymous' async></script>"
22
+ end.join("\n").html_safe
23
+ end
24
+
25
+ def self.digest_for(asset)
26
+ Digest::MD5.hexdigest tags_for(asset)
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,66 @@
1
+ require 'faraday'
2
+ require 'faraday-http-cache'
3
+
4
+ module OpenStax::Utilities
5
+ module Assets
6
+ # Reads and parses the assets manifest
7
+ class Manifest
8
+ attr_reader :version
9
+
10
+ def initialize
11
+ @assets = HashWithIndifferentAccess.new
12
+
13
+ url = OpenStax::Utilities::Assets.url_for('assets.json')
14
+
15
+ begin
16
+ response = self.class.client.get url
17
+
18
+ if response.success?
19
+ contents = JSON.parse response.body
20
+
21
+ @version = contents['version']
22
+
23
+ if contents['entrypoints'].blank?
24
+ Rails.logger.error { "failed to parse manifest from #{url}" }
25
+ else
26
+ contents['entrypoints'].each do |entry_key, chunks|
27
+ @assets[entry_key] = chunks['js'].map do |chunk|
28
+ OpenStax::Utilities::Assets.url_for(chunk)
29
+ end
30
+ end
31
+ end
32
+ else
33
+ Rails.logger.error { "status #{response.status} when reading remote url: #{url}" }
34
+ end
35
+ rescue Faraday::ConnectionFailed, Addressable::URI::InvalidURIError, Errno::ECONNREFUSED
36
+ end
37
+
38
+ Rails.logger.info do
39
+ "running in development mode with assets served by webpack at #{
40
+ OpenStax::Utilities::Assets.url
41
+ }"
42
+ end if @assets.blank?
43
+ end
44
+
45
+ def [](asset)
46
+ return [ OpenStax::Utilities::Assets.url_for("#{asset}.js") ] if @assets.blank?
47
+
48
+ @assets[asset] || []
49
+ end
50
+
51
+ protected
52
+
53
+ # Faraday is probably thread-safe but makes no guarantees
54
+ # https://github.com/lostisland/faraday/issues/370
55
+ # We could potentially reuse the client object
56
+ # However, bugs happen: https://github.com/lostisland/faraday/issues/1068
57
+ def self.client
58
+ Faraday.new do |builder|
59
+ builder.use :http_cache, store: Rails.cache
60
+
61
+ builder.adapter Faraday.default_adapter
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -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.2.3"
3
+ VERSION = '4.5.0'
4
4
  end
5
5
  end
@@ -19,6 +19,7 @@ require "openstax/utilities/acts_as_numberable"
19
19
  require "openstax/utilities/delegate_access_control"
20
20
  require "openstax/utilities/access_policy"
21
21
  require "openstax/utilities/osu_helper"
22
+ require "openstax/utilities/assets"
22
23
 
23
24
  module OpenStax
24
25
  module Utilities
@@ -35,7 +36,7 @@ module OpenStax
35
36
  #
36
37
  # Configuration machinery.
37
38
  #
38
- # To configure OpenStax Utilities, put the following code in your applications
39
+ # To configure OpenStax Utilities, put the following code in your applications
39
40
  # initialization logic (eg. in the config/initializers in a Rails app)
40
41
  #
41
42
  # OpenStax::Utilities.configure do |config|
@@ -43,7 +44,7 @@ module OpenStax
43
44
  # ...
44
45
  # end
45
46
  #
46
-
47
+
47
48
  def configure
48
49
  yield configuration
49
50
  end
@@ -56,11 +57,13 @@ module OpenStax
56
57
  attr_accessor :standard_date_format
57
58
  attr_accessor :standard_datetime_format
58
59
  attr_accessor :standard_time_format
59
-
60
- def initialize
60
+ attr_accessor :status_authenticate
61
+
62
+ def initialize
61
63
  @standard_date_format = "%b %d, %Y"
62
64
  @standard_datetime_format = "%b %d, %Y %l:%M %p %Z"
63
65
  @standard_time_format = "%l:%M %p %Z"
66
+ @status_authenticate = -> { head :forbidden }
64
67
  super
65
68
  end
66
69
  end
@@ -69,4 +72,3 @@ module OpenStax
69
72
 
70
73
  end
71
74
  end
72
-
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openstax_utilities
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.3
4
+ version: 4.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - JP Slavinsky
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-05 00:00:00.000000000 Z
11
+ date: 2021-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,14 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '3.1'
19
+ version: '5.0'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
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: '3.1'
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
@@ -52,6 +58,62 @@ dependencies:
52
58
  - - ">="
53
59
  - !ruby/object:Gem::Version
54
60
  version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: request_store
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: faraday
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: faraday-http-cache
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
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'
55
117
  - !ruby/object:Gem::Dependency
56
118
  name: sqlite3
57
119
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +143,7 @@ dependencies:
81
143
  - !ruby/object:Gem::Version
82
144
  version: '0'
83
145
  - !ruby/object:Gem::Dependency
84
- name: factory_girl_rails
146
+ name: factory_bot_rails
85
147
  requirement: !ruby/object:Gem::Requirement
86
148
  requirements:
87
149
  - - ">="
@@ -109,7 +171,21 @@ dependencies:
109
171
  - !ruby/object:Gem::Version
110
172
  version: '0'
111
173
  - !ruby/object:Gem::Dependency
112
- name: squeel
174
+ name: vcr
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ - !ruby/object:Gem::Dependency
188
+ name: webmock
113
189
  requirement: !ruby/object:Gem::Requirement
114
190
  requirements:
115
191
  - - ">="
@@ -132,16 +208,22 @@ files:
132
208
  - MIT-LICENSE
133
209
  - README.md
134
210
  - Rakefile
211
+ - app/controllers/openstax/utilities/status_controller.rb
135
212
  - app/routines/openstax/utilities/limit_and_paginate_relation.rb
136
213
  - app/routines/openstax/utilities/order_relation.rb
137
214
  - app/routines/openstax/utilities/search_and_organize_relation.rb
138
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
139
218
  - app/views/osu/shared/_action_list.html.erb
219
+ - config/routes.rb
140
220
  - lib/openstax/utilities/access.rb
141
221
  - lib/openstax/utilities/access_policy.rb
142
222
  - lib/openstax/utilities/action_list.rb
143
223
  - lib/openstax/utilities/active_record_extensions.rb
144
224
  - lib/openstax/utilities/acts_as_numberable.rb
225
+ - lib/openstax/utilities/assets.rb
226
+ - lib/openstax/utilities/assets/manifest.rb
145
227
  - lib/openstax/utilities/classy_helper.rb
146
228
  - lib/openstax/utilities/delegate_access_control.rb
147
229
  - lib/openstax/utilities/engine.rb
@@ -158,54 +240,6 @@ files:
158
240
  - lib/openstax/utilities/text.rb
159
241
  - lib/openstax/utilities/version.rb
160
242
  - lib/openstax_utilities.rb
161
- - spec/dummy/README.md
162
- - spec/dummy/Rakefile
163
- - spec/dummy/app/access_policies/dummier_access_policy.rb
164
- - spec/dummy/app/access_policies/dummy_access_policy.rb
165
- - spec/dummy/app/assets/javascripts/application.js
166
- - spec/dummy/app/assets/stylesheets/application.css
167
- - spec/dummy/app/controllers/application_controller.rb
168
- - spec/dummy/app/helpers/application_helper.rb
169
- - spec/dummy/app/models/user.rb
170
- - spec/dummy/app/views/layouts/application.html.erb
171
- - spec/dummy/bin/bundle
172
- - spec/dummy/bin/rails
173
- - spec/dummy/bin/rake
174
- - spec/dummy/config.ru
175
- - spec/dummy/config/application.rb
176
- - spec/dummy/config/boot.rb
177
- - spec/dummy/config/database.yml
178
- - spec/dummy/config/environment.rb
179
- - spec/dummy/config/environments/development.rb
180
- - spec/dummy/config/environments/production.rb
181
- - spec/dummy/config/environments/test.rb
182
- - spec/dummy/config/initializers/access_policies.rb
183
- - spec/dummy/config/initializers/assets.rb
184
- - spec/dummy/config/initializers/backtrace_silencers.rb
185
- - spec/dummy/config/initializers/cookies_serializer.rb
186
- - spec/dummy/config/initializers/filter_parameter_logging.rb
187
- - spec/dummy/config/initializers/inflections.rb
188
- - spec/dummy/config/initializers/mime_types.rb
189
- - spec/dummy/config/initializers/search_users.rb
190
- - spec/dummy/config/initializers/session_store.rb
191
- - spec/dummy/config/initializers/wrap_parameters.rb
192
- - spec/dummy/config/locales/en.yml
193
- - spec/dummy/config/routes.rb
194
- - spec/dummy/config/secrets.yml
195
- - spec/dummy/db/migrate/0_create_users.rb
196
- - spec/dummy/db/schema.rb
197
- - spec/dummy/public/404.html
198
- - spec/dummy/public/422.html
199
- - spec/dummy/public/500.html
200
- - spec/dummy/public/favicon.ico
201
- - spec/factories/user.rb
202
- - spec/lib/openstax/utilities/access_policy_spec.rb
203
- - spec/rails_helper.rb
204
- - spec/routines/openstax/utilities/limit_and_paginate_relation_spec.rb
205
- - spec/routines/openstax/utilities/order_relation_spec.rb
206
- - spec/routines/openstax/utilities/search_and_organize_relation_spec.rb
207
- - spec/routines/openstax/utilities/search_relation_spec.rb
208
- - spec/spec_helper.rb
209
243
  homepage: http://github.com/openstax/openstax_utilities
210
244
  licenses:
211
245
  - MIT
@@ -225,57 +259,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
225
259
  - !ruby/object:Gem::Version
226
260
  version: '0'
227
261
  requirements: []
228
- rubyforge_project:
229
- rubygems_version: 2.2.2
262
+ rubygems_version: 3.1.4
230
263
  signing_key:
231
264
  specification_version: 4
232
265
  summary: Utilities for OpenStax web sites
233
- test_files:
234
- - spec/dummy/app/access_policies/dummier_access_policy.rb
235
- - spec/dummy/app/access_policies/dummy_access_policy.rb
236
- - spec/dummy/app/assets/javascripts/application.js
237
- - spec/dummy/app/assets/stylesheets/application.css
238
- - spec/dummy/app/controllers/application_controller.rb
239
- - spec/dummy/app/helpers/application_helper.rb
240
- - spec/dummy/app/models/user.rb
241
- - spec/dummy/app/views/layouts/application.html.erb
242
- - spec/dummy/bin/bundle
243
- - spec/dummy/bin/rails
244
- - spec/dummy/bin/rake
245
- - spec/dummy/config/application.rb
246
- - spec/dummy/config/boot.rb
247
- - spec/dummy/config/database.yml
248
- - spec/dummy/config/environment.rb
249
- - spec/dummy/config/environments/development.rb
250
- - spec/dummy/config/environments/production.rb
251
- - spec/dummy/config/environments/test.rb
252
- - spec/dummy/config/initializers/access_policies.rb
253
- - spec/dummy/config/initializers/assets.rb
254
- - spec/dummy/config/initializers/backtrace_silencers.rb
255
- - spec/dummy/config/initializers/cookies_serializer.rb
256
- - spec/dummy/config/initializers/filter_parameter_logging.rb
257
- - spec/dummy/config/initializers/inflections.rb
258
- - spec/dummy/config/initializers/mime_types.rb
259
- - spec/dummy/config/initializers/search_users.rb
260
- - spec/dummy/config/initializers/session_store.rb
261
- - spec/dummy/config/initializers/wrap_parameters.rb
262
- - spec/dummy/config/locales/en.yml
263
- - spec/dummy/config/routes.rb
264
- - spec/dummy/config/secrets.yml
265
- - spec/dummy/config.ru
266
- - spec/dummy/db/migrate/0_create_users.rb
267
- - spec/dummy/db/schema.rb
268
- - spec/dummy/public/404.html
269
- - spec/dummy/public/422.html
270
- - spec/dummy/public/500.html
271
- - spec/dummy/public/favicon.ico
272
- - spec/dummy/Rakefile
273
- - spec/dummy/README.md
274
- - spec/factories/user.rb
275
- - spec/lib/openstax/utilities/access_policy_spec.rb
276
- - spec/rails_helper.rb
277
- - spec/routines/openstax/utilities/limit_and_paginate_relation_spec.rb
278
- - spec/routines/openstax/utilities/order_relation_spec.rb
279
- - spec/routines/openstax/utilities/search_and_organize_relation_spec.rb
280
- - spec/routines/openstax/utilities/search_relation_spec.rb
281
- - spec/spec_helper.rb
266
+ test_files: []