Class: Cowtech::RubyOnRails::Models::Ar::ModelBase
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Cowtech::RubyOnRails::Models::Ar::ModelBase
- Defined in:
- app/models/cowtech/ruby_on_rails/models/ar/model_base.rb,
app/models/cowtech/ruby_on_rails/models/ar/model_base.rb
Class Method Summary collapse
- .[](what, only_id = false) ⇒ Object
- .deleted_column ⇒ Object
- .deleted_status_id ⇒ Object
- .status_column ⇒ Object
Instance Method Summary collapse
- #deletable?(user = nil) ⇒ Boolean
- #delete(definitive = false) ⇒ Object
- #editable?(user = nil) ⇒ Boolean
- #is?(other) ⇒ Boolean
- #safe_id ⇒ Object
Class Method Details
.[](what, only_id = false) ⇒ Object
25 26 27 |
# File 'app/models/cowtech/ruby_on_rails/models/ar/model_base.rb', line 25 def self.[](what, only_id = false) self.__finalize(self.__safe_index_find(what), only_id) end |
.deleted_column ⇒ Object
13 14 15 |
# File 'app/models/cowtech/ruby_on_rails/models/ar/model_base.rb', line 13 def self.deleted_column "deleted_at" end |
.deleted_status_id ⇒ Object
21 22 23 |
# File 'app/models/cowtech/ruby_on_rails/models/ar/model_base.rb', line 21 def self.deleted_status_id 0 end |
.status_column ⇒ Object
17 18 19 |
# File 'app/models/cowtech/ruby_on_rails/models/ar/model_base.rb', line 17 def self.status_column "status_id" end |
Instance Method Details
#deletable?(user = nil) ⇒ Boolean
37 38 39 |
# File 'app/models/cowtech/ruby_on_rails/models/ar/model_base.rb', line 37 def deletable?(user = nil) true end |
#delete(definitive = false) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'app/models/cowtech/ruby_on_rails/models/ar/model_base.rb', line 41 def delete(definitive = false) if !definitive then if self.deletable? then if self.has_attribute?(self.class.deleted_column) then self.update_attribute(self.class.deleted_column, DateTime.now) true elsif self.has_attribute?(self.class.status_column) then self.update_attribute(self.class.status_column, self.deleted_status) true else super() end else false end else super() end end |
#editable?(user = nil) ⇒ Boolean
33 34 35 |
# File 'app/models/cowtech/ruby_on_rails/models/ar/model_base.rb', line 33 def editable?(user = nil) true end |
#is?(other) ⇒ Boolean
61 62 63 |
# File 'app/models/cowtech/ruby_on_rails/models/ar/model_base.rb', line 61 def is?(other) other ? (self.id == self.class.__safe_index_find(other).id) : false end |
#safe_id ⇒ Object
29 30 31 |
# File 'app/models/cowtech/ruby_on_rails/models/ar/model_base.rb', line 29 def safe_id self.id || 0 end |