Class: Cowtech::RubyOnRails::Models::Ar::ModelBase

Inherits:
ActiveRecord::Base
  • Object
show all
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

Instance Method Summary collapse

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_columnObject



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_idObject



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_columnObject



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

Returns:

  • (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

Returns:

  • (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

Returns:

  • (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_idObject



29
30
31
# File 'app/models/cowtech/ruby_on_rails/models/ar/model_base.rb', line 29

def safe_id
	self.id || 0
end