fae-rails 2.2.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/app/assets/config/fae/manifest.js +2 -0
  4. data/app/assets/javascripts/fae/_contrast.js +50 -0
  5. data/app/assets/javascripts/fae/_deploy.js +1 -1
  6. data/app/assets/javascripts/fae/application.js +5 -1
  7. data/app/assets/javascripts/fae/form/_ajax.js +14 -4
  8. data/app/assets/javascripts/fae/form/_form.js +4 -2
  9. data/app/assets/javascripts/fae/form/_validator.js +224 -55
  10. data/app/assets/javascripts/fae/form/drag_drop.js +109 -0
  11. data/app/assets/javascripts/fae/form/inputs/_select.js +7 -4
  12. data/app/assets/javascripts/fae/form/inputs/_text.js +23 -9
  13. data/app/assets/javascripts/fae/vendor/simplemde/codemirror-4.inline-attachment.js +95 -0
  14. data/app/assets/javascripts/fae/vendor/simplemde/inline-attachment.js +405 -0
  15. data/app/assets/stylesheets/fae/application.css +1 -0
  16. data/app/assets/stylesheets/fae/base.scss +2 -1
  17. data/app/assets/stylesheets/fae/globals/_tags.scss +1 -1
  18. data/app/assets/stylesheets/fae/globals/layout/_base.scss +2 -2
  19. data/app/assets/stylesheets/fae/globals/layout/_content-header.scss +6 -2
  20. data/app/assets/stylesheets/fae/globals/legacy/_pre-1.3.scss +1 -1
  21. data/app/assets/stylesheets/fae/globals/navigation/_footer.scss +1 -1
  22. data/app/assets/stylesheets/fae/globals/navigation/_header.scss +2 -2
  23. data/app/assets/stylesheets/fae/globals/navigation/_sidenav.scss +2 -2
  24. data/app/assets/stylesheets/fae/globals/navigation/_utility.scss +1 -1
  25. data/app/assets/stylesheets/fae/modules/_errors-bar.scss +19 -0
  26. data/app/assets/stylesheets/fae/modules/_toggles.scss +1 -1
  27. data/app/assets/stylesheets/fae/modules/forms/_base.scss +13 -0
  28. data/app/assets/stylesheets/fae/modules/forms/_date.scss +4 -4
  29. data/app/assets/stylesheets/fae/modules/forms/_hints.scss +1 -1
  30. data/app/assets/stylesheets/fae/modules/forms/_label.scss +1 -1
  31. data/app/assets/stylesheets/fae/modules/forms/_select.scss +2 -2
  32. data/app/assets/stylesheets/fae/modules/forms/_simple-mde.scss +71 -0
  33. data/app/assets/stylesheets/fae/modules/tables/_base.scss +1 -1
  34. data/app/assets/stylesheets/fae/modules/tables/_pagination.scss +2 -2
  35. data/app/assets/stylesheets/fae/pages/_error.scss +1 -1
  36. data/app/assets/stylesheets/fae/pages/_login.scss +1 -1
  37. data/app/assets/stylesheets/fae/simplemde_override.scss +32 -0
  38. data/app/controllers/fae/application_controller.rb +2 -2
  39. data/app/controllers/fae/base_controller.rb +1 -1
  40. data/app/controllers/fae/deploy_hooks_controller.rb +4 -4
  41. data/app/controllers/fae/setup_controller.rb +2 -2
  42. data/app/helpers/fae/application_helper.rb +10 -1
  43. data/app/helpers/fae/view_helper.rb +4 -0
  44. data/app/models/concerns/fae/base_model_concern.rb +8 -0
  45. data/app/models/concerns/fae/seo_set_concern.rb +1 -0
  46. data/app/models/fae/change.rb +1 -0
  47. data/app/models/fae/option.rb +1 -0
  48. data/app/models/fae/seo_set.rb +14 -0
  49. data/app/services/fae/netlify_api.rb +22 -6
  50. data/app/uploaders/fae/file_uploader.rb +1 -1
  51. data/app/uploaders/fae/image_uploader.rb +2 -2
  52. data/app/views/fae/application/_header.slim +2 -2
  53. data/app/views/fae/application/_seo_set_form.html.slim +12 -0
  54. data/app/views/fae/options/_form.html.slim +2 -1
  55. data/app/views/fae/pages/home.html.slim +1 -1
  56. data/app/views/fae/shared/_errors.slim +0 -3
  57. data/app/views/fae/shared/_form_header.html.slim +4 -0
  58. data/app/views/fae/shared/_nested_table.html.slim +2 -1
  59. data/app/views/fae/shared/_shared_nested_table.html.slim +5 -2
  60. data/app/views/layouts/fae/application.html.slim +1 -1
  61. data/config/initializers/carrierwave.rb +41 -2
  62. data/config/initializers/fae_judge.rb +4 -2
  63. data/config/locales/fae.en.yml +10 -1
  64. data/config/puma.rb +82 -0
  65. data/db/migrate/20221118161833_create_fae_seo_sets.rb +13 -0
  66. data/lib/fae/concerns/models/base.rb +2 -0
  67. data/lib/fae/engine.rb +3 -3
  68. data/lib/fae/options.rb +17 -19
  69. data/lib/fae/version.rb +1 -1
  70. data/lib/generators/fae/base_generator.rb +17 -4
  71. data/lib/generators/fae/controller_generator.rb +0 -1
  72. data/lib/generators/fae/install_generator.rb +1 -1
  73. data/lib/generators/fae/model_generator.rb +1 -2
  74. data/lib/generators/fae/nested_index_scaffold_generator.rb +1 -2
  75. data/lib/generators/fae/nested_scaffold_generator.rb +13 -5
  76. data/lib/generators/fae/page_generator.rb +1 -2
  77. data/lib/generators/fae/scaffold_generator.rb +1 -1
  78. data/lib/generators/fae/templates/controllers/nested_scaffold_controller.rb +1 -3
  79. data/lib/generators/fae/templates/controllers/scaffold_controller.rb +7 -0
  80. data/lib/generators/fae/templates/views/_form.html.slim +2 -0
  81. data/lib/generators/fae/templates/views/_form_nested.html.slim +3 -0
  82. metadata +29 -20
  83. data/config/deploy/dev.rb +0 -19
  84. data/config/deploy/prod.rb +0 -19
  85. data/config/deploy/stage.rb +0 -19
  86. /data/app/assets/javascripts/fae/vendor/{simplemde.min.js → simplemde/simplemde.min.js} +0 -0
