diff --git a/Gemfile.lock b/Gemfile.lock index a771500a..c59c8af9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -16,7 +16,7 @@ PATH devise jquery-rails (~> 4.3.1) jquery-ui-rails (~> 6.0.1) - judge (~> 3.0.0) + judge (~> 3.1.0) judge-simple_form (~> 1.1.0) kaminari mini_magick @@ -207,7 +207,7 @@ GEM jquery-ui-rails (6.0.1) railties (>= 3.2.16) json (2.6.1) - judge (3.0.0) + judge (3.1.0) rails (>= 5.0) judge-simple_form (1.1.0) judge (>= 2.0) @@ -264,6 +264,8 @@ GEM nio4r (2.5.8) nokogiri (1.13.3-aarch64-linux) racc (~> 1.4) + nokogiri (1.13.3-x86_64-linux) + racc (~> 1.4) notiffany (0.1.3) nenv (~> 0.1) shellany (~> 0.0) @@ -409,6 +411,7 @@ GEM PLATFORMS aarch64-linux + x86_64-linux DEPENDENCIES appraisal diff --git a/app/views/fae/shared/_errors.slim b/app/views/fae/shared/_errors.slim index bdfb2bcd..e5f5d022 100644 --- a/app/views/fae/shared/_errors.slim +++ b/app/views/fae/shared/_errors.slim @@ -1,4 +1 @@ -/ - unless flash.present? - / .flash-message.alert.hide = t('fae.save_error') - == render 'flash_messages' diff --git a/fae.gemspec b/fae.gemspec index 093b9c21..55e5791f 100644 --- a/fae.gemspec +++ b/fae.gemspec @@ -28,7 +28,7 @@ Gem::Specification.new do |s| s.add_dependency 'devise' s.add_dependency 'jquery-ui-rails', '~> 6.0.1' s.add_dependency 'mini_magick' - s.add_dependency 'judge', '~> 3.0.0' + s.add_dependency 'judge', '~> 3.1.0' s.add_dependency 'judge-simple_form', '~> 1.1.0' s.add_dependency 'kaminari' s.add_dependency 'remotipart', '~> 1.4.0' diff --git a/lib/judge/controller.rb b/lib/judge/controller.rb deleted file mode 100644 index d9ea44e6..00000000 --- a/lib/judge/controller.rb +++ /dev/null @@ -1,58 +0,0 @@ -require 'uri' - -module Judge - module Controller - - def validation(params) - params = normalized_params(params) - if params_present?(params) && params_exposed?(params) - Validation.new(params) - else - NullValidation.new(params) - end - end - - private - - REQUIRED_PARAMS = %w{klass attribute value kind} - CONDITIONAL_PARAMS = {kind: ['uniqueness', :original_value]} - - def params_exposed?(params) - Judge.config.exposed?(params[:klass], params[:attribute]) - end - - def params_present?(params) - required_params_present?(params) && conditional_params_present?(params) - end - - def required_params_present?(params) - REQUIRED_PARAMS.all? {|s| params.key? s} && params.values_at(*REQUIRED_PARAMS).all? - end - - def conditional_params_present?(params) - CONDITIONAL_PARAMS.each do |required_param, constraint| - if params[required_param] == constraint.first - return false unless params[constraint.last] - end - end - end - - def normalized_params(params) - parser = URI::Parser.new - params = params.dup.keep_if {|k| REQUIRED_PARAMS.include?(k) || (k == 'original_value' && params[:kind] == 'uniqueness')} - params[:klass] = find_klass(params[:klass]) if params[:klass] - params[:attribute] = params[:attribute].to_sym if params[:attribute] - params[:value] = parser.unescape(params[:value]) if params[:value] - params[:kind] = params[:kind].to_sym if params[:kind] - params[:original_value] = parser.unescape(params[:original_value]) if params[:original_value] - params - end - - def find_klass(name) - Module.const_get(name.classify) - rescue NameError - nil - end - - end -end \ No newline at end of file