Skip to content

Instantly share code, notes, and snippets.

View adrienpoly's full-sized avatar
💭
I may be slow to respond.

Adrien Poly adrienpoly

💭
I may be slow to respond.
View GitHub Profile
@adrienpoly
adrienpoly / attached_validator.rb
Created October 26, 2023 06:56 — forked from donnfelker/attached_validator.rb
Custom Active Storage Validator
class AttachedValidator < ActiveModel::EachValidator
# Active Storage validator to ensure that an attachment is attached.
#
# usage:
# validates :upload, attached: true
#
def validate_each(record, attribute, _value)
return if record.send(attribute).attached?
errors_options = {}
@adrienpoly
adrienpoly / has_many_attached.rb
Created October 26, 2023 06:55 — forked from fractaledmind/has_many_attached.rb
Vanilla Rails isomorphic attachment validations
# /app/models/concerns/has_many_attached.rb
module HasManyAttached
extend ActiveSupport::Concern
class_methods do
def has_many_attached(name, dependent: :purge_later, service: nil, strict_loading: false, **options)
super(name, dependent: :purge_later, service: nil, strict_loading: false)
if options[:file_types].any?
validate "validate_#{name}_file_types".to_sym
@adrienpoly
adrienpoly / test.csv
Last active August 22, 2022 15:15 — forked from RonanLOUARN/test.csv
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
HISTOIRE;UNIVERS;Typo Body Size (px);Typo Body interlignage (px);C;M;J;N;COULEUR;ILLUSTRATRICE;AUTEUR;ASSETS - ILLUSTRATIONS;ASSETS - COUV-2&3 (TOUJOURS PAREIL);ASSETS - COUV 4 (RANDOM 5 IMG) - même univers;DÉFINITIONS
Le Merveilleux;Écriture Libre;16;24;0;34;50;0;#FFBB87;Irène Bonacina;-;https://drive.google.com/drive/u/1/folders/1VBcX6Uzub6hmPxL-qTJICs-ZSbpEid5c;https://drive.google.com/drive/u/1/folders/1uwiGzQ_5AWREAPiZShx9jXi6Vp_XrY3X;https://drive.google.com/drive/u/1/folders/1hDEYxZiqNeuDzaol1_OEREYXWX9keeLr;NON
La Science Fiction;Écriture Libre;16;24;50;57;12;0;#9378A7;Taty Vovchek;-;https://drive.google.com/drive/u/1/folders/1RDSlVztEvTsO44Vt2uz_8vne0S6U6fdd;https://drive.google.com/drive/u/1/folders/1uwiGzQ_5AWREAPiZShx9jXi6Vp_XrY3X;https://drive.google.com/drive/u/1/folders/1hDEYxZiqNeuDzaol1_OEREYXWX9keeLr;NON
La Bergère et le Ramoneur;Forêt Enchantée;19;29;0;32;84;0;#FFAD29;Irène Bonacina;Hans Christian Andersen;https://drive.google.com/drive/folders/1Hzw7zF5qSyw3H1qU_SBFLy_NH9KSeqmE?usp=sharing;
@adrienpoly
adrienpoly / pdfx.rb
Created January 25, 2022 05:43 — forked from fidothe/pdfx.rb
Worked example for creating a PDF/X-1a:2003 document with Prawn
require 'prawn'
require 'prawn/measurements'
# I have a small collection of links to the resources I used to figure all
# this out: http://pinboard.in/u:fidothe/t:pdfx
module PDFX
class PageBox
include Prawn::Measurements
attr_reader :bleed_mm