Module: Rivendell::Import::Tasking::Status
- Included in:
- Rivendell::Import::Task
- Defined in:
- lib/rivendell/import/tasking/status.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
- #change_status!(status) ⇒ Object
- #define_default_status ⇒ Object
- #invoke_status_changed_callbacks ⇒ Object
- #raw_status ⇒ Object
- #status ⇒ Object
Class Method Details
.included(base) ⇒ Object
8 9 10 11 12 13 |
# File 'lib/rivendell/import/tasking/status.rb', line 8 def self.included(base) base.class_eval do after_initialize :define_default_status end base.extend ClassMethods end |
Instance Method Details
#change_status!(status) ⇒ Object
23 24 25 26 27 28 |
# File 'lib/rivendell/import/tasking/status.rb', line 23 def change_status!(status) logger.debug "Change status to #{status}" update_attribute :status, status.to_s # notify! if ran? invoke_status_changed_callbacks end |
#define_default_status ⇒ Object
4 5 6 |
# File 'lib/rivendell/import/tasking/status.rb', line 4 def define_default_status self.status ||= "pending" end |
#invoke_status_changed_callbacks ⇒ Object
30 31 32 33 |
# File 'lib/rivendell/import/tasking/status.rb', line 30 def invoke_status_changed_callbacks callbacks = self.class.status_changed_callbacks.values_at(:all, status.to_sym).flatten callbacks.each { |method| send method } end |
#raw_status ⇒ Object
15 16 17 |
# File 'lib/rivendell/import/tasking/status.rb', line 15 def raw_status read_attribute(:status) end |
#status ⇒ Object
19 20 21 |
# File 'lib/rivendell/import/tasking/status.rb', line 19 def status ActiveSupport::StringInquirer.new(raw_status) if raw_status end |