lib/active_regulation/visibility.rb in active_regulation-2.2.4 vs lib/active_regulation/visibility.rb in active_regulation-2.2.5
- old
+ new
@@ -4,11 +4,11 @@
include ActiveRegulation::Base
included do
attr_accessor :visibility, :raw_visibility
- before_save :record_visibility!, unless: -> (obj) { obj.raw_visibility.nil? }
+ before_save :record_visibility!
after_initialize :set_visibility!
scope :visible, -> { where(invisible_at: nil) }
scope :invisible, -> { where.not(invisible_at: nil) }
end
@@ -34,17 +34,19 @@
end
private
def record_visibility!
- false_value = FALSE_VALUES.include?(visibility)
- true_value = TRUE_VALUES.include?(visibility)
+ unless raw_visibility.nil?
+ false_value = FALSE_VALUES.include?(visibility)
+ true_value = TRUE_VALUES.include?(visibility)
- if false_value || true_value
- self.invisible_at = (false_value ? Time.now : nil)
- else
- raise ArgumentError,
- "Unknown boolean: #{visibility.inspect}. Must be a valid boolean."
+ if false_value || true_value
+ self.invisible_at = (false_value ? Time.now : nil)
+ else
+ raise ArgumentError,
+ "Unknown boolean: #{visibility.inspect}. Must be a valid boolean."
+ end
end
end
def set_visibility!
self.raw_visibility = visibility
\ No newline at end of file