activeadmin_blaze_theme 0.5.14 → 0.5.16

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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +33 -0
  3. data/.gitignore +11 -2
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +27 -0
  6. data/Gemfile +2 -0
  7. data/README.md +31 -19
  8. data/Rakefile +2 -1
  9. data/activeadmin_blaze_theme.gemspec +1 -1
  10. data/bin/rails +29 -0
  11. data/bin/rake +29 -0
  12. data/bin/rspec +29 -0
  13. data/bin/rubocop +29 -0
  14. data/lib/activeadmin/views/activeadmin_form.rb +6 -2
  15. data/lib/activeadmin_blaze_theme.rb +5 -2
  16. data/lib/activeadmin_blaze_theme/version.rb +1 -1
  17. data/lib/formtastic/inputs/blaze_toggle_input.rb +12 -8
  18. data/spec/dummy/.ruby-version +1 -0
  19. data/spec/dummy/.tool-versions +1 -0
  20. data/spec/dummy/Rakefile +6 -0
  21. data/spec/dummy/app/admin/authors.rb +57 -0
  22. data/spec/dummy/app/admin/dashboard.rb +32 -0
  23. data/spec/dummy/app/admin/posts.rb +50 -0
  24. data/spec/dummy/app/admin/tags.rb +4 -0
  25. data/spec/dummy/app/assets/config/manifest.js +3 -0
  26. data/spec/dummy/app/assets/images/.keep +0 -0
  27. data/spec/dummy/app/assets/javascripts/active_admin.js +1 -0
  28. data/spec/dummy/app/assets/stylesheets/active_admin.scss +4 -0
  29. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  30. data/spec/dummy/app/channels/application_cable/channel.rb +4 -0
  31. data/spec/dummy/app/channels/application_cable/connection.rb +4 -0
  32. data/spec/dummy/app/controllers/application_controller.rb +2 -0
  33. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  34. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  35. data/spec/dummy/app/javascript/packs/application.js +15 -0
  36. data/spec/dummy/app/jobs/application_job.rb +7 -0
  37. data/spec/dummy/app/mailers/application_mailer.rb +4 -0
  38. data/spec/dummy/app/models/application_record.rb +7 -0
  39. data/spec/dummy/app/models/author.rb +26 -0
  40. data/spec/dummy/app/models/concerns/.keep +0 -0
  41. data/spec/dummy/app/models/post.rb +25 -0
  42. data/spec/dummy/app/models/post_tag.rb +9 -0
  43. data/spec/dummy/app/models/profile.rb +9 -0
  44. data/spec/dummy/app/models/tag.rb +6 -0
  45. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  46. data/spec/dummy/app/views/layouts/mailer.html.erb +13 -0
  47. data/spec/dummy/app/views/layouts/mailer.text.erb +1 -0
  48. data/spec/dummy/bin/rails +4 -0
  49. data/spec/dummy/bin/rake +4 -0
  50. data/spec/dummy/bin/setup +33 -0
  51. data/spec/dummy/config.ru +5 -0
  52. data/spec/dummy/config/application.rb +18 -0
  53. data/spec/dummy/config/boot.rb +5 -0
  54. data/spec/dummy/config/cable.yml +10 -0
  55. data/spec/dummy/config/database.yml +8 -0
  56. data/spec/dummy/config/environment.rb +5 -0
  57. data/spec/dummy/config/environments/development.rb +62 -0
  58. data/spec/dummy/config/environments/production.rb +112 -0
  59. data/spec/dummy/config/environments/test.rb +49 -0
  60. data/spec/dummy/config/initializers/active_admin.rb +335 -0
  61. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  62. data/spec/dummy/config/initializers/assets.rb +12 -0
  63. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  64. data/spec/dummy/config/initializers/content_security_policy.rb +28 -0
  65. data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
  66. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  67. data/spec/dummy/config/initializers/inflections.rb +16 -0
  68. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  69. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  70. data/spec/dummy/config/locales/en.yml +33 -0
  71. data/spec/dummy/config/puma.rb +38 -0
  72. data/spec/dummy/config/routes.rb +3 -0
  73. data/spec/dummy/config/spring.rb +6 -0
  74. data/spec/dummy/config/storage.yml +7 -0
  75. data/spec/dummy/db/migrate/20170806125915_create_active_storage_tables.active_storage.rb +27 -0
  76. data/spec/dummy/db/migrate/20180101010101_create_active_admin_comments.rb +16 -0
  77. data/spec/dummy/db/migrate/20180607053251_create_authors.rb +13 -0
  78. data/spec/dummy/db/migrate/20180607053254_create_profiles.rb +12 -0
  79. data/spec/dummy/db/migrate/20180607053255_create_tags.rb +11 -0
  80. data/spec/dummy/db/migrate/20180607053257_create_post_tags.rb +12 -0
  81. data/spec/dummy/db/migrate/20180607053739_create_posts.rb +17 -0
  82. data/spec/dummy/db/schema.rb +99 -0
  83. data/spec/dummy/lib/assets/.keep +0 -0
  84. data/spec/dummy/public/404.html +67 -0
  85. data/spec/dummy/public/422.html +67 -0
  86. data/spec/dummy/public/500.html +66 -0
  87. data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
  88. data/spec/dummy/public/apple-touch-icon.png +0 -0
  89. data/spec/dummy/public/favicon.ico +0 -0
  90. data/spec/rails_helper.rb +36 -0
  91. data/spec/spec_helper.rb +20 -0
  92. data/spec/support/capybara.rb +3 -0
  93. data/spec/support/drivers.rb +7 -0
  94. data/spec/system/theme_spec.rb +15 -0
  95. metadata +169 -4