@@ -1,3 +1,42 @@
1
- CarrierWave.configure do |config|
2
- config.cache_dir = "#{Rails.root}/tmp/fae/uploads"
1
+ CarrierWave.configure do |config|
2
+ config.cache_dir = "#{Rails.root}/tmp/fae/uploads"
3
+
4
+ if Rails.env.production? || Rails.env.remote_development?
5
+ config.fog_provider = 'fog/aws'
6
+ config.fog_credentials = {
7
+ provider: 'AWS',
8
+ aws_access_key_id: ENV['AWS_ACCESS_KEY_ID'],
9
+ aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
10
+ region: 'us-west-2'
11
+ }
12
+ config.storage = :fog
13
+ else
14
+ config.storage = :file
15
+ end
16
+
17
+ if Rails.env.production?
18
+ config.asset_host = 'https://s3.us-west-2.amazonaws.com/fae-engine-test-fly'
19
+ config.fog_directory = 'fae-engine-test-fly'
20
+ elsif Rails.env.remote_development?
21
+
22
+ end
23
+
24
+ # uncomment to deliver production assets to the local CMS
25
+ # if Rails.env.development?
26
+ # config.asset_host = ''
27
+ # config.fog_directory = ''
28
+ # end
29
+
30
+ # uncomment to upload to bucket/cdn in local dev
31
+ # if Rails.env.development?
32
+ # config.fog_provider = 'fog/aws'
33
+ # config.fog_credentials = {
34
+ # provider: 'AWS',
35
+ # aws_access_key_id: ENV['AWS_ACCESS_KEY_ID'],
36
+ # aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
37
+ # region: 'us-west-2'
38
+ # }
39
+ # config.storage = :fog
40
+ # end
41
+
3
42
  end
