class Gaebot::Task

Public Class Methods

new(*args, &block) click to toggle source
# File lib/gaebot.rb, line 7
def initialize(*args, &block)
  @host      = "localhost"
  @database  = "twimaker_game"
  @user_model = nil
  @tweets = []
  instance_eval(&block)
  ActiveRecord::Base.establish_connection(
    :adapter  => 'mysql',
    :host     => @host,
    :username => @username,
    :password => @password,
    :database => @database,
    :encoding => 'utf8'
  )
  @config = Config.load()
end

Public Instance Methods

add_tweet(hash = {}) click to toggle source
# File lib/gaebot.rb, line 42
def add_tweet(hash = {})
  @tweets.push(
    :msg          => hash[:msg],
    :token_key    => hash[:token_key],
    :token_secret => hash[:token_secret],
  )
end
each_user() { |user, task| ... } click to toggle source
# File lib/gaebot.rb, line 24
def each_user
  users = Gaebot::User.where("id > :id", {:id => @config[:cursor]}).order(:id).limit(@config[:count])
  last_id = 0
  users.each do |user|
    unless AutoTask.done?(user.id)
      task = AutoTask.new
      task.id = user.id
      yield user, task
      last_id = user.id
    end
  end
  unless users.empty?
    @config[:cursor] = last_id
  else
    @config[:cursor] = 0
  end
end
output() click to toggle source
# File lib/gaebot.rb, line 50
def output
  JSON.generate(@tweets)
end
save_config() click to toggle source
# File lib/gaebot.rb, line 54
def save_config
  Config.save(@config)
end