module Sunrise::Utils
Constants
- IMAGE_TYPES
Public Class Methods
get_model(model_name, *args)
click to toggle source
# File lib/sunrise/utils.rb, line 13 def self.get_model(model_name, *args) klass = lookup(['Sunrise', model_name.to_s.classify].join, Sunrise::AbstractModel) klass ? klass.new(*args) : nil end
lookup(model_name, _klass = nil)
click to toggle source
Given a string model_name
, finds the corresponding model class
# File lib/sunrise/utils.rb, line 19 def self.lookup(model_name, _klass = nil) model = model_name.constantize model if model&.is_a?(Class) rescue LoadError, NameError Rails.logger.error "Error while loading '#{model_name}': #{$!}" nil end
normalize_friendly_id(input)
click to toggle source
Convert input to friendly slug using babosa gem
# File lib/sunrise/utils.rb, line 50 def self.normalize_friendly_id(input) input.to_s.to_slug.normalize(transliterations: Sunrise::Config.transliteration).to_s end
sort_to_hash(value)
click to toggle source
Convert sort string to hash “create_at_desc” to { :column => “created_at”, :mode => “desc” }
# File lib/sunrise/utils.rb, line 40 def self.sort_to_hash(value) items = value.split('_') mode = items.pop column = items.join('_') { column: column, mode: mode } end
superclasses(klass)
click to toggle source
# File lib/sunrise/utils.rb, line 28 def self.superclasses(klass) superclasses = [] while klass superclasses << klass.superclass if klass&.superclass klass = klass.superclass end superclasses end