Class: ActiveRecord::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/mark_only.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.mark_only(col_name) ⇒ Object



122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# File 'lib/mark_only.rb', line 122

def self.mark_only(col_name)
  raise "#{self} must call mark_only with a column name!" unless col_name
  class_attribute :mark_only_column, instance_writer: true
  self.mark_only_column = col_name.to_sym
  class << self
    alias_method :mark_only_orig_class_delete, :delete
    alias_method :mark_only_orig_class_delete_all, :delete_all
  end
  alias_method :mark_only_orig_delete, :delete
  alias_method :mark_only_orig_destroy, :destroy
  alias_method :mark_only_orig_destroyed?, :destroyed?
  include MarkOnly
  if defined?(ActiveRecord::VERSION::MAJOR) && ActiveRecord::VERSION::MAJOR > 3
    alias_method :mark_only_orig_destroy!, :destroy!
    include MarkOnlyRails4Extensions
  end
end

.mark_only?Boolean

Returns:



140
141
142
# File 'lib/mark_only.rb', line 140

def self.mark_only?
  false
end

Instance Method Details

#mark_only?Boolean

Returns:



144
145
146
# File 'lib/mark_only.rb', line 144

def mark_only?
  self.class.mark_only?
end

#persisted?Boolean

Returns:



148
149
150
# File 'lib/mark_only.rb', line 148

def persisted?
  mark_only? ? !new_record? : super
end