adminterface 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.md +19 -109
  3. data/README.md +33 -27
  4. data/Rakefile +1 -1
  5. data/app/assets/stylesheets/adminterface/components/_form.scss +1 -0
  6. data/app/assets/stylesheets/adminterface/mixins/_utilities.scss +4 -0
  7. data/app/assets/stylesheets/adminterface/vendors/bootstrap/_all.scss +1 -0
  8. data/app/assets/stylesheets/adminterface/vendors/bootstrap/components/_breadcrumb.scss +1 -0
  9. data/app/assets/stylesheets/adminterface/vendors/flatpickr/{main.scss → _main.scss} +6 -0
  10. data/app/javascript/adminterface/initializers/header_toggler.js +1 -1
  11. data/app/javascript/adminterface/initializers/plugins/flatpickr.js +1 -1
  12. data/app/javascript/adminterface/initializers/plugins/input_counter.js +1 -1
  13. data/app/javascript/adminterface/initializers/plugins/password_visibility.js +1 -1
  14. data/app/javascript/adminterface/initializers/plugins/tom_select.js +1 -1
  15. data/app/javascript/adminterface/lib/__tests__/checkbox_toggler.html +5 -0
  16. data/app/javascript/adminterface/lib/__tests__/checkbox_toggler.spec.js +110 -0
  17. data/app/javascript/adminterface/lib/__tests__/detached_dropdown.spec.js +69 -70
  18. data/app/javascript/adminterface/lib/__tests__/filters.spec.js +0 -1
  19. data/app/javascript/adminterface/lib/__tests__/has_many.html +14 -0
  20. data/app/javascript/adminterface/lib/__tests__/has_many.spec.js +224 -0
  21. data/app/javascript/adminterface/lib/__tests__/header_toggler.html +2 -0
  22. data/app/javascript/adminterface/lib/__tests__/header_toggler.spec.js +212 -0
  23. data/app/javascript/adminterface/lib/__tests__/per_page.spec.js +75 -0
  24. data/app/javascript/adminterface/lib/__tests__/utils.spec.js +0 -1
  25. data/app/javascript/adminterface/lib/has_many.js +41 -38
  26. data/app/javascript/adminterface/lib/header_toggler.js +10 -8
  27. data/app/views/layouts/active_admin_logged_out.html.erb +1 -1
  28. data/lib/adminterface/configs.rb +5 -1
  29. data/lib/adminterface/engine.rb +0 -7
  30. data/lib/adminterface/extensions/base_controller.rb +16 -12
  31. data/lib/adminterface/extensions/namespace_settings.rb +3 -0
  32. data/lib/adminterface/extensions/view_helpers/alert_helper.rb +3 -1
  33. data/lib/adminterface/extensions/views/components/dropdown_menu.rb +4 -1
  34. data/lib/adminterface/extensions/views/components/menu_item.rb +8 -3
  35. data/lib/adminterface/extensions/views/components/tabs.rb +38 -13
  36. data/lib/adminterface/extensions/views/header.rb +2 -1
  37. data/lib/adminterface/extensions/views/pages/base.rb +4 -1
  38. data/lib/adminterface/initializers/configurations.rb +1 -1
  39. data/lib/adminterface/version.rb +1 -1
  40. data/lib/adminterface.rb +0 -31
  41. data/lib/generators/adminterface/comments/comments_generator.rb +4 -0
  42. data/lib/generators/adminterface/configs/configs_generator.rb +2 -2
  43. data/lib/generators/adminterface/install/install_generator.rb +21 -23
  44. data/lib/generators/adminterface/views/views_generator.rb +2 -2
  45. data/lib/generators/adminterface/webpacker/webpacker_generator.rb +20 -6
  46. metadata +16 -14
  47. data/lib/adminterface/encryption/encryptor.rb +0 -26
  48. data/lib/adminterface/license.rb +0 -18
  49. data/lib/adminterface/licensing/base.rb +0 -99
  50. data/lib/adminterface/licensing/commercial.rb +0 -7
  51. data/lib/adminterface/licensing/notice.rb +0 -54
  52. data/lib/adminterface/licensing/personal.rb +0 -13
  53. data/lib/adminterface/public.pem +0 -9
