403Webshell
Server IP : 66.29.132.122  /  Your IP : 3.147.89.30
Web Server : LiteSpeed
System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : admazpex ( 531)
PHP Version : 7.2.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /proc/self/root/proc/self/root/proc/thread-self/root/proc/thread-self/root/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/highline-2.1.0/examples/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/proc/self/root/proc/thread-self/root/proc/thread-self/root/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/highline-2.1.0/examples/basic_usage.rb
#!/usr/bin/env ruby
# encoding: utf-8

# basic_usage.rb
#
#  Created by James Edward Gray II on 2005-04-28.
#  Copyright 2005 Gray Productions. All rights reserved.

require "rubygems"
require "highline/import"
require "yaml"

puts "Using: #{HighLine.default_instance.terminal.class}"
puts

contacts = []

# Just define a parse class method and use the class
# as a parser for HighLine#ask
#
class NameClass
  def self.parse(string)
    raise ArgumentError, "Invalid name format." unless
      string =~ /^\s*(\w+),\s*(\w+)\s*$/

    new(Regexp.last_match(2), Regexp.last_match(1))
  end

  def initialize(first, last)
    @first = first
    @last = last
  end

  attr_reader :first, :last
end

loop do
  entry = {}

  # basic output
  say("Enter a contact:")

  # basic input
  entry[:name] = ask("Name?  (last, first)  ", NameClass) do |q|
    q.validate = /\A\w+, ?\w+\Z/
  end
  entry[:company]     = ask("Company?  ") { |q| q.default = "none" }
  entry[:address]     = ask("Address?  ")
  entry[:city]        = ask("City?  ")
  entry[:state]       = ask("State?  ") do |q|
    q.case     = :up
    q.validate = /\A[A-Z]{2}\Z/
  end
  entry[:zip] = ask("Zip?  ") do |q|
    q.validate = /\A\d{5}(?:-?\d{4})?\Z/
  end
  entry[:phone] = ask("Phone?  ",
                      lambda { |p|
                        p.delete("^0-9").
                                     sub(/\A(\d{3})/, '(\1) ').
                                     sub(/(\d{4})\Z/, '-\1')
                      }) do |q|
    q.validate              = ->(p) { p.delete("^0-9").length == 10 }
    q.responses[:not_valid] = "Enter a phone numer with area code."
  end
  entry[:age]         = ask("Age?  ", Integer) { |q| q.in = 0..105 }
  entry[:birthday]    = ask("Birthday?  ", Date)
  entry[:interests]   = ask("Interests?  (comma separated list)  ",
                            ->(str) { str.split(/,\s*/) })
  entry[:description] = ask("Enter a description for this contact.") do |q|
    q.whitespace = :strip_and_collapse
  end

  contacts << entry
  # shortcut for yes and no questions
  break unless agree("Enter another contact?  ", true)
end

if agree("Save these contacts?  ", true)
  file_name = ask("Enter a file name:  ") do |q|
    q.validate = /\A\w+\Z/
    q.confirm  = true
  end
  File.open("#{file_name}.yaml", "w") { |file| YAML.dump(contacts, file) }
end

Youez - 2016 - github.com/yon3zu
LinuXploit