{"id":17003852,"url":"https://github.com/cldwalker/tux","last_synced_at":"2025-04-12T15:41:39.690Z","repository":{"id":59158261,"uuid":"1566580","full_name":"cldwalker/tux","owner":"cldwalker","description":"Sinatra dressed for interactive ruby - a sinatra shell","archived":false,"fork":false,"pushed_at":"2023-05-04T12:55:57.000Z","size":148,"stargazers_count":302,"open_issues_count":5,"forks_count":18,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-06T18:53:03.553Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cldwalker.png","metadata":{"files":{"readme":"README.rdoc","changelog":"CHANGELOG.rdoc","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2011-04-04T11:02:17.000Z","updated_at":"2025-03-23T17:31:10.000Z","dependencies_parsed_at":"2024-01-13T10:43:13.949Z","dependency_job_id":"a6dbf63b-136f-4ca6-980d-bb169627ab08","html_url":"https://github.com/cldwalker/tux","commit_stats":{"total_commits":18,"total_committers":2,"mean_commits":9.0,"dds":0.05555555555555558,"last_synced_commit":"3c1b4434511f29c51ca65ed97175b7e95c176899"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldwalker%2Ftux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldwalker%2Ftux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldwalker%2Ftux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldwalker%2Ftux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cldwalker","download_url":"https://codeload.github.com/cldwalker/tux/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248590864,"owners_count":21129904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T04:32:56.202Z","updated_at":"2025-04-12T15:41:39.668Z","avatar_url":"https://github.com/cldwalker.png","language":"Ruby","funding_links":[],"categories":["Debugging and Profiling"],"sub_categories":[],"readme":"== Description\nTux dresses up sinatra in a shell. Use it to interact with your helpers, view rendering and\nyour app's response objects. Tux also gives you commands to view your app's routes and settings.\n\n== Install\nInstall the gem with:\n\n    gem install tux\n\n== Usage\n\nStart with:\n\n    $ tux\n\nIf your app's config file isn't config.ru, specify with -c\n\n    $ tux -c app.ru\n\nTo interact with your helpers:\n\n    \u003e\u003e app.my_helper_method\n    ...\n\nTo interact with any built-in sinatra methods i.e. request and response specific helper\nmethods:\n\n    # depends on request\n    \u003e\u003e app.uri '/'\n    =\u003e \"http://:/\"\n\n    # depends on response\n    \u003e\u003e app.headers\n    =\u003e {\"Content-Type\"=\u003e\"text/html\"}\n\nFor the above to work, tux sets up default empty request and response objects. To try the helpers\nwith custom requests and responses:\n\n    \u003e\u003e app.request = Sinatra::Request.new({})\n    \u003e\u003e app.response = Sinatra::Response.new\n\nTo interact with your views:\n\n    \u003e\u003e app.erb :my_template\n    =\u003e 'template rendered'\n\n    # also\n    \u003e\u003e app.haml\n    \u003e\u003e app.markdown\n    ...\n\nTux lets you make requests and interact with rack response objects thanks to\n{rack-test}[https://github.com/brynary/rack-test]:\n\n    \u003e\u003e get '/'\n    =\u003e #\u003cRack::MockResponse:0x13d452c @headers={\"Content-Type\"=\u003e\"text/html;charset=utf-8\",\n    \"Content-Length\"=\u003e\"4\"}, @errors=\"127.0.0.1 - - [05/Apr/2011 02:22:27] \\\"GET / \\\" 200 4\n    0.0015\\n\", @status=200, @original_headers={\"Content-Type\"=\u003e\"text/html;charset=utf-8\",\n    \"Content-Length\"=\u003e\"4\"}, @body=\"dude\"\u003e\n\n    \u003e\u003e puts last_response.body\n    dude\n\n    \u003e\u003e post '/create'\n    ...\n\nTo see the full list of rack-test actions you can make\n\n    \u003e\u003e rack.actions\n    =\u003e [:request, :get, :post, :put, :delete, :head, :follow_redirect!, :header, :set_cookie,\n    :clear_cookies, :authorize, :basic_authorize, :digest_authorize, :last_response, :last_request]\n\nTux also comes with commands to give you a good overview of your app\n\n    \u003e\u003e routes\n    HEAD  \"/\"\n    HEAD  /book/:id\n    GET   \"/\"\n    GET   /book/:id\n\n    \u003e\u003e settings\n    absolute_redirects  true\n    add_charset         [/^text\\//, \"application/javascript\", \"application/xml\",\n    \"application/xhtml+xml\"]\n    app_file            \"./sample.rb\"\n    bind                \"0.0.0.0\"\n    default_encoding    \"utf-8\"\n    dump_errors         true\n    empty_path_info     nil\n    environment         :development\n    lock                false\n    logging             false\n    method_override     false\n    port                4567\n    prefixed_redirects  false\n    public              \"/my/path/public\"\n    raise_errors        false\n    reload_templates    true\n    root                \"/my/path\"\n    run                 false\n    running             false\n    server              [\"thin\", \"mongrel\", \"webrick\"]\n    session_secret      \"XXX\"\n    sessions            false\n    show_exceptions     true\n    static              true\n    views               \"/my/path/views\"\n\n== Configure\n\nSince tux is a {ripl shell}[http://github.com/cldwalker/ripl], tux is highly configurable. You can\ncreate tux commands in the format tux-COMMAND and enhance your shell by adding ripl plugins to\n~/.riplrc. Read {ripl's readme}[http://github.com/cldwalker/ripl#readme] for more.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcldwalker%2Ftux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcldwalker%2Ftux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcldwalker%2Ftux/lists"}