app/models/active_storage/variation.rb in activestorage-5.2.6.3 vs app/models/active_storage/variation.rb in activestorage-5.2.7

- old
+ new

@@ -21,302 +21,10 @@ attr_reader :transformations class UnsupportedImageProcessingMethod < StandardError; end class UnsupportedImageProcessingArgument < StandardError; end - SUPPORTED_IMAGE_PROCESSING_METHODS = [ - "adaptive_blur", - "adaptive_resize", - "adaptive_sharpen", - "adjoin", - "affine", - "alpha", - "annotate", - "antialias", - "append", - "apply", - "attenuate", - "authenticate", - "auto_gamma", - "auto_level", - "auto_orient", - "auto_threshold", - "backdrop", - "background", - "bench", - "bias", - "bilateral_blur", - "black_point_compensation", - "black_threshold", - "blend", - "blue_primary", - "blue_shift", - "blur", - "border", - "bordercolor", - "borderwidth", - "brightness_contrast", - "cache", - "canny", - "caption", - "channel", - "channel_fx", - "charcoal", - "chop", - "clahe", - "clamp", - "clip", - "clip_path", - "clone", - "clut", - "coalesce", - "colorize", - "colormap", - "color_matrix", - "colors", - "colorspace", - "colourspace", - "color_threshold", - "combine", - "combine_options", - "comment", - "compare", - "complex", - "compose", - "composite", - "compress", - "connected_components", - "contrast", - "contrast_stretch", - "convert", - "convolve", - "copy", - "crop", - "cycle", - "deconstruct", - "define", - "delay", - "delete", - "density", - "depth", - "descend", - "deskew", - "despeckle", - "direction", - "displace", - "dispose", - "dissimilarity_threshold", - "dissolve", - "distort", - "dither", - "draw", - "duplicate", - "edge", - "emboss", - "encoding", - "endian", - "enhance", - "equalize", - "evaluate", - "evaluate_sequence", - "extent", - "extract", - "family", - "features", - "fft", - "fill", - "filter", - "flatten", - "flip", - "floodfill", - "flop", - "font", - "foreground", - "format", - "frame", - "function", - "fuzz", - "fx", - "gamma", - "gaussian_blur", - "geometry", - "gravity", - "grayscale", - "green_primary", - "hald_clut", - "highlight_color", - "hough_lines", - "iconGeometry", - "iconic", - "identify", - "ift", - "illuminant", - "immutable", - "implode", - "insert", - "intensity", - "intent", - "interlace", - "interline_spacing", - "interpolate", - "interpolative_resize", - "interword_spacing", - "kerning", - "kmeans", - "kuwahara", - "label", - "lat", - "layers", - "level", - "level_colors", - "limit", - "limits", - "linear_stretch", - "linewidth", - "liquid_rescale", - "list", - "loader", - "log", - "loop", - "lowlight_color", - "magnify", - "map", - "mattecolor", - "median", - "mean_shift", - "metric", - "mode", - "modulate", - "moments", - "monitor", - "monochrome", - "morph", - "morphology", - "mosaic", - "motion_blur", - "name", - "negate", - "noise", - "normalize", - "opaque", - "ordered_dither", - "orient", - "page", - "paint", - "pause", - "perceptible", - "ping", - "pointsize", - "polaroid", - "poly", - "posterize", - "precision", - "preview", - "process", - "quality", - "quantize", - "quiet", - "radial_blur", - "raise", - "random_threshold", - "range_threshold", - "red_primary", - "regard_warnings", - "region", - "remote", - "render", - "repage", - "resample", - "resize", - "resize_to_fill", - "resize_to_fit", - "resize_to_limit", - "resize_and_pad", - "respect_parentheses", - "reverse", - "roll", - "rotate", - "sample", - "sampling_factor", - "saver", - "scale", - "scene", - "screen", - "seed", - "segment", - "selective_blur", - "separate", - "sepia_tone", - "shade", - "shadow", - "shared_memory", - "sharpen", - "shave", - "shear", - "sigmoidal_contrast", - "silent", - "similarity_threshold", - "size", - "sketch", - "smush", - "snaps", - "solarize", - "sort_pixels", - "sparse_color", - "splice", - "spread", - "statistic", - "stegano", - "stereo", - "storage_type", - "stretch", - "strip", - "stroke", - "strokewidth", - "style", - "subimage_search", - "swap", - "swirl", - "synchronize", - "taint", - "text_font", - "threshold", - "thumbnail", - "tile_offset", - "tint", - "title", - "transform", - "transparent", - "transparent_color", - "transpose", - "transverse", - "treedepth", - "trim", - "type", - "undercolor", - "unique_colors", - "units", - "unsharp", - "update", - "valid_image", - "view", - "vignette", - "virtual_pixel", - "visual", - "watermark", - "wave", - "wavelet_denoise", - "weight", - "white_balance", - "white_point", - "white_threshold", - "window", - "window_group", - ].concat(ActiveStorage.supported_image_processing_methods) - - UNSUPPORTED_IMAGE_PROCESSING_ARGUMENTS = ActiveStorage.unsupported_image_processing_arguments - class << self # Returns a Variation instance based on the given variator. If the variator is a Variation, it is # returned unmodified. If it is a String, it is passed to ActiveStorage::Variation.decode. Otherwise, # it is assumed to be a transformations Hash and is passed directly to the constructor. def wrap(variator) @@ -386,11 +94,11 @@ end def validate_transformation(name, argument) method_name = name.to_s.gsub("-","_") - unless SUPPORTED_IMAGE_PROCESSING_METHODS.any? { |method| method_name == method } + unless ActiveStorage.supported_image_processing_methods.any? { |method| method_name == method } raise UnsupportedImageProcessingMethod, <<~ERROR.squish One or more of the provided transformation methods is not supported. ERROR end @@ -404,10 +112,10 @@ end end end def validate_arg_string(argument) - if UNSUPPORTED_IMAGE_PROCESSING_ARGUMENTS.any? { |bad_arg| argument.to_s.downcase.include?(bad_arg) }; raise UnsupportedImageProcessingArgument end + if ActiveStorage.unsupported_image_processing_arguments.any? { |bad_arg| argument.to_s.downcase.include?(bad_arg) }; raise UnsupportedImageProcessingArgument end end def validate_arg_array(argument) argument.each do |arg| if arg.is_a?(Integer) || arg.is_a?(Float)