@@ -9,11 +9,19 @@ module Adminterface
9
9
 
10
10
  def set_resource_scope
11
11
  session[:resource_scope] = {
12
- controller: controller_name,
13
- action: action_name
12
+ controller: controller_path,
13
+ action: action_name_pairing(action_name)
14
14
  }
15
15
  end
16
16
 
17
+ def action_name_pairing(name)
18
+ case name
19
+ when "create" then "new"
20
+ when "update" then "edit"
21
+ else name
22
+ end
23
+ end
24
+
17
25
  def reset_tab
18
26
  params.delete(:tab)
19
27
  params.delete(:anchor_id)
@@ -26,30 +34,26 @@ module Adminterface
26
34
  def same_controller?
27
35
  return true if resource_scope[:controller].blank?
28
36
 
29
- resource_scope[:controller] == controller_name
37
+ resource_scope[:controller] == controller_path
30
38
  end
31
39
 
32
40
  def same_action?
33
- return true if resource_scope[:action].blank?
34
-
35
- case resource_scope[:action]
36
- when "edit", "update" then %w[edit update].include? action_name
37
- else action_name == resource_scope[:action]
38
- end
41
+ resource_scope[:action].presence &&
42
+ action_name_pairing(action_name).eql?(resource_scope[:action])
39
43
  end
40
44
 
41
45
  def resource_scope
42
- session.fetch(:resource_scope, {})
46
+ session.fetch(:resource_scope, {}).with_indifferent_access
43
47
  end
44
48
  end
45
49
  end
46
50
  end
47
51
 
48
52
  # Overwrite activeadmin/lib/active_admin/base_controller.rb
49
- ActiveSupport.on_load(:active_admin) do
53
+ ActiveAdmin.after_load do
50
54
  ActiveAdmin::BaseController.class_eval do
51
55
  prepend Adminterface::Extensions::BaseController
52
56
  before_action :reset_tab, if: :should_reset_tab?
53
- after_action :set_resource_scope
57
+ before_action :set_resource_scope
54
58
  end
55
59
  end
@@ -6,6 +6,9 @@ module Adminterface
6
6
  CONFIGS = Adminterface::Configs::DEFAULTS
7
7
 
8
8
  included do
9
+ # Language direction ltr or rtl
10
+ register :lang_dir, "ltr", :string_symbol_or_proc
11
+
9
12
  # The default component configs
10
13
  register :components, CONFIGS[:components]
11
14
 
@@ -4,7 +4,9 @@ module Adminterface
4
4
  module AlertHelper
5
5
  def flashes_html
6
6
  flash.each do |type, msg|
7
- concat(content_tag(:div, msg, class: "flash flash_#{type} alert #{flash_css_classes[type.to_sym]}".squish))
7
+ concat(content_tag(:div, msg,
8
+ class: "flash flash_#{type} alert #{flash_css_classes[type.to_sym]}".squish,
9
+ role: "alert"))
8
10
  end
9
11
  nil
10
12
  end
@@ -47,7 +47,10 @@ ActiveAdmin::Views::DropdownMenu.class_eval do
47
47
  button_options[:class] = "#{button_options[:class]} dropdown-toggle".squish
48
48
  options[:class] = "#{options[:class]} dropdown".squish
49
49
 
50
- @button = build_button(name, button_options.merge("data-bs-toggle": "dropdown"))
50
+ @button = build_button(
51
+ name,
52
+ button_options.merge("data-bs-toggle": "dropdown", role: "button", "aria-expanded": "false")
53
+ )
51
54
  @menu = build_menu(menu_options)
52
55
 
53
56
  super(options)
@@ -15,8 +15,13 @@ module Adminterface
15
15
  end
16
16
  end
17
17
 
