class Thirsty::Requirement::Update

Attributes

requirement[R]

Public Class Methods

new(requirement) click to toggle source
# File lib/thirsty/requirement/update.rb, line 8
def initialize(requirement)
  @requirement = requirement
end

Public Instance Methods

call() click to toggle source
# File lib/thirsty/requirement/update.rb, line 12
def call
  validate_input
  ensure_directory
  write_requirement
end

Private Instance Methods

ensure_directory() click to toggle source
# File lib/thirsty/requirement/update.rb, line 28
def ensure_directory
  FileUtils.mkdir_p(File.expand_path('~/.thirsty'))
end
validate_input() click to toggle source
# File lib/thirsty/requirement/update.rb, line 22
def validate_input
  if requirement !~ /^\s*[+-]?((\d+_?)*\d+(\.(\d+_?)*\d+)?|\.(\d+_?)*\d+)(\s*|([eE][+-]?(\d+_?)*\d+)\s*)$/
    raise ArgumentError, "invalid value for Float(): #{requirement.inspect}"
  end
end
write_requirement() click to toggle source
# File lib/thirsty/requirement/update.rb, line 32
def write_requirement
  File.open(File.expand_path('~/.thirsty/requirement.txt'), 'w+') { |f| f << requirement.to_f }
end