activeadmin-rb 1.5.0 → 1.5.1

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: 3a41a8ee3cc7e2785ddb82d531a92b44f96bd93228384fcf5641872ca9dbe482
4
- data.tar.gz: e3ed462ae8748510d698ac1b79499ac295f8bc4b9667da0324e0e92c3d5df4d0
3
+ metadata.gz: 5ced5dec79ddb057e1fc140d5eba3046d2b16462252732ae69fbbd1df9b13fda
4
+ data.tar.gz: 8a4c7165581418d169b8b621e2441bfe459650918d19a625b40834fbe8c2e126
5
5
  SHA512:
6
- metadata.gz: d7ab0bc94e0895c641b3b64ffd687e0783e9ffcd3cda1a4da783683934939e41a0bea6ba3a2d06e0f61ae5aacb121d3baadfd9726b10cb13caae29536ab50f2c
7
- data.tar.gz: 0a0900dba255ecae449f82b5813dc0614a8b57f5b937b6fc94b784bf0d991dc13a7b88d9253c26e7d21064355ba52c7a3ae6c46c422ddc445739498f5b867135
6
+ metadata.gz: 6ad1faa5eb2118b68378c42b4e6c32a2d56f3ad6e2491212ced8ef74bbb0a13da3ea8aebe9556358761f343bd80f9b2a5ca1ae1d16efbad42a6ac848f11ed08f
7
+ data.tar.gz: f8214d1c7f9eb277cd14f5c719feb9d3b163d52c621ebb809e42bec70565633bbc35431d730f376f50d052d6ce80cd6b1a433497781b34d85894a679d7e1b031
@@ -30,11 +30,10 @@ rvm:
30
30
  - 2.6
31
31
 
32
32
  gemfile:
33
- - gemfiles/rails_42.gemfile
33
+ - gemfiles/rails_60.gemfile
34
34
  - gemfiles/rails_50.gemfile
35
35
  - gemfiles/rails_51.gemfile
36
36
  - gemfiles/rails_52.gemfile
37
- - gemfiles/rails_60.gemfile
38
37
 
39
38
  env:
40
39
  global:
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.5.1 [☰](https://github.com/varyonic/activeadmin-rb/compare/v1.5.0...v1.5.1)
4
+
5
+ * More fixes to support final release of Rails 6.0.
6
+
3
7
  ## 1.5.0 [☰](https://github.com/varyonic/activeadmin-rb/compare/v1.4.0...v1.5.0)
4
8
 
5
9
  ### Enhancements
@@ -47,6 +51,10 @@
47
51
 
48
52
  * gemspec should have more permissive ransack dependency. [#5448] by [@varyonic]
49
53
 
54
+ ### Removals
55
+
56
+ * Rails 4.2 support has been dropped. [#5104][] by [@javierjulio][] and [@deivid-rodriguez][]
57
+
50
58
  ## 1.3.0 [☰](https://github.com/activeadmin/activeadmin/compare/v1.2.1...v1.3.0)
51
59
 
52
60
  ### Enhancements
@@ -292,6 +300,7 @@ Please check [0-6-stable] for previous changes.
292
300
  [#5069]: https://github.com/activeadmin/activeadmin/pull/5069
293
301
  [#5088]: https://github.com/activeadmin/activeadmin/pull/5088
294
302
  [#5093]: https://github.com/activeadmin/activeadmin/pull/5093
303
+ [#5104]: https://github.com/activeadmin/activeadmin/pull/5104
295
304
  [#5119]: https://github.com/activeadmin/activeadmin/pull/5119
296
305
  [#5120]: https://github.com/activeadmin/activeadmin/pull/5120
297
306
  [#5125]: https://github.com/activeadmin/activeadmin/pull/5125
data/Gemfile CHANGED
@@ -24,7 +24,7 @@ gem 'yard' # Documentation generator
24
24
  gem 'redcarpet', platforms: :mri # Markdown implementation (for yard)
25
25
  gem 'kramdown', platforms: :jruby # Markdown implementation (for yard)
26
26
 
27
- group :development do
27
+ group :development, :test do
28
28
  # Debugging
29
29
  gem 'better_errors' # Web UI to debug exceptions. Go to /__better_errors to access the latest one
30
30
 
@@ -45,6 +45,5 @@ group :test do
45
45
  gem 'launchy'
46
46
  gem 'rspec-rails'
47
47
  gem 'i18n-spec'
48
- gem 'sqlite3', '< 1.4', platforms: :mri
49
48
  gem 'poltergeist'
50
49
  end
@@ -25,9 +25,9 @@ Gem::Specification.new do |s|
25
25
  s.add_dependency 'inherited_resources', '>= 1.9.0'
26
26
  s.add_dependency 'jquery-rails', '>= 4.2.0'
27
27
  s.add_dependency 'jquery-ui-rails', '~> 6.0'
28
- s.add_dependency 'kaminari', '>= 0.15'
29
- s.add_dependency 'railties', '>= 4.2'
28
+ s.add_dependency 'kaminari', '>= 1.0.1'
29
+ s.add_dependency 'railties', '>= 5.0'
30
30
  s.add_dependency 'ransack', '>= 1.8.7'
31
- s.add_dependency 'sass', '~> 3.1'
32
- s.add_dependency 'sprockets', '< 4.1'
31
+ s.add_dependency 'sass-rails'
32
+ s.add_dependency 'sprockets'
33
33
  end
@@ -3,10 +3,12 @@ source "https://rubygems.org"
3
3
  eval_gemfile(File.expand_path(File.join("..", "Gemfile"), __dir__))
4
4
 
5
5
  gem "rails", "5.0.7"
6
+ gem "sprockets", "< 4"
6
7
  gem "devise", "~> 4.0"
7
8
  gem "draper", "~> 3.0"
8
9
  gem "ransack", "~> 1.8.7" # 2.x for Rails 5.2+ only.
9
10
  gem "rails-i18n"
11
+ gem 'sqlite3', '< 1.4', platforms: :mri
10
12
  gem "activerecord-jdbcsqlite3-adapter", "~> 50.0", platforms: :jruby
11
13
 
12
14
  gemspec path: "../"
@@ -3,10 +3,12 @@ source "https://rubygems.org"
3
3
  eval_gemfile(File.expand_path(File.join("..", "Gemfile"), __dir__))
4
4
 
5
5
  gem "rails", "5.1.6"
6
+ gem "sprockets", "< 4"
6
7
  gem "devise", "~> 4.3"
7
8
  gem "draper", "~> 3.0"
8
9
  gem "ransack", "~> 1.8.7" # 2.x for Rails 5.2+ only.
9
10
  gem "rails-i18n"
11
+ gem 'sqlite3', '< 1.4', platforms: :mri
10
12
  gem "activerecord-jdbcsqlite3-adapter", "~> 51.0", platforms: :jruby
11
13
 
12
14
  gemspec path: "../"
@@ -3,11 +3,13 @@ source "https://rubygems.org"
3
3
  eval_gemfile(File.expand_path(File.join("..", "Gemfile"), __dir__))
4
4
 
5
5
  gem "rails", "5.2.1"
6
+ gem "sprockets", "< 4"
6
7
  gem "bootsnap"
7
8
  gem "devise", "~> 4.4"
8
9
  gem "draper", "~> 3.0"
9
10
  gem "ransack", "2.0" # 2.x for Rails 5.2+ only.
10
11
  gem "rails-i18n"
12
+ gem 'sqlite3', '< 1.4', platforms: :mri
11
13
  gem "activerecord-jdbcsqlite3-adapter", ">= 52.0", platforms: :jruby
12
14
 
13
15
  gemspec path: "../"
@@ -4,10 +4,13 @@ eval_gemfile(File.expand_path(File.join("..", "Gemfile"), __dir__))
4
4
 
5
5
  gem "rails", ">= 6.0.x"
6
6
  gem "rails-i18n", ">= 6.0.x"
7
+ gem "sass-rails", ">= 6.0.x"
8
+ gem "sprockets", ">= 4.0.x"
7
9
  gem "bootsnap"
8
10
  gem "devise", "~> 4.4"
9
11
  gem "draper", "~> 3.0"
10
12
  gem "ransack", ">= 2.0" # 2.x for Rails 5.2+ only.
11
- gem "activerecord-jdbcsqlite3-adapter", ">= 52.0", platforms: :jruby
13
+ gem 'sqlite3', platforms: :mri
14
+ gem "activerecord-jdbcsqlite3-adapter", ">= 60.0.x", platform: :jruby
12
15
 
13
16
  gemspec path: "../"
@@ -6,6 +6,7 @@ require 'ransack_ext'
6
6
  require 'kaminari'
7
7
  require 'formtastic'
8
8
  require 'formtastic_i18n'
9
+ require 'sass-rails'
9
10
  require 'inherited_resources'
10
11
  require 'jquery-rails'
11
12
  require 'jquery-ui-rails'
@@ -1,5 +1,4 @@
1
1
  require 'active_admin/router'
2
- require 'active_admin/reloader'
3
2
  require 'active_admin/application_settings'
4
3
  require 'active_admin/namespace_settings'
5
4
 
@@ -201,11 +200,11 @@ module ActiveAdmin
201
200
  # Rails is about to unload all the app files (e.g. models), so we
202
201
  # should first unload the classes generated by Active Admin, otherwise
203
202
  # they will contain references to the stale (unloaded) classes.
204
- Reloader.to_prepare(prepend: true, &unload_active_admin)
203
+ ActiveSupport::Reloader.to_prepare(prepend: true, &unload_active_admin)
205
204
  else
206
205
  # If the user has configured the app to always reload app files after
207
206
  # each request, so we should unload the generated classes too.
208
- Reloader.to_complete(&unload_active_admin)
207
+ ActiveSupport::Reloader.to_complete(&unload_active_admin)
209
208
  end
210
209
 
211
210
  admin_dirs = {}
@@ -220,7 +219,7 @@ module ActiveAdmin
220
219
 
221
220
  app.reloaders << routes_reloader
222
221
 
223
- Reloader.to_prepare do
222
+ ActiveSupport::Reloader.to_prepare do
224
223
  # Rails might have reloaded the routes for other reasons (e.g.
225
224
  # routes.rb has changed), in which case Active Admin would have been
226
225
  # loaded via the `ActiveAdmin.routes` call in `routes.rb`.
@@ -111,16 +111,14 @@ module ActiveAdmin
111
111
  redirect_backwards_or_to_root
112
112
  end
113
113
 
114
- body = ActiveAdmin::Dependency.rails.render_key
115
-
116
- format.csv { render body => error, status: :unauthorized }
114
+ format.csv { render body: error, status: :unauthorized }
117
115
  format.json { render json: { error: error }, status: :unauthorized }
118
116
  format.xml { render xml: "<error>#{error}</error>", status: :unauthorized }
119
117
  end
120
118
  end
121
119
 
122
120
  def redirect_backwards_or_to_root
123
- ActiveAdmin::Dependency.rails.redirect_back self, active_admin_root
121
+ redirect_back fallback_location: active_admin_root
124
122
  end
125
123
 
126
124
  end
@@ -55,10 +55,6 @@ module ActiveAdmin
55
55
  Matcher.new name.to_s
56
56
  end
57
57
 
58
- def self.rails5?
59
- rails >= '5.x'
60
- end
61
-
62
58
  class Matcher
63
59
  attr_reader :name
64
60
 
@@ -94,78 +90,6 @@ module ActiveAdmin
94
90
  info = spec ? "#{spec.name} #{spec.version}" : '(missing)'
95
91
  "<ActiveAdmin::Dependency::Matcher for #{info}>"
96
92
  end
97
-
98
- def adapter
99
- @adapter ||= Adapter.const_get(@name.camelize).new self
100
- end
101
-
102
- def method_missing(method, *args, &block)
103
- if respond_to_missing?(method)
104
- adapter.send method, *args, &block
105
- else
106
- super
107
- end
108
- end
109
-
110
- def respond_to_missing?(method, include_private = false)
111
- adapter.respond_to?(method) || super
112
- rescue NameError
113
- # 🐾
114
- end
115
- end
116
-
117
- # Dependency adapters provide an easy way to wrap the conditional logic
118
- # necessary to support multiple versions of a gem.
119
- #
120
- # ActiveAdmin::Dependency.rails.adapter.parameterize 'a b'
121
- # => 'a_b'
122
- #
123
- # ActiveAdmin::Dependency.rails.parameterize 'a b'
124
- # => 'a_b'
125
- #
126
- # ActiveAdmin::Dependency.devise.adapter
127
- # -> NameError: uninitialized constant ActiveAdmin::Dependency::Adapter::Devise
128
- #
129
- module Adapter
130
- class Base
131
- def initialize(version)
132
- @version = version
133
- end
134
- end
135
-
136
- class Rails < Base
137
- def optional_belongs_to_flag
138
- if Dependency.rails5?
139
- { optional: true }
140
- else
141
- { required: false }
142
- end
143
- end
144
-
145
- def parameterize(string)
146
- if Dependency.rails5?
147
- string.parameterize separator: '_'
148
- else
149
- string.parameterize '_'
150
- end
151
- end
152
-
153
- def redirect_back(controller, fallback_location)
154
- controller.instance_exec do
155
- if Dependency.rails5?
156
- redirect_back fallback_location: fallback_location
157
- elsif controller.request.headers.key? 'HTTP_REFERER'
158
- redirect_to :back
159
- else
160
- redirect_to fallback_location
161
- end
162
- end
163
- end
164
-
165
- def render_key
166
- Dependency.rails5? ? :body : :text
167
- end
168
- end
169
93
  end
170
94
 
171
95
  end
@@ -64,21 +64,21 @@ ActiveAdmin.after_load do |app|
64
64
  def create
65
65
  create! do |success, failure|
66
66
  success.html do
67
- ActiveAdmin::Dependency.rails.redirect_back self, active_admin_root
67
+ redirect_back fallback_location: active_admin_root
68
68
  end
69
69
  failure.html do
70
70
  flash[:error] = I18n.t 'active_admin.comments.errors.empty_text'
71
- ActiveAdmin::Dependency.rails.redirect_back self, active_admin_root
71
+ redirect_back fallback_location: active_admin_root
72
72
  end
73
73
  end
74
74
 
75
75
  def destroy
76
76
  destroy! do |success, failure|
77
77
  success.html do
78
- ActiveAdmin::Dependency.rails.redirect_back self, active_admin_root
78
+ redirect_back fallback_location: active_admin_root
79
79
  end
80
80
  failure.html do
81
- ActiveAdmin::Dependency.rails.redirect_back self, active_admin_root
81
+ redirect_back fallback_location: active_admin_root
82
82
  end
83
83
  end
84
84
  end
@@ -3,7 +3,7 @@ module ActiveAdmin
3
3
 
4
4
  self.table_name = "#{table_name_prefix}active_admin_comments#{table_name_suffix}"
5
5
 
6
- belongs_to :resource, { polymorphic: true }.merge(ActiveAdmin::Dependency.rails.optional_belongs_to_flag)
6
+ belongs_to :resource, polymorphic: true, optional: true
7
7
  belongs_to :author, polymorphic: true
8
8
 
9
9
  validates_presence_of :body, :namespace, :resource
@@ -187,7 +187,7 @@ module ActiveAdmin
187
187
  delegate :before_save, :after_save, to: :controller
188
188
  delegate :before_destroy, :after_destroy, to: :controller
189
189
 
190
- # This code defines both *_filter and *_action for Rails 4.0 to Rails 5 and *_action for Rails >= 5.1
190
+ # This code defines both *_filter and *_action for Rails 5.0 and *_action for Rails >= 5.1
191
191
  phases = [
192
192
  :before, :skip_before,
193
193
  :after, :skip_after,
@@ -32,10 +32,10 @@ module ActiveAdmin
32
32
 
33
33
  if name.is_a? Proc
34
34
  raise "A string/symbol is required as the second argument if your label is a proc." unless method
35
- @id = ActiveAdmin::Dependency.rails.parameterize method.to_s
35
+ @id = method.to_s.parameterize(separator: "_")
36
36
  else
37
37
  @scope_method ||= name.to_sym
38
- @id = ActiveAdmin::Dependency.rails.parameterize name.to_s
38
+ @id = name.to_s.parameterize(separator: "_")
39
39
  end
40
40
 
41
41
  @scope_method = nil if @scope_method == :all
@@ -1,3 +1,3 @@
1
1
  module ActiveAdmin
2
- VERSION = '1.5.0'
2
+ VERSION = '1.5.1'
3
3
  end
@@ -26,7 +26,7 @@ module ActiveAdmin
26
26
  if options[:class]
27
27
  classes << options[:class]
28
28
  elsif title.present?
29
- classes << "row-#{ActiveAdmin::Dependency.rails.parameterize(title.to_s)}"
29
+ classes << "row-#{title.to_s.parameterize(separator: "_")}"
30
30
  end
31
31
  options[:class] = classes.join(' ')
32
32
 
@@ -1,11 +1,8 @@
1
- require 'active_admin/helpers/output_safety_helper'
2
-
3
1
  module ActiveAdmin
4
2
  module Views
5
3
 
6
4
  class SidebarSection < Panel
7
5
  builder_method :sidebar_section
8
- include OutputSafetyHelper
9
6
 
10
7
  # Takes a ActiveAdmin::SidebarSection instance
11
8
  def build(section)
@@ -147,7 +147,7 @@ module ActiveAdmin
147
147
  if @options.has_key?(:class)
148
148
  html_classes << @options.delete(:class)
149
149
  elsif @title.present?
150
- html_classes << "col-#{ActiveAdmin::Dependency.rails.parameterize(@title.to_s)}"
150
+ html_classes << "col-#{@title.to_s.parameterize(separator: "_")}"
151
151
  end
152
152
  @html_class = html_classes.join(' ')
153
153
  @data = args[1] || args[0]
@@ -18,7 +18,6 @@ gemfile(true) do
18
18
  # Change Rails version if necessary.
19
19
  gem 'rails', '~> 5.1.0'
20
20
 
21
- gem 'sass-rails'
22
21
  gem 'sqlite3', '< 1.4', platform: :mri
23
22
  gem 'activerecord-jdbcsqlite3-adapter', "~> 51.0", platform: :jruby
24
23
  gem 'jruby-openssl', '~> 0.10.1', platforms: :jruby
@@ -1,27 +1,13 @@
1
- <%
2
- parent_class = ActiveRecord::Migration
3
- parent_class = parent_class[parent_class.current_version] if Rails::VERSION::MAJOR >= 5
4
- -%>
5
- class CreateActiveAdminComments < <%= parent_class.to_s %>
1
+ class CreateActiveAdminComments < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version.to_s %>]
6
2
  def self.up
7
3
  create_table :active_admin_comments do |t|
8
4
  t.string :namespace
9
5
  t.text :body
10
6
  t.references :resource, polymorphic: true
11
7
  t.references :author, polymorphic: true
12
- <%- if Rails::VERSION::MAJOR >= 5 -%>
13
8
  t.timestamps
14
- <%- else -%>
15
- t.timestamps null: false
16
- <%- end -%>
17
9
  end
18
10
  add_index :active_admin_comments, [:namespace]
19
- <%- unless Rails::VERSION::MAJOR >= 5 -%>
20
-
21
- add_index :active_admin_comments, [:author_type, :author_id]
22
- add_index :active_admin_comments, [:resource_type, :resource_id]
23
- <%- end -%>
24
-
25
11
  end
26
12
 
27
13
  def self.down
@@ -6,19 +6,13 @@ create_file 'app/assets/stylesheets/some-random-css.css'
6
6
  create_file 'app/assets/javascripts/some-random-js.js'
7
7
  create_file 'app/assets/images/a/favicon.ico'
8
8
 
9
- belongs_to_optional_flag = if Rails::VERSION::MAJOR < 5
10
- "required: false"
11
- else
12
- "optional: true"
13
- end
14
-
15
9
  generate :model, 'post title:string body:text published_date:date author_id:integer ' +
16
10
  'position:integer custom_category_id:integer starred:boolean foo_id:integer'
17
11
 
18
12
  create_file 'app/models/post.rb', <<-RUBY.strip_heredoc, force: true
19
13
  class Post < ActiveRecord::Base
20
- belongs_to :category, foreign_key: :custom_category_id, #{belongs_to_optional_flag}
21
- belongs_to :author, class_name: 'User', #{belongs_to_optional_flag}
14
+ belongs_to :category, foreign_key: :custom_category_id, optional: true
15
+ belongs_to :author, class_name: 'User', optional: true
22
16
  has_many :taggings
23
17
  accepts_nested_attributes_for :author
24
18
  accepts_nested_attributes_for :taggings, allow_destroy: true
@@ -102,14 +96,14 @@ RUBY
102
96
  generate :model, 'tagging post_id:integer tag_id:integer position:integer'
103
97
  create_file 'app/models/tagging.rb', <<-RUBY.strip_heredoc, force: true
104
98
  class Tagging < ActiveRecord::Base
105
- belongs_to :post, #{belongs_to_optional_flag}
106
- belongs_to :tag, #{belongs_to_optional_flag}
99
+ belongs_to :post, optional: true
100
+ belongs_to :tag, optional: true
107
101
 
108
102
  delegate :name, to: :tag, prefix: true
109
103
  end
110
104
  RUBY
111
105
 
112
- gsub_file 'config/environments/test.rb', / config.cache_classes = true/, <<-RUBY
106
+ gsub_file 'config/environments/test.rb', / config.cache_classes = .*$/, <<-RUBY
113
107
 
114
108
  config.cache_classes = !ENV['CLASS_RELOADING']
115
109
  config.action_mailer.default_url_options = {host: 'example.com'}
@@ -117,6 +111,14 @@ gsub_file 'config/environments/test.rb', / config.cache_classes = true/, <<-RUB
117
111
 
118
112
  config.active_record.maintain_test_schema = false
119
113
 
114
+ if Rails::VERSION::MAJOR >= 6
115
+ config.hosts = [
116
+ IPAddr.new("0.0.0.0/0"), # All IPv4 addresses.
117
+ IPAddr.new("::/0"), # All IPv6 addresses.
118
+ "www.example.com",
119
+ "localhost" # The localhost reserved domain.
120
+ ]
121
+ end
120
122
  RUBY
121
123
 
122
124
  # TODO: remove this line after the STI pre-loading is fixed
@@ -58,9 +58,7 @@ RSpec.describe 'defining actions from registration blocks', type: :controller do
58
58
  end
59
59
 
60
60
  it 'sets the page title' do
61
- params = {id: 1}
62
- params = {params: params} if ActiveAdmin::Dependency.rails5?
63
- get :comment, params
61
+ get :comment, params: { id: 1 }
64
62
 
65
63
  expect(controller.instance_variable_get(:@page_title)).to eq 'My Awesome Comment'
66
64
  end
@@ -8,7 +8,7 @@ RSpec.describe 'Index overriding', type: :controller do
8
8
  @controller.instance_eval do
9
9
  def index
10
10
  super do
11
- render ActiveAdmin::Dependency.rails.render_key => 'Rendered from passed block'
11
+ render body: 'Rendered from passed block'
12
12
  return
13
13
  end
14
14
  end
@@ -12,7 +12,7 @@ task :local do
12
12
  # If it's a rails command, or we're using Rails 5, auto add the rails script
13
13
  rails_commands = %w(generate console server db dbconsole g c s runner)
14
14
 
15
- if Rails::VERSION::MAJOR >= 5 || rails_commands.include?(argv[0])
15
+ if rails_commands.include?(argv[0])
16
16
  argv.unshift('rails')
17
17
  end
18
18
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activeadmin-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Greg Bell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-15 00:00:00.000000000 Z
11
+ date: 2020-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: arbre
@@ -114,28 +114,28 @@ dependencies:
114
114
  requirements:
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: '0.15'
117
+ version: 1.0.1
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: '0.15'
124
+ version: 1.0.1
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: railties
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: '4.2'
131
+ version: '5.0'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
- version: '4.2'
138
+ version: '5.0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: ransack
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -151,33 +151,33 @@ dependencies:
151
151
  - !ruby/object:Gem::Version
152
152
  version: 1.8.7
153
153
  - !ruby/object:Gem::Dependency
154
- name: sass
154
+ name: sass-rails
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - "~>"
157
+ - - ">="
158
158
  - !ruby/object:Gem::Version
159
- version: '3.1'
159
+ version: '0'
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - "~>"
164
+ - - ">="
165
165
  - !ruby/object:Gem::Version
166
- version: '3.1'
166
+ version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: sprockets
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - "<"
171
+ - - ">="
172
172
  - !ruby/object:Gem::Version
173
- version: '4.1'
173
+ version: '0'
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - "<"
178
+ - - ">="
179
179
  - !ruby/object:Gem::Version
180
- version: '4.1'
180
+ version: '0'
181
181
  description: The administration framework for Ruby on Rails.
182
182
  email:
183
183
  - gregdbell@gmail.com
@@ -504,7 +504,6 @@ files:
504
504
  - lib/active_admin/helpers/collection.rb
505
505
  - lib/active_admin/helpers/i18n.rb
506
506
  - lib/active_admin/helpers/optional_display.rb
507
- - lib/active_admin/helpers/output_safety_helper.rb
508
507
  - lib/active_admin/helpers/routes/url_helpers.rb
509
508
  - lib/active_admin/helpers/scope_chain.rb
510
509
  - lib/active_admin/inputs.rb
@@ -542,7 +541,6 @@ files:
542
541
  - lib/active_admin/page_dsl.rb
543
542
  - lib/active_admin/page_presenter.rb
544
543
  - lib/active_admin/pundit_adapter.rb
545
- - lib/active_admin/reloader.rb
546
544
  - lib/active_admin/resource.rb
547
545
  - lib/active_admin/resource/action_items.rb
548
546
  - lib/active_admin/resource/attributes.rb
@@ -700,7 +698,6 @@ files:
700
698
  - spec/unit/form_builder_spec.rb
701
699
  - spec/unit/generators/install_spec.rb
702
700
  - spec/unit/helpers/collection_spec.rb
703
- - spec/unit/helpers/output_safety_helper_spec.rb
704
701
  - spec/unit/helpers/scope_chain_spec.rb
705
702
  - spec/unit/i18n_spec.rb
706
703
  - spec/unit/localizers/resource_localizer_spec.rb
@@ -793,7 +790,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
793
790
  - !ruby/object:Gem::Version
794
791
  version: '0'
795
792
  requirements: []
796
- rubygems_version: 3.0.3
793
+ rubyforge_project:
794
+ rubygems_version: 2.7.10
797
795
  signing_key:
798
796
  specification_version: 4
799
797
  summary: The administration framework for Ruby on Rails.
@@ -951,7 +949,6 @@ test_files:
951
949
  - spec/unit/form_builder_spec.rb
952
950
  - spec/unit/generators/install_spec.rb
953
951
  - spec/unit/helpers/collection_spec.rb
954
- - spec/unit/helpers/output_safety_helper_spec.rb
955
952
  - spec/unit/helpers/scope_chain_spec.rb
956
953
  - spec/unit/i18n_spec.rb
957
954
  - spec/unit/localizers/resource_localizer_spec.rb
@@ -1,35 +0,0 @@
1
- module ActiveAdmin
2
- module OutputSafetyHelper
3
- # Converts the array to a comma-separated sentence where the last element is
4
- # joined by the connector word. This is the html_safe-aware version of
5
- # ActiveSupport's {Array#to_sentence}[http://api.rubyonrails.org/classes/Array.html#method-i-to_sentence].
6
- #
7
- # Copied from Rails 5 to support Rails 4.
8
- # https://github.com/rails/rails/blob/9c35bf2a6a27431c6aa283db781c19f61c5155be/actionview/lib/action_view/helpers/output_safety_helper.rb#L43
9
- def to_sentence(array, options = {})
10
- options.assert_valid_keys(:words_connector, :two_words_connector, :last_word_connector, :locale)
11
-
12
- default_connectors = {
13
- words_connector: ", ",
14
- two_words_connector: " and ",
15
- last_word_connector: ", and "
16
- }
17
- if defined?(::I18n)
18
- i18n_connectors = ::I18n.translate(:'support.array', locale: options[:locale], default: {})
19
- default_connectors.merge!(i18n_connectors)
20
- end
21
- options = default_connectors.merge!(options)
22
-
23
- case array.length
24
- when 0
25
- "".html_safe
26
- when 1
27
- ERB::Util.html_escape(array[0])
28
- when 2
29
- safe_join([array[0], array[1]], options[:two_words_connector])
30
- else
31
- safe_join([safe_join(array[0...-1], options[:words_connector]), options[:last_word_connector], array[-1]], nil)
32
- end
33
- end
34
- end
35
- end
@@ -1,25 +0,0 @@
1
- module ActiveAdmin
2
- module Reloader
3
- # ActionDispatch::Reloader.to_prepare is deprecated in Rails 5.0 and will be removed from Rails 5.1
4
- #
5
- # Use ActiveSupport::Reloader if available for Rails 5, fall back to ActionDispatch::Reloader for earlier Rails
6
- def self.to_prepare(*args, &block)
7
- if defined? ActiveSupport::Reloader
8
- ActiveSupport::Reloader.to_prepare(*args, &block)
9
- else
10
- ActionDispatch::Reloader.to_prepare(*args, &block)
11
- end
12
- end
13
-
14
- # ActionDispatch::Reloader.to_cleanup is deprecated in Rails 5.0 and will be removed from Rails 5.1
15
- #
16
- # Use ActiveSupport::Reloader if available for Rails 5, fall back to ActionDispatch::Reloader for earlier Rails
17
- def self.to_complete(*args, &block)
18
- if defined? ActiveSupport::Reloader
19
- ActiveSupport::Reloader.to_complete(*args, &block)
20
- else
21
- ActionDispatch::Reloader.to_cleanup(*args, &block)
22
- end
23
- end
24
- end
25
- end
@@ -1,79 +0,0 @@
1
- require 'rails_helper'
2
-
3
- # Adapted from Rails 5 to support Rails 4.
4
- # https://github.com/rails/rails/blob/9c35bf2a6a27431c6aa283db781c19f61c5155be/actionview/test/template/output_safety_helper_test.rb
5
- RSpec.describe ActiveAdmin::OutputSafetyHelper, type: :view do
6
- include described_class
7
-
8
- before do
9
- @string = "hello"
10
- end
11
-
12
- describe "to_sentence" do
13
- it "escapes non-html_safe values" do
14
- actual = to_sentence(%w(< > & ' "))
15
- assert actual.html_safe?
16
- assert_equal("&lt;, &gt;, &amp;, &#39;, and &quot;", actual)
17
-
18
- actual = to_sentence(%w(<script>))
19
- assert actual.html_safe?
20
- assert_equal("&lt;script&gt;", actual)
21
- end
22
-
23
- it "does not double escape if single value is html_safe" do
24
- assert_equal("&lt;script&gt;", to_sentence([ERB::Util.html_escape("<script>")]))
25
- assert_equal("&lt;script&gt;", to_sentence(["&lt;script&gt;".html_safe]))
26
- assert_equal("&amp;lt;script&amp;gt;", to_sentence(["&lt;script&gt;"]))
27
- end
28
-
29
- it "checks connector words for html safety" do
30
- assert_equal "one & two, and three", to_sentence(["one", "two", "three"], words_connector: " & ".html_safe)
31
- assert_equal "one & two", to_sentence(["one", "two"], two_words_connector: " & ".html_safe)
32
- assert_equal "one, two &lt;script&gt;alert(1)&lt;/script&gt; three", to_sentence(["one", "two", "three"], last_word_connector: " <script>alert(1)</script> ")
33
- end
34
-
35
- it "does not escape html_safe values" do
36
- ptag = content_tag("p") do
37
- safe_join(["<marquee>shady stuff</marquee>", tag("br")])
38
- end
39
- url = "https://example.com"
40
- expected = %(<a href="#{url}">#{url}</a> and <p>&lt;marquee&gt;shady stuff&lt;/marquee&gt;<br /></p>)
41
- actual = to_sentence([link_to(url, url), ptag])
42
- assert actual.html_safe?
43
- assert_equal(expected, actual)
44
- end
45
-
46
- it "handles blank strings" do
47
- actual = to_sentence(["", "two", "three"])
48
- assert actual.html_safe?
49
- assert_equal ", two, and three", actual
50
- end
51
-
52
- it "handles nil values" do
53
- actual = to_sentence([nil, "two", "three"])
54
- assert actual.html_safe?
55
- assert_equal ", two, and three", actual
56
- end
57
-
58
- it "still supports ActiveSupports Array#to_sentence arguments" do
59
- assert_equal "one two, and three", to_sentence(["one", "two", "three"], words_connector: " ")
60
- assert_equal "one & two, and three", to_sentence(["one", "two", "three"], words_connector: " & ".html_safe)
61
- assert_equal "onetwo, and three", to_sentence(["one", "two", "three"], words_connector: nil)
62
- assert_equal "one, two, and also three", to_sentence(["one", "two", "three"], last_word_connector: ", and also ")
63
- assert_equal "one, twothree", to_sentence(["one", "two", "three"], last_word_connector: nil)
64
- assert_equal "one, two three", to_sentence(["one", "two", "three"], last_word_connector: " ")
65
- assert_equal "one, two and three", to_sentence(["one", "two", "three"], last_word_connector: " and ")
66
- end
67
-
68
- it "is not affected by $," do
69
- separator_was = $,
70
- $, = "|"
71
- begin
72
- assert_equal "one and two", to_sentence(["one", "two"])
73
- assert_equal "one, two, and three", to_sentence(["one", "two", "three"])
74
- ensure
75
- $, = separator_was
76
- end
77
- end
78
- end
79
- end