18
- def item_class(item)
19
- "#{item.html_options[:class]} #{item.current?(assigns[:current_tab]) ? "active" : nil}".squish
18
+ def current_item_options(item)
19
+ return {} unless item.current?(assigns[:current_tab])
20
+
21
+ {
22
+ class: "#{item.html_options[:class]} active".squish,
23
+ "aria-current": "page"
24
+ }
20
25
  end
21
26
  end
22
27
  end
@@ -51,7 +56,7 @@ ActiveAdmin::Views::MenuItem.class_eval do
51
56
  end
52
57
 
53
58
  if url
54
- item_options = item.html_options.merge(class: item_class(item)).delete_if { |_k, v| v.blank? }
59
+ item_options = item.html_options.merge(current_item_options(item)).delete_if { |_k, v| v.blank? }
55
60
  text_node link_to(menu_label, url, **item_options)
56
61
  else
57
62
  span menu_label, item.html_options.merge(class: "navbar-text")
@@ -6,20 +6,16 @@ module Adminterface
6
6
  def build_menu_item(title, options, &_block)
7
7
  fragment = options.fetch(:id, fragmentize(title))
8
8
  html_options = options.fetch(:html_options, {})
9
- li html_options.merge(class: "nav-item") do
10
- if @http
11
- params[:tab] ||= @default_tab || fragment
12
- link_to title, url_for(tab: fragment, anchor: id, anchor_id: id), class: toggler_class(fragment)
13
- else
14
- link_to title, "##{fragment}", class: toggler_class(fragment), data: {"bs-toggle": "tab", "bs-target": "##{fragment}"}
15
- end
9
+
10
+ li html_options.merge(class: "nav-item", role: "presentation") do
11
+ @http ? link_to_http(title, fragment) : link_to_js(title, fragment)
16
12
  end
17
13
  end
18
14
 
19
15
  def build_content_item(title, options, &block)
20
16
  fragment = options.fetch(:id, fragmentize(title))
21
- options = options.reverse_merge(id: fragmentize(title))
22
- div(options.merge(class: tab_pane_class(fragment)), &block)
17
+ options = options.reverse_merge(id: fragment, "aria-labelledby": "#{fragment}-tab")
18
+ div(options.merge(tab_pane_options(fragment)), &block)
23
19
  end
24
20
 
25
21
  def default_css_class
@@ -39,12 +35,41 @@ module Adminterface
39
35
 
40
36
  private
41
37
 
42
- def toggler_class(fragment)
43
- "nav-link #{current_tab?(fragment) ? "active" : nil}".squish
38
+ def link_to_js(title, fragment)
39
+ options = toggler_options(fragment).merge(data: {"bs-toggle": "tab", "bs-target": "##{fragment}"})
40
+ link_to(title, "##{fragment}", **options)
41
+ end
42
+
43
+ def link_to_http(title, fragment)
44
+ params[:tab] ||= @default_tab || fragment
45
+
46
+ link_to(title,
47
+ url_for(controller: resource_scope[:controller],
48
+ action: resource_scope[:action], tab: fragment, anchor: id, anchor_id: id),
49
+ **toggler_options(fragment))
50
+ end
51
+
52
+ def resource_scope
53
+ session.fetch(:resource_scope, {}).with_indifferent_access
54
+ end
55
+
56
+ def toggler_options(fragment)
57
+ defaults = {id: "#{fragment}-tab", "aria-controls": fragment}
58
+ options =
59
+ if current_tab?(fragment)
60
+ {class: "nav-link active", "aria-selected": "true"}
61
+ else
62
+ {class: "nav-link", "aria-selected": "false"}
63
+ end
64
+
65
+ defaults.merge(options)
44
66
  end
45
67
 
46
- def tab_pane_class(fragment)
47
- "tab-pane #{current_tab?(fragment) ? "active" : nil}".squish
68
+ def tab_pane_options(fragment)
69
+ {
70
+ class: "tab-pane #{current_tab?(fragment) ? "active" : nil}".squish,
71
+ role: "tabpanel"
72
+ }
48
73
  end
49
74
 
50
75
  def current_tab?(fragment)
