Linux ubuntu22 5.15.0-133-generic #144-Ubuntu SMP Fri Feb 7 20:47:38 UTC 2025 x86_64
nginx/1.18.0
: 128.199.27.159 | : 216.73.216.159
Cant Read [ /etc/named.conf ]
8.1.31
www-data
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
lib /
ruby /
gems /
3.0.0 /
gems /
rbs-1.0.4 /
[ HOME SHELL ]
Name
Size
Permission
Action
bin
[ DIR ]
drwxr-xr-x
core
[ DIR ]
drwxr-xr-x
docs
[ DIR ]
drwxr-xr-x
exe
[ DIR ]
drwxr-xr-x
lib
[ DIR ]
drwxr-xr-x
schema
[ DIR ]
drwxr-xr-x
sig
[ DIR ]
drwxr-xr-x
stdlib
[ DIR ]
drwxr-xr-x
steep
[ DIR ]
drwxr-xr-x
.rubocop.yml
267
B
-rw-r--r--
BSDL
1.25
KB
-rw-r--r--
CHANGELOG.md
11.9
KB
-rw-r--r--
COPYING
2.38
KB
-rw-r--r--
Gemfile
463
B
-rw-r--r--
README.md
4.47
KB
-rw-r--r--
Rakefile
5.75
KB
-rw-r--r--
Steepfile
709
B
-rw-r--r--
goodcheck.yml
2.65
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : Rakefile
require "bundler/gem_tasks" require "rake/testtask" require "rbconfig" ruby = ENV["RUBY"] || RbConfig.ruby rbs = File.join(__dir__, "exe/rbs") bin = File.join(__dir__, "bin") Rake::TestTask.new(:test) do |t| t.libs << "test" t.libs << "lib" t.test_files = FileList["test/**/*_test.rb"].reject do |path| path =~ %r{test/stdlib/} end end multitask :default => [:test, :stdlib_test, :rubocop, :validate, :test_doc] task :test_doc => :parser do files = Dir.chdir(File.expand_path('..', __FILE__)) do `git ls-files -z`.split("\x0").select do |file| Pathname(file).extname == ".md" end end sh "#{ruby} #{__dir__}/bin/run_in_md.rb #{files.join(" ")}" end task :validate => :parser do sh "#{ruby} #{rbs} validate --silent" FileList["stdlib/*"].each do |path| lib = [File.basename(path).to_s] if lib == ["bigdecimal-math"] lib << "bigdecimal" end if lib == ["yaml"] lib << "dbm" lib << "pstore" end if lib == ["logger"] lib << "monitor" end if lib == ["csv"] lib << "forwardable" end if lib == ["prime"] lib << "singleton" end sh "#{ruby} #{rbs} #{lib.map {|l| "-r #{l}"}.join(" ")} validate --silent" end end FileList["test/stdlib/**/*_test.rb"].each do |test| task test => :parser do sh "#{ruby} -Ilib #{bin}/test_runner.rb #{test}" end task stdlib_test: test end task :rubocop do sh "rubocop --parallel" end rule ".rb" => ".y" do |t| sh "racc -v -o #{t.name} #{t.source}" end task :parser => "lib/rbs/parser.rb" task :test => :parser task :stdlib_test => :parser task :build => :parser task :confirm_parser do puts "Testing if parser.rb is updated with respect to parser.y" sh "racc -v -o lib/rbs/parser.rb lib/rbs/parser.y" sh "git diff --exit-code lib/rbs/parser.rb" end namespace :generate do desc "Generate a test file for a stdlib class signatures" task :stdlib_test, [:class] do |_task, args| klass = args.fetch(:class) do raise "Class name is necessary. e.g. rake 'generate:stdlib_test[String]'" end path = Pathname(ENV["RBS_GENERATE_TEST_PATH"] || "test/stdlib/#{klass}_test.rb") raise "#{path} already exists!" if path.exist? require "erb" require "rbs" class TestTemplateBuilder attr_reader :klass, :env def initialize(klass) @klass = klass loader = RBS::EnvironmentLoader.new Dir['stdlib/*'].each do |lib| next if lib.end_with?('builtin') loader.add(library: File.basename(lib)) end @env = RBS::Environment.from_loader(loader).resolve_type_names end def call ERB.new(<<~ERB, trim_mode: "-").result(binding) require_relative "test_helper" <%- unless class_methods.empty? -%> class <%= klass %>SingletonTest < Test::Unit::TestCase include TypeAssertions # library "pathname", "set", "securerandom" # Declare library signatures to load testing "singleton(::<%= klass %>)" <%- class_methods.each do |method_name, definition| %> def test_<%= test_name_for(method_name) %> <%- definition.method_types.each do |method_type| -%> assert_send_type "<%= method_type %>", <%= klass %>, :<%= method_name %> <%- end -%> end <%- end -%> end <%- end -%> <%- unless instance_methods.empty? -%> class <%= klass %>Test < Test::Unit::TestCase include TypeAssertions # library "pathname", "set", "securerandom" # Declare library signatures to load testing "::<%= klass %>" <%- instance_methods.each do |method_name, definition| %> def test_<%= test_name_for(method_name) %> <%- definition.method_types.each do |method_type| -%> assert_send_type "<%= method_type %>", <%= klass %>.new, :<%= method_name %> <%- end -%> end <%- end -%> end <%- end -%> ERB end private def test_name_for(method_name) { :== => 'double_equal', :!= => 'not_equal', :=== => 'triple_equal', :[] => 'square_bracket', :[]= => 'square_bracket_assign', :> => 'greater_than', :< => 'less_than', :>= => 'greater_than_equal_to', :<= => 'less_than_equal_to', :<=> => 'spaceship', :+ => 'plus', :- => 'minus', :* => 'multiply', :/ => 'divide', :** => 'power', :% => 'modulus', :& => 'and', :| => 'or', :^ => 'xor', :>> => 'right_shift', :<< => 'left_shift', :=~ => 'pattern_match', :!~ => 'does_not_match', :~ => 'tilde' }.fetch(method_name, method_name) end def type_name @type_name ||= RBS::TypeName.new(name: klass.to_sym, namespace: RBS::Namespace.new(path: [], absolute: true)) end def class_methods @class_methods ||= RBS::DefinitionBuilder.new(env: env).build_singleton(type_name).methods.select {|_, definition| definition.implemented_in == type_name } end def instance_methods @instance_methods ||= RBS::DefinitionBuilder.new(env: env).build_instance(type_name).methods.select {|_, definition| definition.implemented_in == type_name } end end path.write TestTemplateBuilder.new(klass).call puts "Created: #{path}" end end task :test_generate_stdlib do sh "RBS_GENERATE_TEST_PATH=/tmp/Array_test.rb rake 'generate:stdlib_test[Array]'" sh "ruby -c /tmp/Array_test.rb" end CLEAN.include("lib/rbs/parser.rb")
Close