class Omnibar::Calculate

Public Instance Methods

e() click to toggle source
# File lib/omnibar/queries/calculate.rb, line 42
def e
  E
end
perform!() click to toggle source
# File lib/omnibar/queries/calculate.rb, line 23
def perform!
  copy_to_clipboard value
end
pi() click to toggle source
# File lib/omnibar/queries/calculate.rb, line 38
def pi
  PI
end
relevance() click to toggle source
# File lib/omnibar/queries/calculate.rb, line 34
def relevance
  !value.nil?
end
result() click to toggle source
# File lib/omnibar/queries/calculate.rb, line 5
def result
  if value.is_a?(Integer)
    [sanitized_input, value].join(' = ')
  else
    value.to_s
  end
end
sanitized_input() click to toggle source
# File lib/omnibar/queries/calculate.rb, line 27
def sanitized_input
  input
    .gsub(/(\D)\./, '\10.')
    .gsub('sleep', '')
    .gsub('exit', '')
end
value() click to toggle source
# File lib/omnibar/queries/calculate.rb, line 13
def value
  @value ||= eval('(' + sanitized_input + '.to_f).round(3)')
rescue ZeroDivisionError
  'Division by zero is undefined'
rescue Math::DomainError => e
  e.message
rescue StandardError, SyntaxError
  nil
end