@@ -26,7 +26,8 @@ module Adminterface
26
26
  end
27
27
 
28
28
  def navbar_toggler
29
- button(class: "navbar-toggler", 'data-bs-target': "##{ID}", 'data-bs-toggle': "collapse") do
29
+ button(class: "navbar-toggler", 'data-bs-target': "##{ID}",
30
+ 'data-bs-toggle': "collapse", "aria-expanded": "false") do
30
31
  span class: "navbar-toggler-icon"
31
32
  end
32
33
  end
@@ -5,6 +5,8 @@ module Adminterface
5
5
  module Base
6
6
  def build(*args)
7
7
  super
8
+ set_attribute :dir,
9
+ render_or_call_method_or_proc_on(self, active_admin_config.lang_dir(self))
8
10
  build_breakpoint_helpers
9
11
  build_meta_tags_for_js
10
12
  end
@@ -102,7 +104,8 @@ module Adminterface
102
104
  div class: "flashes" do
103
105
  flash_messages.each do |type, messages|
104
106
  [*messages].each do |message|
105
- div class: "flash flash_#{type} alert #{flash_css_classes[type.to_sym]} #{flash_dismissible_class}".squish do
107
+ div class: "flash flash_#{type} alert #{flash_css_classes[type.to_sym]} #{flash_dismissible_class}".squish,
108
+ role: "alert" do
106
109
  text_node(message)
107
110
  button(class: "btn-close", "data-bs-dismiss": "alert", "aria-label": "Close") if flash_dismissible?
108
111
  end
@@ -25,7 +25,7 @@ module Adminterface
25
25
 
26
26
  meta_tags = {
27
27
  version: Adminterface::VERSION,
28
- viewport: "width=device-width, height=device-height, initial-scale=1.0, user-scalable=no"
28
+ viewport: "width=device-width, height=device-height, initial-scale=1.0"
29
29
  }
30
30
 
31
31
  config.meta_tags_for_logged_out_pages = meta_tags
@@ -1,3 +1,3 @@
1
1
  module Adminterface
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
data/lib/adminterface.rb CHANGED
@@ -7,7 +7,6 @@ module Adminterface
7
7
  autoload :VERSION, "adminterface/version"
8
8
  autoload :Configs, "adminterface/configs"
9
9
  autoload :Data, "adminterface/data"
10
- autoload :License, "adminterface/license"
11
10
  autoload :Callable, "adminterface/callable"
12
11
 
13
12
  # Load Initializers
@@ -20,36 +19,6 @@ module Adminterface
20
19
  autoload :ViewHelpers, "adminterface/initializers/view_helpers"
21
20
  autoload :Views, "adminterface/initializers/views"
22
21
  end
23
-
24
- module Licensing
25
- autoload :Notice, "adminterface/licensing/notice"
26
- autoload :Commercial, "adminterface/licensing/commercial"
27
- autoload :Personal, "adminterface/licensing/personal"
28
- end
29
-
30
- module Encryption
31
- autoload :Encryptor, "adminterface/encryption/encryptor"
32
- end
33
-
34
- # License key
35
- mattr_accessor :license_key
36
- @@license_key = nil
37
-
38
- def self.setup
39
- yield self
40
- end
41
-
42
- def self.rails6_and_up?
43
- Rails::VERSION::MAJOR >= 6
44
- end
45
-
46
- def self.cache_store
47
- if Rails.cache.instance_of?(ActiveSupport::Cache::NullStore)
48
- ActiveSupport::Cache::MemoryStore.new
49
- else
50
- Rails.cache
51
- end
52
- end
53
22
  end
54
23
 
55
24
  require "adminterface/engine"
@@ -11,6 +11,10 @@ module Adminterface
11
11
  ActiveRecord::Migration.next_migration_number(next_migration_number)
12
12
  end
13
13
 
14
+ def install_action_text
15
+ rails_command "action_text:install"
16
+ end
17
+
14
18
  def create_initializer
15
19
  template "active_admin_comment_action_text.rb",
