fl 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +44 -0
  3. data/Gemfile +5 -0
  4. data/Gemfile.lock +173 -0
  5. data/README.md +30 -0
  6. data/Rakefile +2 -0
  7. data/app/admin/options.rb +46 -0
  8. data/app/admin/pages.rb +55 -0
  9. data/app/admin/users.rb +34 -0
  10. data/app/assets/javascripts/active_admin.coffee.erb +20 -0
  11. data/app/assets/javascripts/application.coffee.erb +40 -0
  12. data/app/assets/javascripts/ckeditor/basepath.coffee.erb +21 -0
  13. data/app/assets/javascripts/ckeditor/config.coffee.erb +146 -0
  14. data/app/assets/javascripts/ckeditor/plugins/autogrow/plugin.js +232 -0
  15. data/app/assets/javascripts/ckeditor/plugins/autogrow/samples/autogrow.html +102 -0
  16. data/app/assets/javascripts/ckeditor/plugins/stylesheetparser/plugin.js +158 -0
  17. data/app/assets/javascripts/ckeditor/plugins/stylesheetparser/samples/assets/sample.css +70 -0
  18. data/app/assets/javascripts/ckeditor/plugins/stylesheetparser/samples/stylesheetparser.html +85 -0
  19. data/app/assets/javascripts/ckeditor/skins/minimalist/dialog.css +5 -0
  20. data/app/assets/javascripts/ckeditor/skins/minimalist/dialog_ie.css +5 -0
  21. data/app/assets/javascripts/ckeditor/skins/minimalist/dialog_ie7.css +5 -0
  22. data/app/assets/javascripts/ckeditor/skins/minimalist/dialog_ie8.css +5 -0
  23. data/app/assets/javascripts/ckeditor/skins/minimalist/dialog_iequirks.css +5 -0
  24. data/app/assets/javascripts/ckeditor/skins/minimalist/editor.css +5 -0
  25. data/app/assets/javascripts/ckeditor/skins/minimalist/editor_gecko.css +5 -0
  26. data/app/assets/javascripts/ckeditor/skins/minimalist/editor_ie.css +5 -0
  27. data/app/assets/javascripts/ckeditor/skins/minimalist/editor_ie7.css +5 -0
  28. data/app/assets/javascripts/ckeditor/skins/minimalist/editor_ie8.css +5 -0
  29. data/app/assets/javascripts/ckeditor/skins/minimalist/editor_iequirks.css +5 -0
  30. data/app/assets/javascripts/ckeditor/skins/minimalist/icons.png +0 -0
  31. data/app/assets/javascripts/ckeditor/skins/minimalist/icons_hidpi.png +0 -0
  32. data/app/assets/javascripts/ckeditor/skins/minimalist/images/arrow.png +0 -0
  33. data/app/assets/javascripts/ckeditor/skins/minimalist/images/close.png +0 -0
  34. data/app/assets/javascripts/ckeditor/skins/minimalist/images/hidpi/close.png +0 -0
  35. data/app/assets/javascripts/ckeditor/skins/minimalist/images/hidpi/lock-open.png +0 -0
  36. data/app/assets/javascripts/ckeditor/skins/minimalist/images/hidpi/lock.png +0 -0
  37. data/app/assets/javascripts/ckeditor/skins/minimalist/images/hidpi/refresh.png +0 -0
  38. data/app/assets/javascripts/ckeditor/skins/minimalist/images/lock-open.png +0 -0
  39. data/app/assets/javascripts/ckeditor/skins/minimalist/images/lock.png +0 -0
  40. data/app/assets/javascripts/ckeditor/skins/minimalist/images/refresh.png +0 -0
  41. data/app/assets/javascripts/ckeditor/skins/minimalist/readme.md +7 -0
  42. data/app/assets/javascripts/ckeditor/skins/minimalist/skin.js +10 -0
  43. data/app/assets/javascripts/ckeditor/skins/moonocolor/dialog.css +5 -0
  44. data/app/assets/javascripts/ckeditor/skins/moonocolor/dialog_ie.css +5 -0
  45. data/app/assets/javascripts/ckeditor/skins/moonocolor/dialog_ie7.css +5 -0
  46. data/app/assets/javascripts/ckeditor/skins/moonocolor/dialog_ie8.css +5 -0
  47. data/app/assets/javascripts/ckeditor/skins/moonocolor/dialog_iequirks.css +5 -0
  48. data/app/assets/javascripts/ckeditor/skins/moonocolor/editor.css +5 -0
  49. data/app/assets/javascripts/ckeditor/skins/moonocolor/editor_gecko.css +5 -0
  50. data/app/assets/javascripts/ckeditor/skins/moonocolor/editor_ie.css +5 -0
  51. data/app/assets/javascripts/ckeditor/skins/moonocolor/editor_ie7.css +5 -0
  52. data/app/assets/javascripts/ckeditor/skins/moonocolor/editor_ie8.css +5 -0
  53. data/app/assets/javascripts/ckeditor/skins/moonocolor/editor_iequirks.css +5 -0
  54. data/app/assets/javascripts/ckeditor/skins/moonocolor/icons.png +0 -0
  55. data/app/assets/javascripts/ckeditor/skins/moonocolor/icons_hidpi.png +0 -0
  56. data/app/assets/javascripts/ckeditor/skins/moonocolor/images/arrow.png +0 -0
  57. data/app/assets/javascripts/ckeditor/skins/moonocolor/images/close.png +0 -0
  58. data/app/assets/javascripts/ckeditor/skins/moonocolor/images/hidpi/close.png +0 -0
  59. data/app/assets/javascripts/ckeditor/skins/moonocolor/images/hidpi/lock-open.png +0 -0
  60. data/app/assets/javascripts/ckeditor/skins/moonocolor/images/hidpi/lock.png +0 -0
  61. data/app/assets/javascripts/ckeditor/skins/moonocolor/images/hidpi/refresh.png +0 -0
  62. data/app/assets/javascripts/ckeditor/skins/moonocolor/images/lock-open.png +0 -0
  63. data/app/assets/javascripts/ckeditor/skins/moonocolor/images/lock.png +0 -0
  64. data/app/assets/javascripts/ckeditor/skins/moonocolor/images/refresh.png +0 -0
  65. data/app/assets/javascripts/ckeditor/skins/moonocolor/images/spinner.gif +0 -0
  66. data/app/assets/javascripts/ckeditor/skins/moonocolor/readme.md +51 -0
  67. data/app/assets/javascripts/ckeditor/skins/moonocolor/skin.js +10 -0
  68. data/app/assets/javascripts/components/confirm.coffee +51 -0
  69. data/app/assets/javascripts/components/modals.coffee +29 -0
  70. data/app/assets/stylesheets/_defaults.yml +106 -0
  71. data/app/assets/stylesheets/_functions.sass.erb +75 -0
  72. data/app/assets/stylesheets/active_admin.sass +117 -0
  73. data/app/assets/stylesheets/application.sass.erb +46 -0
  74. data/app/assets/stylesheets/styles/reset.sass +139 -0
  75. data/app/assets/stylesheets/styles/structure.sass +69 -0
  76. data/app/assets/stylesheets/styles/ui/flash.sass +128 -0
  77. data/app/assets/stylesheets/styles/ui/fonts.sass +32 -0
  78. data/app/assets/stylesheets/styles/ui/modals.sass +61 -0
  79. data/app/assets/stylesheets/styles/ui/tooltips.sass +139 -0
  80. data/app/controllers/application_controller.rb +87 -0
  81. data/app/helpers/fl/application_helper.rb +53 -0
  82. data/app/helpers/fl/asset_helper.rb +50 -0
  83. data/app/helpers/fl/liquid_helper.rb +29 -0
  84. data/app/helpers/fl/meta_helper.rb +118 -0
  85. data/app/lib/active_record/concerns/base.rb +55 -0
  86. data/app/lib/active_record/concerns/seeds.rb +78 -0
  87. data/app/liquid/filters/meta_filter.rb +6 -0
  88. data/app/liquid/tags/google_analytics_tag.rb +32 -0
  89. data/app/liquid/tags/icon_tag.rb +37 -0
  90. data/app/liquid/tags/meta_tag.rb +120 -0
  91. data/app/mailers/application_mailer.rb +28 -0
  92. data/app/models/application_record.rb +3 -0
  93. data/app/models/asset.rb +95 -0
  94. data/app/models/association.rb +21 -0
  95. data/app/models/meta.rb +27 -0
  96. data/app/models/node.rb +59 -0
  97. data/app/models/profile.rb +49 -0
  98. data/app/models/user.rb +49 -0
  99. data/app/service/flash.rb +8 -0
  100. data/app/views/layouts/_admin.haml +6 -0
  101. data/app/views/layouts/_application.haml +17 -0
  102. data/app/views/layouts/base.haml +26 -0
  103. data/app/views/mailers/layouts/mailer.haml +8 -0
  104. data/app/views/mailers/layouts/mailer.text.erb +1 -0
  105. data/app/views/mailers/new_user.erb +4 -0
  106. data/bin/console +14 -0
  107. data/bin/setup +8 -0
  108. data/config/initializers/active_admin.rb +266 -0
  109. data/config/initializers/ckeditor.rb +63 -0
  110. data/config/initializers/devise.rb +279 -0
  111. data/config/initializers/friendly_id.rb +92 -0
  112. data/config/initializers/inflections.rb +20 -0
  113. data/config/initializers/liquid.rb +87 -0
  114. data/config/initializers/sass.rb +45 -0
  115. data/config/locales/devise.en.yml +62 -0
  116. data/config/locales/en.yml +13 -0
  117. data/config/puma.rb +59 -0
  118. data/config/routes.rb +56 -0
  119. data/db/migrate/20160616060637_create_nodes.rb +26 -0
  120. data/db/migrate/20160707080248_create_users.rb +52 -0
  121. data/db/migrate/20160707094704_create_slugs.rb +33 -0
  122. data/db/migrate/20160710095916_create_associations.rb +20 -0
  123. data/db/migrate/20160713061948_create_profiles.rb +27 -0
  124. data/db/migrate/20161115101221_create_assets.rb +25 -0
  125. data/db/migrate/20170725060408_create_active_admin_comments.rb +22 -0
  126. data/db/seeds.rb +81 -0
  127. data/fl.gemspec +73 -0
  128. data/lib/fl.rb +28 -0
  129. data/lib/fl/constants.rb +52 -0
  130. data/lib/fl/engine.rb +160 -0
  131. data/lib/fl/hash.rb +34 -0
  132. data/lib/generators/fl/sass_vars_generator.rb +16 -0
  133. data/lib/generators/fl/templates/sass.yml +56 -0
  134. data/lib/tasks/ckeditor.rake +37 -0
  135. data/lib/tasks/favicon.rake +37 -0
  136. data/readme/fl.jpg +0 -0
  137. metadata +416 -0