@@ -1,3 +1,5 @@
1
- Judge.configure do
2
- expose Fae::User, :email
1
+ Rails.application.config.to_prepare do
2
+ Judge.configure do
3
+ expose Fae::User, :email
4
+ end
3
5
  end
@@ -117,6 +117,8 @@ en:
117
117
  options:
118
118
  project_name: 'Project Name'
119
119
  live_url: 'Live URL'
120
+ colorway: 'Highlight Color'
121
+ colorway_helper: 'Use 6 digit hex code to set the highlight color. Omit the "#"'
120
122
  url_helper: 'Include http:// for external links.'
121
123
  stage_url: 'Stage URL'
122
124
  logo_helper: 'Used on login page, 300x300px .jpg'
@@ -152,4 +154,11 @@ en:
152
154
  reset_search: 'Reset Search'
153
155
  apply_filters: 'Apply Filters'
154
156
  all_items: 'All %{items}'
155
- keyword_search: 'Search by Keyword'
157
+ keyword_search: 'Search by Keyword'
158
+ activerecord:
159
+ errors:
160
+ models:
161
+ fae/image:
162
+ attributes:
163
+ asset:
164
+ size_too_big: 'size is too big'
data/config/puma.rb ADDED
@@ -0,0 +1,82 @@
1
+ # Puma can serve each request in a thread from an internal thread pool.
2
+ # The `threads` method setting takes two numbers: a minimum and maximum.
3
+ # Any libraries that use thread pools should be configured to match
4
+ # the maximum value specified for Puma. Default is set to 5 threads for minimum
5
+ # and maximum; this matches the default thread size of Active Record.
6
+ #
7
+ max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
8
+ min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count }
9
+ threads min_threads_count, max_threads_count
10
+
11
+ # Specifies the `port` that Puma will listen on to receive requests; default is 3000.
12
+ #
13
+ port ENV.fetch("PORT") { 3000 }
14
+
15
+ # Specifies the `environment` that Puma will run in.
16
+ #
17
+ environment ENV.fetch("RAILS_ENV") { "development" }
18
+
19
+ # Specifies the `pidfile` that Puma will use.
20
+ pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" }
21
+
22
+ # Specifies the number of `workers` to boot in clustered mode.
23
+ # Workers are forked web server processes. If using threads and workers together
24
+ # the concurrency of the application would be max `threads` * `workers`.
25
+ # Workers do not work on JRuby or Windows (both of which do not support
26
+ # processes).
27
+ #
28
+ workers ENV.fetch("WEB_CONCURRENCY") { 4 }
29
+ # Use the `preload_app!` method when specifying a `workers` number.
30
+ # This directive tells Puma to first boot the application and load code
31
+ # before forking the application. This takes advantage of Copy On Write
32
+ # process behavior so workers use less memory.
33
+ #
34
+ preload_app!
35
+ # Allow puma to be restarted by `rails restart` command.
36
+ plugin :tmp_restart
37
+
38
+ # Old setup for fly.io
39
+
40
+ # # Puma can serve each request in a thread from an internal thread pool.
41
+ # # The `threads` method setting takes two numbers: a minimum and maximum.
42
+ # # Any libraries that use thread pools should be configured to match
43
+ # # the maximum value specified for Puma. Default is set to 5 threads for minimum
44
+ # # and maximum; this matches the default thread size of Active Record.
45
+ # #
46
+ # max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
47
+ # min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count }
48
+ # threads min_threads_count, max_threads_count
49
+
50
+ # # Specifies the `worker_timeout` threshold that Puma will use to wait before
51
+ # # terminating a worker in development environments.
52
+ # #
53
+ # worker_timeout 3600 if ENV.fetch("RAILS_ENV", "development") == "development"
54
+
55
+ # # Specifies the `port` that Puma will listen on to receive requests; default is 3000.
56
+ # #
57
+ # port ENV.fetch("PORT") { 3000 }
58
+
59
+ # # Specifies the `environment` that Puma will run in.
60
+ # #
61
+ # environment ENV.fetch("RAILS_ENV") { "development" }
62
+
63
+ # # Specifies the `pidfile` that Puma will use.
64
+ # pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" }
65
+
66
+ # # Specifies the number of `workers` to boot in clustered mode.
67
+ # # Workers are forked web server processes. If using threads and workers together
68
+ # # the concurrency of the application would be max `threads` * `workers`.
69
+ # # Workers do not work on JRuby or Windows (both of which do not support
70
+ # # processes).
71
+ # #
72
+ # workers ENV.fetch("WEB_CONCURRENCY") { 4 }
73
+
74
+ # # Use the `preload_app!` method when specifying a `workers` number.
75
+ # # This directive tells Puma to first boot the application and load code
76
+ # # before forking the application. This takes advantage of Copy On Write
77
+ # # process behavior so workers use less memory.
78
+ # #
79
+ # preload_app!
80
+
81
+ # # Allow puma to be restarted by `bin/rails restart` command.
82
+ # plugin :tmp_restart
@@ -0,0 +1,13 @@
1
+ class CreateFaeSeoSets < ActiveRecord::Migration[7.0]
2
+ def change
3
+ create_table :fae_seo_sets do |t|
4
+ t.string :seo_title
5
+ t.text :seo_description
6
+ t.string :social_media_title
7
+ t.text :social_media_description
8
+ t.references :seo_setable, polymorphic: true, index: true
9
+
10
+ t.timestamps
11
+ end
12
+ end
13
+ end
@@ -1,3 +1,5 @@
1
+ # TODO - can we remove this/do we need backwards compaitibility?
2
+
1
3
  # moved to app/models/concerns/fae/base_model_concern.rb
