class Lono::Registration::Temp

Public Instance Methods

check() click to toggle source
# File lib/lono/registration/temp.rb, line 4
def check
  info = read_registration
  if info
    resp = request_verification(info)
    puts "request_verification resp #{resp.inspect}" if ENV['LONO_DEBUG_REGISTRATION']
    # resp nil means non-200 http response. Failsafe behavior is to continue.
    return true if resp.nil?
  end

  prompt unless resp && resp[:valid]
  true
end
prompt() click to toggle source
# File lib/lono/registration/temp.rb, line 21
    def prompt
      return if ENV['LONO_TEST']

      puts <<~EOL

        Looks like lono is not registered. Lono registration is optional and free.
        If you like lono though, please register to help support it. You can register at:

            https://register.lono.cloud

        This prompt appears every 24 hours when lono is not registered. Registration removes
        this message. Registered users can also optionally receive updates and special offers,
        including discounts to BoltOps Pro:

            https://lono.cloud/docs/boltops-pro/

      EOL

      # resp nil means non-200 http response
      resp = get_temp_key
      save_temp_key(resp) unless resp.nil? # save temp key so prompt only happens periodically
    end
read_registration() click to toggle source
# File lib/lono/registration/temp.rb, line 17
def read_registration
  YAML.load_file(temp_path) if File.exist?(temp_path)
end
save_temp_key(info) click to toggle source
# File lib/lono/registration/temp.rb, line 44
def save_temp_key(info)
  FileUtils.mkdir_p(File.dirname(temp_path))
  IO.write(temp_path, YAML.dump(info.deep_stringify_keys))
end
temp_path() click to toggle source
# File lib/lono/registration/temp.rb, line 49
def temp_path
  "#{ENV['HOME']}/.lono/temp.yml"
end