@@ -0,0 +1,21 @@
1
+ class Association < ApplicationRecord
2
+
3
+ ####################################################################
4
+
5
+ # Central "Association" Model -- Stores every association between nodes
6
+ ##########################################
7
+
8
+ belongs_to :associatiable, polymorphic: :true
9
+ belongs_to :associated, polymorphic: true
10
+
11
+ # Nested attributes
12
+ #classes = Meta::Property.all
13
+ #if classes.any?
14
+ # classes.each do |klass| # => Class reserved
15
+ # accepts_nested_attributes_for klass.ref.to_sym, allow_destroy: true
16
+ # end
17
+ # end
18
+
19
+ ####################################################################
20
+
21
+ end
@@ -0,0 +1,27 @@
1
+ class Meta
2
+
3
+ ####################################################################
4
+ ####################################################################
5
+
6
+ # => Table Exists?
7
+ if ActiveRecord::Base.connection.data_source_exists? :nodes
8
+
9
+ if classes = Node.where(ref: "meta")
10
+
11
+ # => Each Meta model
12
+ classes.each do |klass| #-> "class" is reserved
13
+ meta = klass.val
14
+ self.const_set meta.titleize, Class.new(Node) do
15
+ accepts_nested_attributes_for :associations
16
+ has_many meta.pluralize.to_sym, through: :associations, source: :associated, source_type: "Meta::" + meta.titleize, class_name: "Meta::" + meta.titleize
17
+ end
18
+ end
19
+
20
+ end
21
+
22
+ end
23
+
24
+ ####################################################################
25
+ ####################################################################
26
+
27
+ end
@@ -0,0 +1,59 @@
1
+ class Node < ApplicationRecord
2
+
3
+ ####################################################################
4
+
5
+ # Central Repository
6
+ ##########################################
7
+
8
+ # Virtual attrs
9
+ attr_accessor :seed # => https://richonrails.com/articles/skipping-validations-in-ruby-on-rails
10
+
11
+ # Associations
12
+ # http://blog.bigbinary.com/2016/02/15/rails-5-makes-belong-to-association-required-by-default.html
13
+ belongs_to :user, optional: true
14
+
15
+ # Validations
16
+ validates :ref, :val, length: { minimum: 2, message: "2 characters minimum" }, unless: :seed
17
+ validates :ref, exclusion: { in: %w(meta role), message: "%{value} is reserved" }, unless: :seed # => http://stackoverflow.com/a/17668634/1143732
18
+ validates :ref, uniqueness: { message: "%{value} cannot be duplicate" }, unless: :seed
19
+ validates :val, uniqueness: { scope: :ref, message: "%{value} cannot be duplicate" }
20
+
21
+ # Friendly ID
22
+ extend FriendlyId
23
+ friendly_id :title
24
+
25
+ ##########################################
26
+
27
+ # Aliases
28
+ alias_attribute :title, :ref
29
+ alias_attribute :value, :val
30
+ alias_attribute :content, :val
31
+ alias_attribute :description, :val
32
+
33
+ ##########################################
34
+
35
+ # Instance (private)
36
+ ###################
37
+
38
+ # => Partial Path
39
+ # => https://www.cookieshq.co.uk/posts/rails-tips-to-partial-path/
40
+ def to_partial_path
41
+ self.class.name.underscore # => http://blog.obiefernandez.com/content/2012/01/rendering-collections-of-heterogeneous-objects-in-rails-32.html
42
+ end
43
+
44
+ # => For form
45
+ def is_destroyable?
46
+ true
47
+ end
48
+
49
+ # Class (public)
50
+ ###################
51
+
52
+ # => Ref / Val
53
+ # => Meta::Role.val "admin"
54
+ scope :ref, ->(ref) { find_by ref: ref }
55
+ scope :val, ->(val) { find_by val: val }
56
+
57
+ ####################################################################
58
+
59
+ end
@@ -0,0 +1,49 @@
1
+ class Profile < ApplicationRecord
2
+
3
+ ####################################################################
4
+
5
+ # User
6
+ belongs_to :user, inverse_of: :profile
7
+
8
+ # Role
9
+ belongs_to :role, class_name: "Meta::Role", primary_key: :ref, foreign_key: :role
10
+
11
+ # Avatar
12
+ has_one :avatar, class_name: "Asset", as: :assetable, dependent: :destroy
13
+ accepts_nested_attributes_for :avatar, reject_if: :all_blank
14
+
15
+ # Validation
16
+ validates :name, length: { minimum: 2 }, allow_blank: true # => http://stackoverflow.com/a/22323406/1143732
17
+
18
+ # Nilify Blanks
19
+ # Used for "name" validation -- submit nil if doesn't show
20
+ nilify_blanks only: [:name]
21
+
22
+ # Names
23
+ alias_attribute :ref, :name
24
+
25
+ # Slug
26
+ extend FriendlyId
27
+ friendly_id :name
28
+
29
+ ####################################################################
30
+
31
+ # Instance (private)
32
+ ###################
33
+
34
+ # => Name
35
+ def name
36
+ self[:name] || user.email
37
+ end
38
+
39
+ # => First Name
40
+ def first_name
41
+ name.split.first
42
+ end
43
+
44
+ # Class (public)
45
+ ###################
46
+
47
+ ####################################################################
48
+
49
+ end
@@ -0,0 +1,49 @@
1
+ class User < ApplicationRecord
2
+ # Include default devise modules. Others available are:
3
+ # :confirmable, :lockable, :timeoutable and :omniauthable
4
+ devise :database_authenticatable, :recoverable, :trackable, :validatable#, :registerable,
5
+
6
+ ####################################################################
7
+
8
+ # Virtual Attrs
9
+ attr_accessor :send_email
10
+
11
+ # Alias Attributes
12
+ alias_attribute :ref, :email
13
+
14
+ # Profile
15
+ has_one :profile, dependent: :destroy, inverse_of: :user
16
+ before_create :build_profile, unless: :profile
17
+
18
+ # Associations
19
+ has_many :nodes
20
+ has_many :associations, as: :associatiable, dependent: :destroy
21
+
22
+ # Delegate
23
+ delegate :name, :first_name, :slug, :avatar, :role, to: :profile
24
+
25
+ # Options
26
+ after_create Proc.new { |u| ApplicationMailer.new_user(u).deliver }, if: :send_email
27
+
28
+ ####################################################################
29
+
30
+ # Instance (private)
31
+ ###################
32
+
33
+ # => For form
34
+ def is_destroyable?
35
+ false
36
+ end
37
+
38
+ # => Admin?
39
+ def admin?
40
+ return false if ("Meta::Role".constantize rescue nil).nil?
41
+ role == Meta::Role.val("admin")
42
+ end
43
+
44
+ # Class (public)
45
+ ###################
46
+
47
+ ####################################################################
48
+
49
+ end
@@ -0,0 +1,8 @@
1
+ class Flash
2
+
3
+ ## Used to create Pusher triggers ##
4
+ def initialize message
5
+
6
+ end
7
+
8
+ end
@@ -0,0 +1,6 @@
1
+ = link_to current_user.name, admin_settings_path, title: "Update Profile", data: { placement: :right } if user_signed_in?
2
+ = auth
3
+
4
+ / Body
5
+ %main
6
+ %main= yield
@@ -0,0 +1,17 @@
1
+ / Header
2
+ - haml_tag_if content_for?(:header), "%header" do
3
+ = liquidize yield(:header)
4
+
5
+ %header= link_to "Header Area", "http://gooogle.com", title: "TEST srtwertwretsdf sdf sdf sdf sdf sdf ", data: { placement: :left }
6
+
7
+ / Main
8
+ %main
9
+ - %i(inner_header main inner_footer).each do |element|
10
+ - haml_tag_if content_for?(element), element.to_s.split("_").last do
11
+ = liquidize yield (element == :main ? nil : element)
12
+
13
+ / Footer
14
+ - haml_tag_if content_for?(:footer), "%footer" do
15
+ = liquidize yield(:footer)
16
+
17
+ %footer= link_to "Footer Area", "http://gooogle.com", title: "TEST"
@@ -0,0 +1,26 @@
1
+ !!!
2
+ %html
3
+ %head
4
+ = title yield(:title) + (" - " if content_for(:title)) + Rails.application.secrets.app[:name]
5
+
6
+ = meta :js, (admin? ? "admin" : "application"), "//js.pusher.com/3.2/pusher.min.js", "data-turbolinks-track" => :reload
7
+ = meta :stylesheet, (admin? ? "admin" : "application"), "//fonts.googleapis.com/css?family=Montserrat|Open+Sans", media: :all, "data-turbolinks-track" => :reload
8
+
9
+ = meta :description, Rails.application.secrets[:app][:description]
10
+ = meta :keywords, Rails.application.secrets[:app][:keywords]
11
+ = meta :author, Rails.application.secrets[:app][:author]
12
+
13
+ = meta :meta, "pinterest, no pin"
14
+ = meta :viewport, "width=device-width, initial-scale=1"
15
+
16
+ = meta :favicon
17
+ = meta :robots
18
+ = meta :csrf
19
+
20
+ %body{class: ("admin" if admin?)}
21
+ = render "layouts/" + (admin? ? "admin" : "application")
22
+ %modal
23
+ %main
24
+ TEST TEST TEST
25
+ %br asdfadsfaf
26
+ %br adsfasdf
@@ -0,0 +1,8 @@
1
+ !!!
2
+ %html
3
+ %head
4
+ %meta{:content => "text/html; charset=utf-8", "http-equiv" => "Content-Type"}/
5
+ :css
6
+ /* Email styles need to be inline */
7
+ %body
8
+ = yield
@@ -0,0 +1 @@
1
+ <%= yield %>
@@ -0,0 +1,4 @@
1
+ <h1><%= Rails.application.secrets.app[:domain] %> (<%= Rails.env.titleize %>)</h1>
2
+
3
+ <b><%= @user.email %></b>
4
+ <%= @user.password %>
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "fl"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,266 @@
1
+ # => Check if ActiveAdmin loaded
2
+ if Gem.loaded_specs.has_key?('activeadmin')
3
+ #puts defined?(ActiveAdmin)
4
+
5
+ # => Engine
6
+ # => https://github.com/activeadmin/activeadmin/wiki/define-a-resource-inside-an-engine
7
+ ActiveAdmin.application.load_paths += [File.join(__dir__, '..', '..', 'app', 'admin')]
8
+
9
+ # => Use this hook to configure ActiveAdmin
10
+ ActiveAdmin.setup do |config|
11
+
12
+ # == Site Title
13
+ #
14
+ # Set the title that is displayed on the main layout
15
+ # for each of the active admin pages.
16
+ #
17
+ config.site_title = Rails.application.secrets.app[:title]
18
+
19
+ # Set the link url for the title. For example, to take
20
+ # users to your main site. Defaults to no link.
21
+ #
22
+ # config.site_title_link = "/"
23
+ #config.site_title_link = "/"
24
+
25
+ # Set an optional image to be displayed for the header
26
+ # instead of a string (overrides :site_title)
27
+ #
28
+ # Note: Recommended image height is 21px to properly fit in the header
29
+ #
30
+ # config.site_title_image = "/images/logo.png"
31
+
32
+ # == Default Namespace
33
+ #
34
+ # Set the default namespace each administration resource
35
+ # will be added to.
36
+ #
37
+ # eg:
38
+ # config.default_namespace = :hello_world
39
+ #
40
+ # This will create resources in the HelloWorld module and
41
+ # will namespace routes to /hello_world/*
42
+ #
43
+ # To set no namespace by default, use:
44
+ # config.default_namespace = false
45
+ #
46
+ # Default:
47
+ # config.default_namespace = :admin
48
+ #
49
+ # You can customize the settings for each namespace by using
50
+ # a namespace block. For example, to change the site title
51
+ # within a namespace:
52
+ #
53
+ # config.namespace :admin do |admin|
54
+ # admin.site_title = "Custom Admin Title"
55
+ # end
56
+ #
57
+ # This will ONLY change the title for the admin section. Other
58
+ # namespaces will continue to use the main "site_title" configuration.
59
+
60
+ # == User Authentication
61
+ #
62
+ # Active Admin will automatically call an authentication
63
+ # method in a before filter of all controller actions to
64
+ # ensure that there is a currently logged in admin user.
65
+ #
66
+ # This setting changes the method which Active Admin calls
67
+ # within the controller.
68
+ config.authentication_method = :authenticate_user!
69
+
70
+
71
+ # == Current User
72
+ #
73
+ # Active Admin will associate actions with the current
74
+ # user performing them.
75
+ #
76
+ # This setting changes the method which Active Admin calls
77
+ # to return the currently logged in user.
78
+ config.current_user_method = :current_user
79
+
80
+
81
+ # == Logging Out
82
+ #
83
+ # Active Admin displays a logout link on each screen. These
84
+ # settings configure the location and method used for the link.
85
+ #
86
+ # This setting changes the path where the link points to. If it's
87
+ # a string, the strings is used as the path. If it's a Symbol, we
88
+ # will call the method to return the path.
89
+ #
90
+ # Default:
91
+ config.logout_link_path = :destroy_user_session_path
92
+
93
+ # This setting changes the http method used when rendering the
94
+ # link. For example :get, :delete, :put, etc..
95
+ #
96
+ # Default:
97
+ # config.logout_link_method = :get
98
+
99
+ # == Root
100
+ #
101
+ # Set the action to call for the root path. You can set different
102
+ # roots for each namespace.
103
+ #
104
+ # Default:
105
+ config.root_to = 'options#index'
106
+
107
+ # == Admin Comments
108
+ #
109
+ # Admin comments allow you to add comments to any model for admin use.
110
+ # Admin comments are enabled by default.
111
+ #
112
+ # Default:
113
+ config.comments = false
114
+ #
115
+ # You can turn them on and off for any given namespace by using a
116
+ # namespace config block.
117
+ #
118
+ # Eg:
119
+ # config.namespace :without_comments do |without_comments|
120
+ # without_comments.allow_comments = false
121
+ # end
122
+
123
+ # == Localize Date/Time Format
124
+ #
125
+ # Set the localize format to display dates and times.
126
+ # To understand how to localize your app with I18n, read more at
127
+ # https://github.com/svenfuchs/i18n/blob/master/lib%2Fi18n%2Fbackend%2Fbase.rb#L52
128
+ #
129
+ config.localize_format = :short
130
+
131
+ # == Setting a Favicon
132
+ config.favicon = 'favicon.ico'
133
+
134
+ # == Meta Tags
135
+ #
136
+ # Add additional meta tags to the head element of active admin pages.
137
+ #
138
+ # Add tags to all pages logged in users see:
139
+ config.meta_tags = {
140
+ author: Rails.application.secrets.app[:author],
141
+ keywords: Rails.application.secrets.app[:keywords],
142
+ description: Rails.application.secrets.app[:description]
143
+ }
144
+
145
+ # By default, sign up/sign in/recover password pages are excluded
146
+ # from showing up in search engine results by adding a robots meta
147
+ # tag. You can reset the hash of meta tags included in logged out
148
+ # pages:
149
+ # config.meta_tags_for_logged_out_pages = {}
150
+
151
+ # == Removing Breadcrumbs
152
+ #
153
+ # Breadcrumbs are enabled by default. You can customize them for individual
154
+ # resources or you can disable them globally from here.
155
+ #
156
+ # config.breadcrumb = false
157
+
158
+ # == Create Another Checkbox
159
+ #
160
+ # Create another checkbox is disabled by default. You can customize it for individual
161
+ # resources or you can enable them globally from here.
162
+ #
163
+ # config.create_another = true
164
+
165
+ # == Register Stylesheets & Javascripts
166
+ #
167
+ # We recommend using the built in Active Admin layout and loading
168
+ # up your own stylesheets / javascripts to customize the look
169
+ # and feel.
170
+ #
171
+ # To load a stylesheet:
172
+ # config.register_stylesheet 'my_stylesheet.css'
173
+ #
174
+ # You can provide an options hash for more control, which is passed along to stylesheet_link_tag():
175
+ # config.register_stylesheet 'my_print_stylesheet.css', media: :print
176
+ #
177
+ # To load a javascript file:
178
+ # This is deprecated
179
+ # config.register_javascript 'my_javascript.js'
180
+
181
+ # == CSV options
182
+ #
183
+ # Set the CSV builder separator
184
+ # config.csv_options = { col_sep: ';' }
185
+ #
186
+ # Force the use of quotes
187
+ # config.csv_options = { force_quotes: true }
188
+
189
+ # == Menu System
190
+ #
191
+ # You can add a navigation menu to be used in your application, or configure a provided menu
192
+ #
193
+ # To change the default utility navigation to show a link to your website & a logout btn
194
+ #
195
+ # config.namespace :admin do |admin|
196
+ # admin.build_menu :utility_navigation do |menu|
197
+ # menu.add label: "My Great Website", url: "http://www.mygreatwebsite.com", html_options: { target: :blank }
198
+ # admin.add_logout_button_to_menu menu
199
+ # end
200
+ # end
201
+ #
202
+ # If you wanted to add a static menu item to the default menu provided:
203
+ #
204
+ # config.namespace :admin do |admin|
205
+ # admin.build_menu :default do |menu|
206
+ # menu.add label: "My Great Website", url: "http://www.mygreatwebsite.com", html_options: { target: :blank }
207
+ # end
208
+ # end
209
+
210
+ # == Download Links
211
+ #
212
+ # You can disable download links on resource listing pages,
213
+ # or customize the formats shown per namespace/globally
214
+ #
215
+ # To disable/customize for the :admin namespace:
216
+ #
217
+ # config.namespace :admin do |admin|
218
+ #
219
+ # # Disable the links entirely
220
+ # admin.download_links = false
221
+ #
222
+ # # Only show XML & PDF options
223
+ # admin.download_links = [:xml, :pdf]
224
+ #
225
+ # # Enable/disable the links based on block
226
+ # # (for example, with cancan)
227
+ # admin.download_links = proc { can?(:view_download_links) }
228
+ #
229
+ # end
230
+
231
+ # == Pagination
232
+ #
233
+ # Pagination is enabled by default for all resources.
234
+ # You can control the default per page count for all resources here.
235
+ #
236
+ # config.default_per_page = 30
237
+ #
238
+ # You can control the max per page count too.
239
+ #
240
+ # config.max_per_page = 10_000
241
+
242
+ # == Filters
243
+ #
244
+ # By default the index screen includes a "Filters" sidebar on the right
245
+ # hand side with a filter for each attribute of the registered model.
246
+ # You can enable or disable them for all resources here.
247
+ #
248
+ # config.filters = true
249
+ #
250
+ # By default the filters include associations in a select, which means
251
+ # that every record will be loaded for each association.
252
+ # You can enabled or disable the inclusion
253
+ # of those filters by default here.
254
+ #
255
+ # config.include_default_association_filters = true
256
+
257
+ # == Footer
258
+ #
259
+ # By default, the footer shows the current Active Admin version. You can
260
+ # override the content of the footer here.
261
+ #
262
+ config.footer = "<b><a href=\"#{Rails.application.secrets[:app][:domain]}\">#{Rails.application.secrets[:app][:name]}</a></b> © #{Date.today.year}".html_safe
263
+
264
+ end
265
+
266
+ end