Module: Sunrise::Utils
- Defined in:
- lib/sunrise/utils.rb,
lib/sunrise/utils/csv_document.rb,
lib/sunrise/utils/eval_helpers.rb,
lib/sunrise/utils/search_wrapper.rb,
lib/sunrise/utils/transliteration.rb
Defined Under Namespace
Modules: EvalHelpers, SearchWrapper, Transliteration Classes: CsvDocument
Constant Summary collapse
- IMAGE_TYPES =
['image/jpeg', 'image/png', 'image/gif', 'image/jpg', 'image/pjpeg', 'image/tiff', 'image/x-png']
Class Method Summary collapse
- .get_model(model_name, *args) ⇒ Object
-
.lookup(model_name, klass = nil) ⇒ Object
Given a string
model_name
, finds the corresponding model class. -
.normalize_friendly_id(input) ⇒ Object
Convert input to friendly slug using babosa gem.
-
.sort_to_hash(value) ⇒ Object
Convert sort string to hash “create_at_desc” to { :column => “created_at”, :mode => “desc” }.
- .superclasses(klass) ⇒ Object
Class Method Details
.get_model(model_name, *args) ⇒ Object
10 11 12 13 |
# File 'lib/sunrise/utils.rb', line 10 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) ⇒ Object
Given a string model_name
, finds the corresponding model class
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/sunrise/utils.rb', line 16 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 |
.normalize_friendly_id(input) ⇒ Object
Convert input to friendly slug using babosa gem
51 52 53 |
# File 'lib/sunrise/utils.rb', line 51 def self.normalize_friendly_id(input) input.to_s.to_slug.normalize(:transliterations => Sunrise::Config.transliteration).to_s end |
.sort_to_hash(value) ⇒ Object
Convert sort string to hash “create_at_desc” to { :column => “created_at”, :mode => “desc” }
41 42 43 44 45 46 47 |
# File 'lib/sunrise/utils.rb', line 41 def self.sort_to_hash(value) items = value.split('_') mode = items.pop column = items.join('_') {:column => column, :mode => mode} end |
.superclasses(klass) ⇒ Object
29 30 31 32 33 34 35 36 |
# File 'lib/sunrise/utils.rb', line 29 def self.superclasses(klass) superclasses = [] while klass superclasses << klass.superclass if klass && klass.superclass klass = klass.superclass end superclasses end |