@@ -0,0 +1 @@
1
+ ruby-2.7.1
@@ -0,0 +1 @@
1
+ ruby 2.6.6
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require_relative 'config/application'
5
+
6
+ Rails.application.load_tasks
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ ActiveAdmin.register Author do
4
+ permit_params :name,
5
+ :email,
6
+ :age,
7
+ :avatar,
8
+ profile_attributes: %i[id description _destroy],
9
+ posts_attributes: %i[id title description]
10
+
11
+ index do
12
+ selectable_column
13
+ id_column
14
+ column :name
15
+ column :email
16
+ column :created_at
17
+ actions
18
+ end
19
+
20
+ filter :name
21
+ filter :created_at
22
+
23
+ show do
24
+ attributes_table do
25
+ row :name
26
+ row :email
27
+ row :age
28
+ row :avatar do |record|
29
+ image_tag url_for(record.avatar), style: 'max-width:800px;max-height:500px' if record.avatar.attached?
30
+ end
31
+ row :created_at
32
+ row :updated_at
33
+ row :profile
34
+ row :posts
35
+ end
36
+ active_admin_comments
37
+ end
38
+
39
+ form do |f|
40
+ f.inputs do
41
+ f.input :name
42
+ f.input :email
43
+ f.input :age
44
+ f.input :avatar,
45
+ as: :file,
46
+ hint: (object.avatar.attached? ? "Current: #{object.avatar.filename}" : nil)
47
+ end
48
+ f.has_many :profile, allow_destroy: true do |ff|
49
+ ff.input :description
50
+ end
51
+ f.has_many :posts do |fp|
52
+ fp.input :title
53
+ fp.input :description
54
+ end
55
+ f.actions
56
+ end
57
+ end
@@ -0,0 +1,32 @@
1
+ ActiveAdmin.register_page "Dashboard" do
2
+ menu priority: 1, label: proc { I18n.t("active_admin.dashboard") }
3
+
4
+ content title: proc { I18n.t("active_admin.dashboard") } do
5
+ div class: "blank_slate_container", id: "dashboard_default_message" do
6
+ span class: "blank_slate" do
7
+ span I18n.t("active_admin.dashboard_welcome.welcome")
8
+ small I18n.t("active_admin.dashboard_welcome.call_to_action")
9
+ end
10
+ end
11
+
12
+ # Here is an example of a simple dashboard with columns and panels.
13
+ #
14
+ # columns do
15
+ # column do
16
+ # panel "Recent Posts" do
17
+ # ul do
18
+ # Post.recent(5).map do |post|
19
+ # li link_to(post.title, admin_post_path(post))
20
+ # end
21
+ # end
22
+ # end
23
+ # end
24
+
25
+ # column do
26
+ # panel "Info" do
27
+ # para "Welcome to ActiveAdmin."
28
+ # end
29
+ # end
30
+ # end
31
+ end # content
32
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ ActiveAdmin.register Post do
4
+ permit_params :author_id, :title, :description, :category, :dt, :position, :published, tag_ids: []
5
+
6
+ index do
7
+ selectable_column
8
+ id_column
9
+ column :title
10
+ column :author
11
+ column :published
12
+ column :created_at
13
+ actions
14
+ end
15
+
16
+ show do
17
+ attributes_table do
18
+ row :author
19
+ row :title
20
+ row :description
21
+ row :category
22
+ row :dt
23
+ row :position
24
+ row :published
25
+ row :tags
26
+ row :created_at
27
+ row :updated_at
28
+ end
29
+ active_admin_comments
30
+ end
31
+
32
+ form do |f|
33
+ buttons = %w[bold italic underline link]
34
+ f.inputs 'Post' do
35
+ f.input :author
36
+ f.input :title
37
+ f.input :description
38
+ f.input :category
39
+ f.input :dt
40
+ f.input :position
41
+ f.input :published
42
+ end
43
+
44
+ f.inputs 'Tags' do
45
+ f.input :tags
46
+ end
47
+
48
+ f.actions
49
+ end
50
+ end
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ ActiveAdmin.register Tag do
4
+ end
@@ -0,0 +1,3 @@
1
+ //= link_tree ../images
2
+ //= link_directory ../stylesheets .css
3
+ // OFF link active_storage_db_manifest.js
File without changes
@@ -0,0 +1 @@
1
+ //= require active_admin/base
@@ -0,0 +1,4 @@
1
+ @import 'active_admin/mixins';
2
+ @import 'active_admin/base';
3
+
4
+ @import 'activeadmin_blaze_theme/theme';
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require_self
15
+ */
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Channel < ActionCable::Channel::Base
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Connection < ActionCable::Connection::Base
3
+ end
4
+ end
@@ -0,0 +1,2 @@
1
+ class ApplicationController < ActionController::Base
2
+ end
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
@@ -0,0 +1,15 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
+ //
10
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require rails-ujs
14
+ //= require activestorage
15
+ //= require_tree .
@@ -0,0 +1,7 @@
1
+ class ApplicationJob < ActiveJob::Base
2
+ # Automatically retry jobs that encountered a deadlock
3
+ # retry_on ActiveRecord::Deadlocked
4
+
5
+ # Most jobs are safe to ignore if the underlying records are no longer available
6
+ # discard_on ActiveJob::DeserializationError
7
+ end
@@ -0,0 +1,4 @@
1
+ class ApplicationMailer < ActionMailer::Base
2
+ default from: 'from@example.com'
3
+ layout 'mailer'
4
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class ApplicationRecord < ActiveRecord::Base
4
+ self.abstract_class = true
5
+
6
+ scope :published, -> {}
7
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Author < ApplicationRecord
4
+ has_many :posts
5
+ has_many :published_posts, -> { published }, class_name: 'Post'
6
+ has_many :recent_posts, -> { recents }, class_name: 'Post'
7
+
8
+ has_many :tags, through: :posts
9
+
10
+ has_one :profile, inverse_of: :author, dependent: :destroy
11
+
12
+ has_one_attached :avatar
13
+
14
+ accepts_nested_attributes_for :profile, allow_destroy: true
15
+ accepts_nested_attributes_for :posts, allow_destroy: true
16
+
17
+ validates :email, format: { with: /\A[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\z/i, message: 'Invalid email' }
18
+
19
+ validate -> {
20
+ errors.add( :base, 'Invalid age' ) if !age || age.to_i % 3 == 1
21
+ }
22
+
23
+ def to_s
24
+ "#{name} (#{age})"
25
+ end
26
+ end
File without changes
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Post < ApplicationRecord
4
+ enum state: %i[available unavailable arriving]
5
+
6
+ belongs_to :author, inverse_of: :posts, autosave: true
7
+
8
+ has_one :author_profile, through: :author, source: :profile
9
+
10
+ has_many :post_tags, inverse_of: :post, dependent: :destroy
11
+ has_many :tags, through: :post_tags
12
+
13
+ validates :title, allow_blank: false, presence: true
14
+
15
+ scope :published, -> { where(published: true) }
16
+ scope :recents, -> { where('created_at > ?', Date.today - 8.month) }
17
+
18
+ def short_title
19
+ title.truncate 10
20
+ end
21
+
22
+ def upper_title
23
+ title.upcase
24
+ end
25
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ class PostTag < ApplicationRecord
4
+ belongs_to :post, inverse_of: :post_tags
5
+ belongs_to :tag, inverse_of: :post_tags
6
+
7
+ validates :post, presence: true
8
+ validates :tag, presence: true
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Profile < ApplicationRecord
4
+ belongs_to :author, inverse_of: :profile, touch: true
5
+
6
+ def to_s
7
+ description
8
+ end
9
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Tag < ApplicationRecord
4
+ has_many :post_tags, inverse_of: :tag, dependent: :destroy
5
+ has_many :posts, through: :post_tags
6
+ end
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Dummy</title>
5
+ <%= csrf_meta_tags %>
6
+ <%= csp_meta_tag %>
7
+
8
+ <%= stylesheet_link_tag 'application', media: 'all' %>
9
+ </head>
10
+
11
+ <body>
12
+ <%= yield %>
13
+ </body>
14
+ </html>
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <style>
6
+ /* Email styles need to be inline */
7
+ </style>
8
+ </head>
9
+
10
+ <body>
11
+ <%= yield %>
12
+ </body>
13
+ </html>
@@ -0,0 +1 @@
1
+ <%= yield %>
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ APP_PATH = File.expand_path('../config/application', __dir__)
3
+ require_relative '../config/boot'
4
+ require 'rails/commands'
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative '../config/boot'
3
+ require 'rake'
4
+ Rake.application.run
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env ruby
2
+ require 'fileutils'
3
+
4
+ # path to your application root.
5
+ APP_ROOT = File.expand_path('..', __dir__)
6
+
7
+ def system!(*args)
8
+ system(*args) || abort("\n== Command #{args} failed ==")
9
+ end
10
+
11
+ FileUtils.chdir APP_ROOT do
12
+ # This script is a way to setup or update your development environment automatically.
13
+ # This script is idempotent, so that you can run it at anytime and get an expectable outcome.
14
+ # Add necessary setup steps to this file.
15
+
16
+ puts '== Installing dependencies =='
17
+ system! 'gem install bundler --conservative'
18
+ system('bundle check') || system!('bundle install')
19
+
20
+ # puts "\n== Copying sample files =="
21
+ # unless File.exist?('config/database.yml')
22
+ # FileUtils.cp 'config/database.yml.sample', 'config/database.yml'
23
+ # end
24
+
25
+ puts "\n== Preparing database =="
26
+ system! 'bin/rails db:prepare'
27
+
28
+ puts "\n== Removing old logs and tempfiles =="
29
+ system! 'bin/rails log:clear tmp:clear'
30
+
31
+ puts "\n== Restarting application server =="
32
+ system! 'bin/rails restart'
33
+ end
@@ -0,0 +1,5 @@
1
+ # This file is used by Rack-based servers to start the application.
2
+
3
+ require_relative 'config/environment'
4
+
5
+ run Rails.application
@@ -0,0 +1,18 @@
1
+ require_relative 'boot'
2
+
3
+ require 'rails/all'
4
+
5
+ Bundler.require(*Rails.groups)
6
+
7
+ module Dummy
8
+ class Application < Rails::Application
9
+ # Initialize configuration defaults for originally generated Rails version.
10
+ config.load_defaults 6.0
11
+
12
+ # Settings in config/environments/* take precedence over those specified here.
13
+ # Application configuration can go into files in config/initializers
14
+ # -- all .rb files in that directory are automatically loaded after loading
15
+ # the framework and any gems in your application.
16
+ end
17
+ end
18
+