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



113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# File 'lib/mark_only.rb', line 113

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
  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:

  • (Boolean)


130
131
132
# File 'lib/mark_only.rb', line 130

def self.mark_only?
  false
end

Instance Method Details

#mark_only?Boolean

Returns:

  • (Boolean)


134
135
136
# File 'lib/mark_only.rb', line 134

def mark_only?
  self.class.mark_only?
end

#persisted?Boolean

Returns:

  • (Boolean)


138
139
140
# File 'lib/mark_only.rb', line 138

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