module StinkBomb

Constants

VERSION

Public Class Methods

bombs() click to toggle source
# File lib/stink_bomb.rb, line 30
def bombs
  configuration.bombs
end
configuration() click to toggle source
# File lib/stink_bomb.rb, line 18
def configuration
  @configuration ||= Configuration.new
end
configure() { |configuration| ... } click to toggle source
# File lib/stink_bomb.rb, line 22
def configure
  yield configuration
end
create(deadline, message: nil) click to toggle source
# File lib/stink_bomb.rb, line 12
def create(deadline, message: nil)
  deadline = parse(deadline)
  message = fill_in_message(deadline, message)
  bombs.each { |bomb| bomb.trigger(deadline, message: message) }
end
reset() click to toggle source
# File lib/stink_bomb.rb, line 26
def reset
  @configuration = nil
end

Private Class Methods

configured_message() click to toggle source
# File lib/stink_bomb.rb, line 40
def configured_message
  StinkBomb.configuration.message
end
fill_in_message(deadline, message) click to toggle source
# File lib/stink_bomb.rb, line 36
def fill_in_message(deadline, message)
  (message || configured_message).gsub('{deadline}', deadline.to_s)
end
parse(time) click to toggle source
# File lib/stink_bomb.rb, line 44
def parse(time)
  if time.is_a?(String)
    Time.parse(time)
  elsif time.respond_to?(:to_time)
    time.to_time
  else
    fail 'Parameter has to be a Time, Date, or a String'
  end
end