Class: Dhatu::Price
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Dhatu::Price
- Includes:
- Featureable, Publishable
- Defined in:
- app/models/dhatu/price.rb
Class Method Summary collapse
Instance Method Summary collapse
- #can_be_deleted? ⇒ Boolean
-
#can_be_edited? ⇒ Boolean
Permission Methods ——————.
- #display_name ⇒ Object
-
#to_param ⇒ Object
Generic Methods —————.
Class Method Details
.save_row_data(hsh) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'app/models/dhatu/price.rb', line 34 def self.save_row_data(hsh) # Initializing error hash for displaying all errors altogether error_object = Kuppayam::Importer::ErrorHash.new return error_object if hsh[:title].to_s.strip.blank? price = Dhatu::Price.find_by_title(hsh[:title].to_s.strip) || Dhatu::Price.new price.title = hsh[:title].to_s.strip price.sub_title = hsh[:sub_title].to_s.strip price.price = hsh[:price].to_s.strip price.category = Dhatu::Category.find_by_name(hsh[:category].to_s.strip) price.status = hsh[:status].to_s.strip || PUBLISHED price.featured = hsh[:featured].to_s.strip == "true" price.priority = hsh[:priority].to_s.strip || 1 if price.valid? begin price.save! rescue Exception => e summary = "uncaught #{e} exception while handling connection: #{e.}" details = "Stack trace: #{e.backtrace.map {|l| " #{l}\n"}.join}" error_object.errors << { summary: summary, details: details } end else summary = "Error while saving price: #{price.title}" details = "Error! #{price.errors..to_sentence}" error_object.errors << { summary: summary, details: details } end return error_object end |
Instance Method Details
#can_be_deleted? ⇒ Boolean
87 88 89 |
# File 'app/models/dhatu/price.rb', line 87 def can_be_deleted? status?(:removed) end |
#can_be_edited? ⇒ Boolean
Permission Methods
83 84 85 |
# File 'app/models/dhatu/price.rb', line 83 def can_be_edited? status?(:published) or status?(:unpublished) end |
#display_name ⇒ Object
76 77 78 |
# File 'app/models/dhatu/price.rb', line 76 def display_name "#{title_was}" end |
#to_param ⇒ Object
Generic Methods
72 73 74 |
# File 'app/models/dhatu/price.rb', line 72 def to_param "#{id}-#{title.parameterize[0..32]}" end |