Class: ApplicationRecord
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- ApplicationRecord
- Defined in:
- app/models/application_record.rb
Overview
typed: true
Direct Known Subclasses
AdaptivePointsRatio, AddOns::AddOn, AddOns::Agenda, AddOns::CustomLabel, AddOns::KidsPrice, AddOns::Menu, AddOns::OpeningHour, AddOns::Pricing, AddOns::Restaurant, AdvReservation, Advertisement, AoaAuth, AoaReservation, ArchivedImage, AtReportConversion, Attachment, Banner, BannerCity, Bistrochat::InvSyncTrigger, Bistrochat::ReservationInvMismatch, BistrochatRestaurant, BlacklistedEmail, Blogger, BookingSummary, Branch, CalendarTemplate, Channel, ChannelAd, ChannelAdManager, City, CityDeliveryChannel, CityPackageType, CityServiceType, CompactRestaurant, Corporates::Event, Corporates::RestaurantPackageEvent, Counter, Country, CustomLabel, DeliveryAddress, DeliveryChannel, DeliveryPricingTier, Dimension, District, Driver, ExperienceInformation, Externals::Company, Externals::GbPrimepay::Card, Externals::GbPrimepay::Merchant, Externals::Grab::Order, Externals::Lalamove::Order, Externals::Omise::Charge, Externals::Omise::Customer, Externals::Omise::Source, Faq, Fav, FlashSale, FooterBanner, GenericNote, GetyourguidePackage, GlpCompactRestaurantRank, GlpRestaurantRank, GoogleReserve, GoogleReserveFeedFragment, GoogleReservePackage, GoogleReview, GroupLandingPage, GroupLandingPageGroup, Guest, HhPackage::Agenda, HhPackage::KidsPrice, HhPackage::OpeningHour, HhPackage::Package::MenuSection, HhPackage::PackageAttr, HhPackage::PackageBenefit, HhPackage::PackageCustomLabel, HhPackage::PackageGroup, HhPackage::PackageMenu, HhPackage::PackagePolicyImage, HhPackage::Pricing, HhPackage::PricingGroup, HhPackage::PricingMenu, HhPackage::PricingSpendingTier, HhPackage::RestaurantPackage, HhPackage::RestaurantPackageMenu, HhSpecial, HomeSection, HomeSectionTag, HotelInformation, IaReportConversion, Inventory, InventoryBistrochat, InventoryBistrochatBlockage, InventoryMyMenu, InventoryMyMenuBlockage, InventoryReservation, InventorySevenRooms, InventorySevenroomsBlockage, InventorySource, InventorySummary, InventoryTablecheck, InventoryTablecheckBlockage, InventoryTakeAway, InventoryTakeAwayReservation, InventoryTemplate, InventoryTemplateGroup, InventoryWeeloyBlockage, KafkaReindexAvailability, KiosqueCode, KiosqueReservation, LimitPointsAdjustment, LimitPointsUsage, LoyaltyLevel, LoyaltyReservationDatum, Message, MyMenu::InvSyncTrigger, MyMenu::ReservationInvMismatch, MyMenuRestaurant, NearestRestaurant, Note, OrderNow, OtherEmail, Owner, OwnerReview, PackagePaymentType, PackageSpecialMenu, PackageType, PartnerTicketCode, Partners::ReservationSummary, Partners::ReservationSummaryAddOn, Partners::ReservationSummaryPackage, PaymentType, PendingTransaction, PhoneData, PrimaryTag, Promotion, Rate, Report, Reservation, ReservationAddOn, ReservationGroupSection, ReservationMenu, ReservationMenuSection, ReservationPackage, ReservationProperty, ReservationRefundGuarantee, ReservationSpecialMenu, ReservationTracking, ReservationVoucher, ReservationWeTravelTogether, Restaurant, RestaurantDeliveryChannel, RestaurantDocument, RestaurantExternal, RestaurantGroup, RestaurantInfo, RestaurantPriceSummary, RestaurantSectionSort, RestaurantTag, RestaurantTagGroup, RestaurantTagGroupsRestaurant, RestaurantTagsRestaurant, RestaurantTagsTotal, RestaurantVoucherSetting, Restaurants::Line, Restaurants::Picture, Restaurants::ReviewStat, Restaurants::Tc, Review, ReviewPhoto, ReviewRecommendedFor, Reward, SearchIcon, SearchIconsCity, SelfCheckinRestaurant, SelfCheckinSetting, Seo, ServiceType, SevenRooms::InvSyncTrigger, SevenRooms::ReservationInvMismatch, SevenRoomsRestaurant, SharedCustomer, SidekiqJob, SpecialBonus, Staff, StaffDevice, StaffPackage, StaffRole, SuggestionTag, Synonym, Tablecheck::InvSyncTrigger, Tablecheck::ReservationInvMismatch, TablecheckRestaurant, Ticket, TicketBundle, TicketGroup, TicketGroupBundle, TicketGroupCustomLabel, TicketGroupPaymentType, TicketGroupRestaurant, TicketGroupTnc, TicketTransaction, TouchPoints::DataSet, TouchPoints::Unsub, TransactionNotif, UnregisteredDevice, UpdatedInventory, User, UserBenefitExpiry, UserDevice, UserLoyalty, VendorPayment, VendorReservation, VendorRestaurant, VendorTicketTransactionPayment, VendorUser, Vendors::DianpingPackage, Voucher, VoucherDeductible, VoucherGroup, VoucherPackageType, VoucherPaymentType, VoucherRestaurant, VoucherRestaurantPackage, VoucherTransaction, VoucherTransactionDetail, WeeklyRestaurantSummary, WeeloyRestaurant, Widget
Class Method Summary collapse
-
.sync_carrierwave_url(attachment_method) ⇒ Object
Sometimes cached_xxx_url value is not updated when the attachment is updated.
Class Method Details
.sync_carrierwave_url(attachment_method) ⇒ Object
Sometimes cached_xxx_url value is not updated when the attachment is updated. so we need to sync the value manually.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'app/models/application_record.rb', line 8 def self.sync_carrierwave_url() class_eval do after_commit :sync_carrierwave_url, on: %i[create update] define_method :sync_carrierwave_url do if destroyed? # do nothing else # prevent infinite loop return if changed.include?("cached_#{}_url") = send() if .blank? send :update_columns, "cached_#{}_url" => nil elsif .present? send :update_columns, "cached_#{}_url" => generate_cached_carrierwave_url() end end end end end |