definitialize(name="oSthinggg", age=21) @name = name @age = age end
defis_admin? if to_s == "true" "a admin,good!give your fake flag! flag{RuBy3rB_1$_s3_1Z}" else "not admin,your "+@to_s end end
defage if@age > 20 "old" else "young" end end
defmerge(original, additional, current_obj = original) additional.each do |key, value| if value.is_a?(Hash) next_obj = current_obj.respond_to?(key) ? current_obj.public_send(key) : Object.new current_obj.singleton_class.attr_accessor(key) unless current_obj.respond_to?(key) current_obj.instance_variable_set("@#{key}", next_obj) merge(original, value, next_obj) else current_obj.singleton_class.attr_accessor(key) unless current_obj.respond_to?(key) current_obj.instance_variable_set("@#{key}", value) end end original end end
user = User.new("oSthinggg", 21)
get "/"do redirect "/set_age" end
get "/set_age"do ERB.new(File.read("views/age.erb", encoding:"UTF-8")).result(binding) end
post "/set_age"do request.body.rewind age = JSON.parse(request.body.read) user.merge(user,age) end
get "/view"do name=user.name().to_s op_age=user.age().to_s is_admin=user.is_admin?().to_s ERB::new("<h1>Hello,oSthinggg!#{op_age} man!you #{is_admin} </h1>").result end
defis_admin? if to_s == "true" "a admin,good!give your fake flag! flag{RuBy3rB_1$_s3_1Z}" else "not admin,your "+@to_s end end defage if@age > 20 "old" else "young" end end
get "/set_age"do ERB.new(File.read("views/age.erb", encoding:"UTF-8")).result(binding) end
post "/set_age"do request.body.rewind age = JSON.parse(request.body.read) user.merge(user,age) end
get "/view"do name=user.name().to_s op_age=user.age().to_s is_admin=user.is_admin?().to_s ERB::new("<h1>Hello,oSthinggg!#{op_age} man!you #{is_admin} </h1>").result end
E:\Ruby\Ruby-projects>ruby app.rb == Sinatra (v4.1.1) has taken the stage on 4567 for development with backup from Puma *** SIGUSR2 not implemented, signal based restart unavailable! *** SIGUSR1 not implemented, signal based restart unavailable! *** SIGHUP not implemented, signal based logs reopening unavailable! Puma starting in single mode... * Puma version: 6.6.1 ("Return to Forever") * Ruby version: ruby 3.4.5 (2025-07-16 revision 20cda200d3) +PRISM [x64-mingw-ucrt] * Min threads: 0 * Max threads: 5 * Environment: development * PID: 30736 * Listening on http://[::1]:4567 * Listening on http://127.0.0.1:4567 Use Ctrl-C to stop