16
20
  "config/initializers/active_admin_comment_action_text.rb"
@@ -2,10 +2,10 @@ module Adminterface
2
2
  module Generators
3
3
  class ConfigsGenerator < Rails::Generators::Base
4
4
  desc "Copies config files into a directory for customization"
5
- argument :namespace, type: :string, default: "Admin"
6
-
7
5
  source_root File.expand_path("templates", __dir__)
8
6
 
7
+ argument :namespace, type: :string, default: "Admin"
8
+
9
9
  def copy
10
10
  directory Adminterface::Engine.root.join("lib/adminterface/fixtures"),
11
11
  "config/adminterface/#{namespace.underscore}/"
@@ -4,37 +4,35 @@ module Adminterface
4
4
  desc "Installs Adminterface and generates necessary files and migrations"
5
5
  source_root File.expand_path("templates", __dir__)
6
6
 
7
- def install_rails_addons
8
- invoke "action_text:install"
9
- end
7
+ class_option :skip_comments,
8
+ type: :boolean, default: false,
9
+ desc: "Skip installation of ActionText for comments"
10
+ class_option :skip_examples,
11
+ type: :boolean, default: false,
12
+ desc: "Skip adding sample admin files"
13
+ class_option :use_webpacker,
14
+ type: :boolean, default: true,
15
+ desc: "Install assets with webpacker"
16
+ class_option :version,
17
+ aliases: "-v", type: :string, default: Adminterface::VERSION,
18
+ desc: "Install with a specific version"
10
19
 
11
20
  def install_assets
12
- install_webpacker? do
13
- generate "adminterface:webpacker"
14
- end
15
- end
21
+ return unless options[:use_webpacker]
16
22
 
17
- def install_action_text_for_comments
18
- generate "adminterface:comments"
23
+ generate "adminterface:webpacker -v #{options[:version]}"
19
24
  end
20
25
 
21
- def add_samples
22
- template "dashboard.rb", "app/admin/dashboard.rb"
23
- end
26
+ def install_comments
27
+ return if options[:skip_comments]
24
28
 
25
- private
29
+ generate "adminterface:comments"
30
+ end
26
31
 
27
- def install_webpacker?
28
- return yield if defined?(Webpacker)
32
+ def add_examples
33
+ return if options[:skip_examples]
29
34
 
30
- puts Rainbow("Adminterface requires webpacker:").yellow
31
- if yes?("Install webpacker and continue?")
32
- gem "webpacker"
33
- rails_command "webpacker:install"
34
- yield
35
- else
36
- puts Rainbow("Installation aborted").red
37
- end
35
+ template "dashboard.rb", "app/admin/dashboard.rb"
38
36
  end
39
37
  end
40
38
  end
@@ -2,13 +2,13 @@ module Adminterface
2
2
  module Generators
3
3
  class ViewsGenerator < Rails::Generators::Base
4
4
  desc "Copies view templates for customization"
5
-
6
5
  source_root Adminterface::Engine.root.join("app/views")
7
6
 
8
7
  def copy
9
8
  directory "active_admin", "app/views/active_admin"
10
9
  directory "kaminari/active_admin", "app/views/kaminari/active_admin"
11
- directory "layouts/active_admin_logged_out.html.erb", "app/views/layouts/active_admin_logged_out.html.erb"
10
+ directory "layouts/active_admin_logged_out.html.erb",
11
+ "app/views/layouts/active_admin_logged_out.html.erb"
12
12
  end
13
13
  end
14
14
  end
@@ -2,11 +2,24 @@ module Adminterface
2
2
  module Generators
3
3
  class WebpackerGenerator < Rails::Generators::Base
4
4
  desc "Install Stylesheets and JavaScripts using Webpacker"
5
+ source_root File.expand_path("templates", __dir__)
6
+
5
7
  class_option :version,
6
8
  aliases: "-v", type: :string, default: Adminterface::VERSION,
7
9
  desc: "Install with a specific npm package version"
8
10
 
