Class: Sequence

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/core/models/sequence.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.process_all(sleep = 60) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/core/models/sequence.rb', line 15

def self.process_all(sleep=60)
  loop do
    actions = where("'#{Time.now.utc}' > execution_time or execution_time is null").includes(:user).order(:execution_time)
    actions.each do |action|
      if action.user.last_usage > Kogno::Application.config.sequences.time_elapsed_after_last_usage
        Kogno::Context.run_sequence(action)
      else
        logger.write "User ID #{action.user.psid} wrote us recently, let's wait #{Kogno::Application.config.sequences.time_elapsed_after_last_usage - action.user.last_usage} seconds before bother him.", :green
      end
    end
    sleep(sleep)
  end
end

Instance Method Details

#routeObject



10
11
12
# File 'lib/core/models/sequence.rb', line 10

def route
  "#{context}.#{stage}"
end

#set_last_hit_atObject



6
7
8
# File 'lib/core/models/sequence.rb', line 6

def set_last_hit_at
  self.last_hit_at = Time.now.utc
end