2
4
  # keep for backwards compatibility
3
5
  module Fae::Concerns::Models::Base
data/lib/fae/engine.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  require 'devise'
2
-
3
2
  module Fae
4
3
  class Engine < ::Rails::Engine
5
4
  isolate_namespace Fae
@@ -15,8 +14,9 @@ module Fae
15
14
  require 'slim'
16
15
  require 'kaminari'
17
16
  require 'fae/version'
17
+ require "sprockets/railtie"
18
18
 
19
- config.autoload_paths += %W(#{config.root}/lib)
19
+ config.eager_load_paths += %W(#{config.root}/app)
20
20
 
21
21
  config.to_prepare do
22
22
  # Require decorators from main application
@@ -29,7 +29,7 @@ module Fae
29
29
 
30
30
  config.generators do |g|
31
31
  g.test_framework :rspec, fixture: false
32
- g.fixture_replacement :factory_girl, dir: 'spec/factories'
32
+ g.fixture_replacement :factory_bot, dir: 'spec/factories'
33
33
  g.assets false
34
34
  g.helper false
35
35
  end
data/lib/fae/options.rb CHANGED
@@ -4,26 +4,24 @@ require_relative 'validation_helper_collection'
4
4
 
5
5
  module Fae
6
6
  # configurable defaults
7
- class << self
8
- mattr_accessor :devise_secret_key, :devise_mailer_sender, :dashboard_exclusions, :max_image_upload_size, :max_file_upload_size, :languages, :recreate_versions, :validation_helpers, :track_changes, :tracker_history_length, :slug_separator, :disabled_environments, :per_page, :use_cache, :use_form_manager, :netlify
7
+ mattr_accessor :devise_secret_key, :devise_mailer_sender, :dashboard_exclusions, :max_image_upload_size, :max_file_upload_size, :languages, :recreate_versions, :validation_helpers, :track_changes, :tracker_history_length, :slug_separator, :disabled_environments, :per_page, :use_cache, :use_form_manager, :netlify
9
8
 
10
- self.devise_secret_key = ''
11
- self.devise_mailer_sender = 'change-me@example.com'
12
- self.dashboard_exclusions = []
13
- self.max_image_upload_size = 2
14
- self.max_file_upload_size = 5
15
- self.languages = {}
16
- self.recreate_versions = false
17
- self.validation_helpers = ValidationHelperCollection.new
18
- self.track_changes = true
19
- self.tracker_history_length = 15
20
- self.slug_separator = '-'
21
- self.disabled_environments = []
22
- self.per_page = 25
23
- self.use_cache = false
24
- self.use_form_manager = false
25
- self.netlify = {}
26
- end
9
+ self.devise_secret_key = ''
10
+ self.devise_mailer_sender = 'change-me@example.com'
11
+ self.dashboard_exclusions = []
12
+ self.max_image_upload_size = 2
13
+ self.max_file_upload_size = 5
14
+ self.languages = {}
15
+ self.recreate_versions = false
16
+ self.validation_helpers = ValidationHelperCollection.new
17
+ self.track_changes = true
18
+ self.tracker_history_length = 15
19
+ self.slug_separator = '-'
20
+ self.disabled_environments = []
21
+ self.per_page = 25
22
+ self.use_cache = false
23
+ self.use_form_manager = false
24
+ self.netlify = {}
27
25
 
28
26
  # this function maps the vars from your app into your engine
29
27
  def self.setup(&block)
data/lib/fae/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Fae
2
- VERSION = '2.2.0'
2
+ VERSION = '3.0.0'
3
3
  end
@@ -6,6 +6,8 @@ module Fae
6
6
  class_option :template, type: :string, default: 'slim', desc: 'Sets the template engine of the generator'
7
7
  class_option :polymorphic, type: :boolean, default: false, desc: 'Makes the model and scaffolding polymorphic. parent-model is ignored if passed.'
8
8
 
9
+ Rails::Generators::GeneratedAttribute::DEFAULT_TYPES += ['image', 'file', 'seo_set']
10
+
9
11
  @@attributes_flat = []
10
12
  @@attribute_names = []
11
13
  @@association_names = []
@@ -22,8 +24,7 @@ module Fae
22
24
  def set_globals
23
25
  if attributes.present?
24
26
  attributes.each do |arg|
25
- # :image and :file args get used to generate association defs and form elements
26
- # we don't want them in attributes_flat or attribute_names as they are not real model generator field options
27
+ # prevent these from being in attributes_flat or attribute_names as they are not real model generator field options
27
28
  if is_attachment(arg)
28
29
  @@attachments << arg
29
30
  else
@@ -143,6 +144,12 @@ RUBY
143
144
  has_fae_image :#{attachment.name}\n
144
145
  RUBY
145
146
  end
147
+ elsif attachment.type == :seo_set
148
+ inject_into_file "app/models/#{file_name}.rb", after: "include Fae::BaseModelConcern\n" do
149
+ <<-RUBY
150
+ has_fae_seo_set :#{attachment.name}\n
151
+ RUBY
152
+ end
146
153
  elsif attachment.type == :file
147
154
  inject_into_file "app/models/#{file_name}.rb", after: "include Fae::BaseModelConcern\n" do
148
155
  <<-RUBY
@@ -178,6 +185,8 @@ RUBY
178
185
  'Types::FaeImageType'
179
186
  when 'file'
180
187
  'Types::FaeFileType'
188
+ when 'seo_set'
189
+ 'Types::FaeSeoSetType'
181
190
  else
182
191
  'String'
183
192
  end
@@ -198,7 +207,11 @@ RUBY
198
207
  end
199
208
 
200
209
  def is_attachment(arg)
201
- [:image,:file].include?(arg.type)
210
+ [:image, :file, :seo_set].include?(arg.type)
211
+ end
212
+
213
+ def polymorphic_name
214
+ "#{file_name.underscore}able"
202
215
  end
203
216
 
204
217
  def polymorphic_name
@@ -206,4 +219,4 @@ RUBY
206
219
  end
207
220
 
208
221
  end
209
- end
222
+ end
@@ -1,4 +1,3 @@
1
- require_relative 'base_generator'
2
1
  module Fae
3
2
  class ControllerGenerator < Fae::BaseGenerator
4
3
  source_root ::File.expand_path('../templates', __FILE__)
@@ -58,4 +58,4 @@ RUBY
58
58
  end
59
59
 
60
60
  end
61
- end
61
+ end
@@ -1,4 +1,3 @@
1
- require_relative 'base_generator'
2
1
  module Fae
3
2
  class ModelGenerator < Fae::BaseGenerator
4
3
  source_root ::File.expand_path('../templates', __FILE__)
@@ -8,4 +7,4 @@ module Fae
8
7
  end
9
8
 
10
9
  end
11
- end
10
+ end
@@ -1,4 +1,3 @@
1
- require_relative 'base_generator'
2
1
  module Fae
3
2
  class NestedIndexScaffoldGenerator < Fae::BaseGenerator
4
3
  source_root ::File.expand_path('../templates', __FILE__)
@@ -34,4 +33,4 @@ module Fae
34
33
  end
35
34
 
36
35
  end
37
- end
36
+ end
@@ -41,12 +41,20 @@ module Fae
41
41
 
42
42
  def inject_parent_info
43
43
  inject_into_file "app/models/#{file_name}.rb", after: "BaseModelConcern\n" do <<-RUBY
44
- \n belongs_to :#{options.parent_model.underscore}, touch: true
44
+ \n belongs_to :#{options.parent_model.underscore}, touch: true
45
+ def fae_nested_parent
46
+ :#{options.parent_model.underscore}
47
+ end
48
+ RUBY
49
+ end
50
+ end
45
51
 
46
- def fae_nested_parent
47
- :#{options.parent_model.underscore}
48
- end
49
- RUBY
52
+ def inject_polymorphic_info
53
+ inject_into_file "app/models/#{file_name}.rb", after: "BaseModelConcern\n" do <<-RUBY
54
+ def fae_nested_parent
55
+ :#{polymorphic_name}
56
+ end
57
+ RUBY
50
58
  end
51
59
  end
52
60
 
@@ -1,5 +1,4 @@
1
1
  require_relative 'base_generator'
2
-
3
2
  module Fae
4
3
  class PageGenerator < Fae::BaseGenerator
5
4
  desc 'Creates model with dependancies for Fae Static Pages'
@@ -70,4 +69,4 @@ module Fae
70
69
  end
71
70
  end
72
71
  end
73
- end
72
+ end
@@ -13,4 +13,4 @@ module Fae
13
13
  end
14
14
 
15
15
  end
16
- end
16
+ end
@@ -5,7 +5,6 @@ module <%= options.namespace.capitalize %>
5
5
  def new
6
6
  @item = @klass.new
7
7
  raise_undefined_parent if @item.fae_nested_foreign_key.blank?
8
-
9
8
  item_id = params[:item_id].to_i || nil
10
9
  item_class = params[:item_class] || nil
11
10
  @item.send("<%= @polymorphic_name %>_id=", item_id)
@@ -13,7 +12,6 @@ module <%= options.namespace.capitalize %>
13
12
  build_assets
14
13
  end
15
14
  <% end %>
16
-
17
15
  <% if @attachments.present? %>
18
16
  private
19
17
 
@@ -24,4 +22,4 @@ module <%= options.namespace.capitalize %>
24
22
  end
25
23
  <% end %>
26
24
  end
27
- end
25
+ end
@@ -5,7 +5,14 @@ module <%= options.namespace.capitalize %>
5
5
 
6
6
  def build_assets
7
7
  <% @attachments.each do |attachment| -%>
8
+ <% if attachment.type == :seo_set -%>
9
+ if @item.<%= attachment.name %>.blank?
10
+ @item.build_<%= attachment.name %>
11
+ @item.<%= attachment.name %>.build_social_media_image
12
+ end
13
+ <% else -%>
8
14
  @item.build_<%= attachment.name %> if @item.<%= attachment.name %>.blank?
15
+ <% end -%>
9
16
  <% end -%>
10
17
  end
11
18
  <% end %>
@@ -23,5 +23,7 @@ ruby:
23
23
  = fae_image_form f, :<%= attachment.name -%>
24
24
  <% elsif attachment.type == :file -%>
25
25
  = fae_file_form f, :<%= attachment.name -%>
26
+ <% elsif attachment.type == :seo_set -%>
27
+ = fae_seo_set_form f, :<%= attachment.name -%>
26
28
  <% end -%>
27
29
  <% end -%>
@@ -32,3 +32,6 @@ ruby:
32
32
 
33
33
  = f.submit
34
34
  = button_tag 'Cancel', type: 'button', class: 'js-cancel-nested cancel-nested-button'
35
+
36
+ - if Fae.use_form_manager
37
+ a.button.js-launch-form-manager href='#' = t('fae.form.launch_form_manager')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fae-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - FINE
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-25 00:00:00.000000000 Z
11
+ date: 2023-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -112,30 +112,30 @@ dependencies:
112
112
  name: carrierwave
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 1.2.2
117
+ version: '0'
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: 1.2.2
124
+ version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: devise
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - "~>"
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: 4.8.1
131
+ version: '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.8.1
138
+ version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: jquery-ui-rails
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +170,14 @@ dependencies:
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 3.0.0
173
+ version: 3.1.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: 3.0.0
180
+ version: 3.1.0
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: judge-simple_form
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -196,16 +196,16 @@ dependencies:
196
196
  name: kaminari
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - "~>"
199
+ - - ">="
200
200
  - !ruby/object:Gem::Version
201
- version: 1.1.1
201
+ version: '0'
202
202
  type: :runtime
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - "~>"
206
+ - - ">="
207
207
  - !ruby/object:Gem::Version
208
- version: 1.1.1
208
+ version: '0'
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: remotipart
211
211
  requirement: !ruby/object:Gem::Requirement
@@ -341,6 +341,7 @@ extra_rdoc_files: []
341
341
  files:
342
342
  - README.md
343
343
  - Rakefile
344
+ - app/assets/config/fae/manifest.js
344
345
  - app/assets/fonts/fae/icons.eot
345
346
  - app/assets/fonts/fae/icons.svg
346
347
  - app/assets/fonts/fae/icons.ttf
@@ -395,6 +396,7 @@ files:
395
396
  - app/assets/images/fae/icons/zoom.svg
396
397
  - app/assets/images/fae/tutorial_model_location.png
397
398
  - app/assets/images/fae/youtube_helper.jpg
399
+ - app/assets/javascripts/fae/_contrast.js
398
400
  - app/assets/javascripts/fae/_deploy.js
399
401
  - app/assets/javascripts/fae/_modals.js
400
402
  - app/assets/javascripts/fae/_tables.js
@@ -408,6 +410,7 @@ files:
408
410
  - app/assets/javascripts/fae/form/_form_manager.js
409
411
  - app/assets/javascripts/fae/form/_slugger.js.erb
410
412
  - app/assets/javascripts/fae/form/_validator.js
413
+ - app/assets/javascripts/fae/form/drag_drop.js
411
414
  - app/assets/javascripts/fae/form/fae_chosen.js
412
415
  - app/assets/javascripts/fae/form/fileinputer.js
413
416
  - app/assets/javascripts/fae/form/hinter.js
@@ -431,7 +434,9 @@ files:
431
434
  - app/assets/javascripts/fae/vendor/jquery.tablesorter.js
432
435
  - app/assets/javascripts/fae/vendor/js.cookie.js
433
436
  - app/assets/javascripts/fae/vendor/moment.min.js
434
- - app/assets/javascripts/fae/vendor/simplemde.min.js
437
+ - app/assets/javascripts/fae/vendor/simplemde/codemirror-4.inline-attachment.js
438
+ - app/assets/javascripts/fae/vendor/simplemde/inline-attachment.js
439
+ - app/assets/javascripts/fae/vendor/simplemde/simplemde.min.js
435
440
  - app/assets/javascripts/fae/vendor/touch_punch.js
436
441
  - app/assets/javascripts/fae/vendor/trumbowyg.js.erb
437
442
  - app/assets/javascripts/fae/vendor/trumbowyg/plugins/upload/trumbowyg.upload.js
@@ -464,6 +469,7 @@ files:
464
469
  - app/assets/stylesheets/fae/modules/_alerts.scss
465
470
  - app/assets/stylesheets/fae/modules/_buttons.scss
466
471
  - app/assets/stylesheets/fae/modules/_deploy.scss
472
+ - app/assets/stylesheets/fae/modules/_errors-bar.scss
467
473
  - app/assets/stylesheets/fae/modules/_modal.scss
468
474
  - app/assets/stylesheets/fae/modules/_toggles.scss
469
475
  - app/assets/stylesheets/fae/modules/forms/_asset-actions.scss
@@ -493,6 +499,7 @@ files:
493
499
  - app/assets/stylesheets/fae/pages/_help.scss
494
500
  - app/assets/stylesheets/fae/pages/_home.scss
495
501
  - app/assets/stylesheets/fae/pages/_login.scss
502
+ - app/assets/stylesheets/fae/simplemde_override.scss
496
503
  - app/assets/stylesheets/fae/vendor/chosen.css
497
504
  - app/assets/stylesheets/fae/vendor/daterangepicker.css
498
505
  - app/assets/stylesheets/fae/vendor/reset.css
@@ -534,6 +541,7 @@ files:
534
541
  - app/models/concerns/fae/page_validatable.rb
535
542
  - app/models/concerns/fae/paper_trailer.rb
536
543
  - app/models/concerns/fae/role_concern.rb
544
+ - app/models/concerns/fae/seo_set_concern.rb
537
545
  - app/models/concerns/fae/sortable.rb
538
546
  - app/models/concerns/fae/static_page_concern.rb
539
547
  - app/models/concerns/fae/text_area_concern.rb
@@ -549,6 +557,7 @@ files:
549
557
  - app/models/fae/navigation.rb
550
558
  - app/models/fae/option.rb
551
559
  - app/models/fae/role.rb
560
+ - app/models/fae/seo_set.rb
552
561
  - app/models/fae/static_page.rb
553
562
  - app/models/fae/text_area.rb
554
563
  - app/models/fae/text_field.rb
@@ -577,6 +586,7 @@ files:
577
586
  - app/views/fae/application/_header.slim
578
587
  - app/views/fae/application/_markdown_helper.slim
579
588
  - app/views/fae/application/_mobilenav.slim
589
+ - app/views/fae/application/_seo_set_form.html.slim
580
590
  - app/views/fae/application/_sidenav.slim
581
591
  - app/views/fae/application/_user_log.html.slim
582
592
  - app/views/fae/deploy/index.html.slim
@@ -614,9 +624,6 @@ files:
614
624
  - app/views/layouts/fae/application.html.slim
615
625
  - app/views/layouts/fae/error.html.slim
616
626
  - config/deploy.rb
617
- - config/deploy/dev.rb
618
- - config/deploy/prod.rb
619
- - config/deploy/stage.rb
620
627
  - config/initializers/assets.rb
621
628
  - config/initializers/carrierwave.rb
622
629
  - config/initializers/devise.rb
@@ -634,6 +641,7 @@ files:
634
641
  - config/locales/fae.zh-CN.yml
635
642
  - config/locales/simple_form.en.yml
636
643
  - config/locales/simple_form.zh-CN.yml
644
+ - config/puma.rb
637
645
  - config/routes.rb
638
646
  - db/migrate/20140809222030_add_user_table.rb
639
647
  - db/migrate/20140822224029_create_fae_roles.rb
@@ -648,6 +656,7 @@ files:
648
656
  - db/migrate/20220118192729_create_fae_publish_hooks.rb
649
657
  - db/migrate/20220128133730_rename_publish_hooks.rb
650
658
  - db/migrate/20220202153607_add_position_to_deploy_hooks.rb
659
+ - db/migrate/20221118161833_create_fae_seo_sets.rb
651
660
  - lib/fae-rails.rb
652
661
  - lib/fae/concerns/models/base.rb
653
662
  - lib/fae/engine.rb
data/config/deploy/dev.rb DELETED
@@ -1,19 +0,0 @@
1
- set :stage, :prod
2
-
3
- set :ruby_version, "ruby-2.3.1"
4
- set :gemset, "dev.fae.afinedevelopment.com"
5
- set :deploy_to, "/var/www/rails/fae.afinedevelopment.com/dev"
6
-
7
- set :rails_env, 'remote_development'
8
-
9
- set :branch, 'dev'
10
-
11
- set :rvm_ruby_version, "#{fetch(:ruby_version)}@#{fetch(:gemset)}"
12
-
13
- set :default_env, {
14
- path: "/usr/local/rvm/gems/#{fetch(:rvm_ruby_version)}/bin:/usr/local/rvm/bin:/usr/local/rvm/rubies/#{fetch(:ruby_version)}/bin:$PATH",
15
- ruby_version: fetch(:ruby_version),
16
- gem_home: "/usr/local/rvm/gems/#{fetch(:rvm_ruby_version)}",
17
- gem_path: "/usr/local/rvm/gems/#{fetch(:rvm_ruby_version)}",
18
- bundle_path: "/usr/local/rvm/gems/#{fetch(:rvm_ruby_version)}/bin" # If you are using bundler.
19
- }