9
- source_root File.expand_path("templates", __dir__)
11
+ def install_webpacker
12
+ return if webpacker_installed?
13
+
14
+ puts Rainbow("Adminterface requires webpacker:").yellow
15
+ if yes?("Install webpacker and continue?")
16
+ gem "webpacker"
17
+ rails_command "webpacker:install"
18
+ else
19
+ puts Rainbow("Installation aborted").red
20
+ abort
21
+ end
22
+ end
10
23
 
11
24
  def install_packages
12
25
  insert_into_file "config/webpack/environment.js", after: /require\(('|")@rails\/webpacker\1\);?\n/ do
@@ -18,7 +31,7 @@ module Adminterface
18
31
  EOF
19
32
  end
20
33
 
21
- run "yarn add @cmdbrew/adminterface@v#{find_npm_version}"
34
+ run "yarn add @cmdbrew/adminterface@#{npm_version}"
22
35
  end
23
36
 
24
37
  def install_assets
@@ -44,11 +57,12 @@ module Adminterface
44
57
 
45
58
  private
46
59
 
47
- def find_npm_version
48
- version = options[:version]
49
- return version unless version.include?(".rc")
60
+ def webpacker_installed?
61
+ defined?(Webpacker)
62
+ end
50
63
 
51
- version.gsub(".rc", "-rc")
64
+ def npm_version
65
+ options[:version].gsub(".rc", "-rc")
52
66
  end
53
67
  end
54
68
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adminterface
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - I-Lung Lee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-15 00:00:00.000000000 Z
11
+ date: 2021-11-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeadmin
@@ -80,7 +80,8 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0.18'
83
- description: An add-on that brings Bootstrap 5 and other goodies into ActiveAdmin.
83
+ description: A gem that brings Bootstrap 5, advanced customizability, and other goodies
84
+ into ActiveAdmin
84
85
  email:
85
86
  - ilung@hey.com
86
87
  executables: []
@@ -143,6 +144,7 @@ files:
143
144
  - app/assets/stylesheets/adminterface/vendors/_all.scss
144
145
  - app/assets/stylesheets/adminterface/vendors/bootstrap/_all.scss
145
146
  - app/assets/stylesheets/adminterface/vendors/bootstrap/_variables.scss
147
+ - app/assets/stylesheets/adminterface/vendors/bootstrap/components/_breadcrumb.scss
146
148
  - app/assets/stylesheets/adminterface/vendors/bootstrap/components/_buttons.scss
147
149
  - app/assets/stylesheets/adminterface/vendors/bootstrap/components/_dropdowns.scss
148
150
  - app/assets/stylesheets/adminterface/vendors/bootstrap/components/_navs.scss
@@ -150,8 +152,8 @@ files:
150
152
  - app/assets/stylesheets/adminterface/vendors/bootstrap/content/_tables.scss
151
153
  - app/assets/stylesheets/adminterface/vendors/bootstrap/content/_typography.scss
152
154
  - app/assets/stylesheets/adminterface/vendors/flatpickr/_all.scss
155
+ - app/assets/stylesheets/adminterface/vendors/flatpickr/_main.scss
153
156
  - app/assets/stylesheets/adminterface/vendors/flatpickr/_variables.scss
154
- - app/assets/stylesheets/adminterface/vendors/flatpickr/main.scss
155
157
  - app/assets/stylesheets/adminterface/vendors/tom_select/_all.scss
156
158
  - app/assets/stylesheets/adminterface/vendors/tom_select/_main.scss
157
159
  - app/assets/stylesheets/adminterface/vendors/trix/_actiontext.scss
@@ -174,8 +176,15 @@ files:
174
176
  - app/javascript/adminterface/initializers/plugins/input_counter.js
175
177
  - app/javascript/adminterface/initializers/plugins/password_visibility.js
176
178
  - app/javascript/adminterface/initializers/plugins/tom_select.js
179
+ - app/javascript/adminterface/lib/__tests__/checkbox_toggler.html
180
+ - app/javascript/adminterface/lib/__tests__/checkbox_toggler.spec.js
177
181
  - app/javascript/adminterface/lib/__tests__/detached_dropdown.spec.js
178
182
  - app/javascript/adminterface/lib/__tests__/filters.spec.js
183
+ - app/javascript/adminterface/lib/__tests__/has_many.html
184
+ - app/javascript/adminterface/lib/__tests__/has_many.spec.js
185
+ - app/javascript/adminterface/lib/__tests__/header_toggler.html
186
+ - app/javascript/adminterface/lib/__tests__/header_toggler.spec.js
187
+ - app/javascript/adminterface/lib/__tests__/per_page.spec.js
179
188
  - app/javascript/adminterface/lib/__tests__/utils.spec.js
180
189
  - app/javascript/adminterface/lib/batch_actions.js
181
190
  - app/javascript/adminterface/lib/checkbox_toggler.js
@@ -234,7 +243,6 @@ files:
234
243
  - lib/adminterface/data/base.rb
235
244
  - lib/adminterface/data/countries.rb
236
245
  - lib/adminterface/data/time_zones.rb
237
- - lib/adminterface/encryption/encryptor.rb
238
246
  - lib/adminterface/engine.rb
239
247
  - lib/adminterface/extensions/base_controller.rb
240
248
  - lib/adminterface/extensions/batch_actions/resource_extension.rb
@@ -329,12 +337,6 @@ files:
329
337
  - lib/adminterface/initializers/resource.rb
330
338
  - lib/adminterface/initializers/view_helpers.rb
331
339
  - lib/adminterface/initializers/views.rb
332
- - lib/adminterface/license.rb
333
- - lib/adminterface/licensing/base.rb
334
- - lib/adminterface/licensing/commercial.rb
335
- - lib/adminterface/licensing/notice.rb
336
- - lib/adminterface/licensing/personal.rb
337
- - lib/adminterface/public.pem
338
340
  - lib/adminterface/version.rb
339
341
  - lib/generators/adminterface/comments/comments_generator.rb
340
342
  - lib/generators/adminterface/comments/templates/README
@@ -353,7 +355,7 @@ files:
353
355
  - lib/tasks/adminterface_tasks.rake
354
356
  homepage: https://adminterface.io
355
357
  licenses:
356
- - See LICENSE in LICENSE.md
358
+ - MIT
357
359
  metadata:
358
360
  homepage_uri: https://adminterface.io
359
361
  source_code_uri: https://github.com/cmdbrew/adminterface
@@ -374,8 +376,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
374
376
  - !ruby/object:Gem::Version
375
377
  version: '0'
376
378
  requirements: []
377
- rubygems_version: 3.2.22
379
+ rubygems_version: 3.2.32
378
380
  signing_key:
379
381
  specification_version: 4
380
- summary: An add-on that brings Bootstrap 5 and other goodies into ActiveAdmin.
382
+ summary: Build functional and beautiful web apps faster with ActiveAdmin
381
383
  test_files: []
@@ -1,26 +0,0 @@
1
- module Adminterface
2
- module Encryption
3
- class Encryptor
4
- extend Callable
5
- attr_reader :message
6
-
7
- def initialize(message)
8
- @message = message
9
- end
10
-
11
- def call
12
- Base64.encode64(public_key.public_encrypt(message))
13
- end
14
-
15
- private
16
-
17
- def public_key_file
18
- @public_key_file ||= File.read(Engine.root.join("lib/adminterface/public.pem"))
19
- end
20
-
21
- def public_key
22
- @public_key ||= OpenSSL::PKey::RSA.new(public_key_file)
23
- end
24
- end
25
- end
26
- end
@@ -1,18 +0,0 @@
1
- module Adminterface
2
- class License
3
- class_attribute :license, default: {}
4
-
5
- class << self
6
- def verify!
7
- return if Rails.env.test?
8
-
9
- self.license =
10
- if ::Adminterface.license_key.present?
11
- ::Adminterface::Licensing::Commercial
12
- else
13
- ::Adminterface::Licensing::Personal
14
- end.call
15
- end
16
- end
17
- end
18
- end