class Cardio::Mod::Eat
import data from data directory of mods (list of card attributes) docs.google.com/document/d/13K_ynFwfpHwc3t5gnLeAkZJZHco1wK063nJNYwU8qfc/edit#
Public Class Methods
Source
# File lib/cardio/mod/eat.rb, line 14 def initialize mod: nil, podtype: nil, user: nil, verbose: nil, name: nil @mod = mod @pod_type = podtype&.to_sym @name = name @user_id = user&.card_id @verbose = !verbose.nil? end
Public Instance Methods
Source
# File lib/cardio/mod/eat.rb, line 22 def run handle_up do edibles.each do |edible| track edible do current_user edible.delete(:user) time_machine edible.delete(:time) do Card.ensure! edible end end end end end
Private Instance Methods
Source
# File lib/cardio/mod/eat.rb, line 65 def current_user item_user Card::Auth.current_id = item_user&.card_id || @user_id || Card::WagnBotID end
Source
# File lib/cardio/mod/eat.rb, line 38 def handle_up &block Card::Cache.reset_all Card::Mailer.perform_deliveries = false Card::Auth.as_bot(&block) :success rescue StandardError => e e.message end
if output mod given,
Source
# File lib/cardio/mod/eat.rb, line 57 def rescuing edible yield rescue StandardError => e puts edible puts e.message.red puts e.backtrace[0..10].join("\n") if @verbose end
Source
# File lib/cardio/mod/eat.rb, line 75 def time_integer value case value when /^[+-]\d+$/ # plus or minus an integer (safe to eval) eval "#{Time.now.to_i} #{value}", # 1741296981 +1 (e.g.) binding, __FILE__, __LINE__ - 1 when Integer value else raise TypeError, "invalid time value: #{value}. accepts int, +int, and -int" end end
Source
# File lib/cardio/mod/eat.rb, line 69 def time_machine value, &block return yield unless value.present? Timecop.freeze Time.at(time_integer(value)), &block end
Source
# File lib/cardio/mod/eat.rb, line 47 def track edible rescuing edible do # n = edible[:name] # binding.pry if (n.is_a? Array) && n.first.to_s == "main_menu" # puts "eating: #{edible}" if @verbose card = yield puts "eaten: #{card.name}".cyan if @verbose end end