Sha256: ac68cbdbf56cad682f18a36ecd956369d9cb83c58e1b493579ce58cbcfcc5658

Contents?: true

Size: 1.66 KB

Versions: 14

Compression:

Stored size: 1.66 KB

Contents

module Sunrise
  module Utils
    autoload :Transliteration, 'sunrise/utils/transliteration'
    autoload :Mysql, 'sunrise/utils/mysql'
    autoload :EvalHelpers, 'sunrise/utils/eval_helpers'
    autoload :CsvDocument, 'sunrise/utils/csv_document'
    autoload :SearchWrapper, 'sunrise/utils/search_wrapper'
    
    IMAGE_TYPES = ['image/jpeg', 'image/png', 'image/gif', 'image/jpg', 'image/pjpeg', 'image/tiff', 'image/x-png']
    
    def self.get_model(model_name, *args)
      klass = lookup(["Sunrise", model_name.to_s.classify].join, Sunrise::AbstractModel)
      klass ? klass.new(*args) : nil
    end
  
    # Given a string +model_name+, finds the corresponding model class
    def self.lookup(model_name, klass = nil)
      model = model_name.constantize

      if model && model.is_a?(Class)
        model
      else
        nil
      end
    rescue LoadError, NameError
      Rails.logger.error "Error while loading '#{model_name}': #{$!}"
      nil
    end
    
    def self.superclasses(klass)
      superclasses = []
      while klass
        superclasses << klass.superclass if klass && klass.superclass
        klass = klass.superclass
      end
      superclasses
    end
    
    # Convert sort string to hash
    # "create_at_desc" to { :column => "created_at", :mode => "desc" }
    #
    def self.sort_to_hash(value)
      items = value.split('_')
      mode = items.pop
      column = items.join('_')
      
      {:column => column, :mode => mode}
    end

    # Convert input to friendly slug using babosa gem
    #
    def self.normalize_friendly_id(input)
      input.to_s.to_slug.normalize(:transliterations => Sunrise::Config.transliteration).to_s
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
sunrise-cms-0.7.0.rc2 lib/sunrise/utils.rb
sunrise-cms-0.7.0.rc1 lib/sunrise/utils.rb
sunrise-cms-0.6.11 lib/sunrise/utils.rb
sunrise-cms-0.6.10 lib/sunrise/utils.rb
sunrise-cms-0.6.9 lib/sunrise/utils.rb
sunrise-cms-0.6.8 lib/sunrise/utils.rb
sunrise-cms-0.6.7 lib/sunrise/utils.rb
sunrise-cms-0.6.6 lib/sunrise/utils.rb
sunrise-cms-0.6.5 lib/sunrise/utils.rb
sunrise-cms-0.6.4 lib/sunrise/utils.rb
sunrise-cms-0.6.3 lib/sunrise/utils.rb
sunrise-cms-0.6.2 lib/sunrise/utils.rb
sunrise-cms-0.6.1 lib/sunrise/utils.rb
sunrise-cms-0.6.0 lib/sunrise/utils.rb