# Table of Contents - Camping, a Microframework

## Pages

- CHANGELOG
  - 3.2.6
  - 3.2.5
  - 13 June, 2024
  - 3.2.4
  - 10 June, 2024
  - 3.2.3
  - 09 June, 2024
  - 3.2.2
  - 09 June, 2024
  - 3.2.1
  - 09 June, 2024
  - 3.2.0
  - 05 June, 2024
  - 3.1.3
  - 24 June, 2023
  - 3.1.1
  - 23 June, 2023
  - 3.1.0
  - 22 June, 2023
  - 3.0.2
  - 18th March, 2023
  - 3.0.1
  - 18th March, 2023
  - 3.0
  - 18th March, 2023
  - 2.3
  - 28th July, 2022
  - 2.2
  - Never Released
  - 2.1
  - 19th Aug, 2010 (whyday)
  - 2.0
  - 9th Apr, 2010
  - 1.6
  - Never released
  - 1.5
  - 3rd Oct, 2006
  - 1.4.2
  - 18th May, 2006
  - 1.4.1
  - 3rd May, 2006
  - 1.4
  - 11th April, 2006
  - 1.3
  - 28th January, 2006
  - 1.2
  - 23rd January, 2006
  - 1.1
  - 19th January, 2006
  - 1.0
  - 17th January, 2006
- COPYING
- README
  - ⛺️ Camping, a Microframework
  - A Camping Skeleton
  - Installation
  - Learning
  - Contributing
  - Running Tests
  - Minting Releases
  - Authors
- 01_introduction
  - Introduction
- 02_getting_started
  - Getting Started
  - Hello clock
  - Enjoying the view
  - Routes
  - Simpler routes
  - Modeling the world
  - Using our model
  - Wrapping it up
  - The last touch
  - Phew.
- 03_more_about_controllers
  - Controllers
  - Camping Routes and Controllers
  - Controller Parameters
  - Getting parameters from the controller
- 04_more_about_views
  - Views
  - Camping Views
  - Views and Controllers
  - Template engine
- 05_more_about_markaby
  - Where Markaby’s come from
  - Writing HTML pragmatically
  - Markaby and the layout
  - Tip
- 06_more_about_models
  - More about Models
- 06_rules_of_thumb
  - Keep it in one file
  - What if things get out of hand?
  - Small apps, many mounts
  - Give us a create method
  - The camping server
  - Bin/camping
- 07_philosophy
  - Why’s origin story
  - Actual philosophy
- 08_publishing_an_app
  - Using a Rackup compatible host
  - Using a spare computer
  - If you have a static IP address
  - If you have a dynamic IP address
  - Troubleshooting
  - Using Dreamhost
  - Using Heroku
  - Using Google App Engine
  - Using a CGI Webhost
  - Using a Rack Compatible Web Host
  - And Also Some Luck
- 09_upgrade_notes
  - Upgrade notes
  - From 2.0 to 2.1
  - Options
  - From 1.5 to 2.0
  - Rack
  - Require ‘camping/db’
  - Cookie Sessions
  - Error Handling
- 10_middleware
  - The HTTP Request
  - notes:
- 11_gear
  - Pack Your Gear

## Classes and Modules

- Campguide
- Camping
  - The Camping Server (for development)
- Camping::CampTools
- Camping::Commands
- Camping::CommandsHelpers
- Camping::CommandsHelpers::Route
- Camping::CommandsHelpers::RouteCollection
- Camping::CommandsHelpers::RoutesParser
- Camping::Firewatch
- Camping::Generators
- Camping::Loader
  - The Camping Reloader
  - Wrapping Your Apps
- Camping::Loader::Reloader
  - The Camping Reloader
  - Wrapping Your Apps
- Camping::Models
- Camping::Server
- Camping::Server::Options
- Camping::Server::XSendfile
- Camping::Session
  - Getting Started
  - Other backends
- Camping::Tools
- Gear
- Gear::Filters
- Gear::Filters::ClassMethods
- Gear::Firewatch
- Gear::Firewatch::HelperMethods
- Gear::Inspection
- Gear::Inspection::ClassMethods
- Gear::Inspection::ControllersClassMethods
- Gear::Kuddly
- Gear::Kuddly::ClassMethods
- Gear::Nancy
- Gear::Nancy::ClassMethods
- Object
- Object::CampTools

## Methods

- ::app_name_from_input — Camping::CommandsHelpers
- ::controller_script — Gear::Nancy
- ::default_logger — Camping::Firewatch
- ::default_template — Camping::Firewatch
- ::descape — Camping::Tools
- ::descape — Camping::Tools
- ::descape — Camping::Tools
- ::ensure_app — Gear::Nancy
- ::get_config — Gear::Kuddly
- ::get_root_config_file — Gear::Kuddly
- ::included — Camping::Session
- ::included — Gear::Filters
- ::included — Gear::Firewatch
- ::included — Gear::Inspection
- ::included — Gear::Kuddly
- ::included — Gear::Nancy
- ::kdl_error_message — Gear::Kuddly
- ::logger — Camping::Firewatch
- ::logger= — Camping::Firewatch
- ::logging_middleware — Camping::Server
- ::make_camp_file — Camping::Generators
- ::make_camping_route — Gear::Nancy
- ::make_configkdl — Camping::Generators
- ::make_gemfile — Camping::Generators
- ::make_gitignore — Camping::Generators
- ::make_public_folder — Camping::Generators
- ::make_rakefile — Camping::Generators
- ::make_readme — Camping::Generators
- ::make_ruby_version — Camping::Generators
- ::make_sense — Campguide
- ::make_test_folder — Camping::Generators
- ::map_kdl — Gear::Kuddly
- ::module_script — Gear::Nancy
- ::new — Camping::CommandsHelpers::RoutesParser
- ::new — Camping::Loader
- ::new — Camping::Loader
- ::new — Camping::Server
- ::new — Camping::Server::XSendfile
- ::new — Camping::Firewatch
- ::new_cmd — Camping::Commands
- ::normalize_routes — Gear::Nancy
- ::normalize_slashes — Camping::Tools
- ::normalize_slashes — Camping::Tools
- ::normalize_slashes — Camping::Tools
- ::norms — Camping::Tools
- ::norms — Camping::Tools
- ::norms — Camping::Tools
- ::parse — Camping::CommandsHelpers::RoutesParser
- ::parse_kdl — Gear::Kuddly
- ::read — Camping::Generators
- ::routes — Camping::Commands
- ::setup — Gear::Filters
- ::setup — Gear::Firewatch
- ::setup — Gear::Inspection
- ::setup — Gear::Kuddly
- ::setup — Gear::Nancy
- ::to_camel_case — Camping::CommandsHelpers
- ::to_snake — Camping::Tools
- ::to_snake — Camping::Tools
- ::to_snake — Camping::Tools
- ::to_snake_case — Camping::CommandsHelpers
- ::version — Camping
- ::write — Camping::Generators
- #== — Camping::Loader
- #== — Camping::Loader
- #after — Gear::Filters::ClassMethods
- #all — Gear::Inspection::ControllersClassMethods
- #app — Camping::Server
- #app_header — Camping::CommandsHelpers::Route
- #apps — Camping::Loader
- #apps — Camping::Loader
- #before — Gear::Filters::ClassMethods
- #call — Camping::Server
- #call — Camping::Server::XSendfile
- #can_add_directory — Camping::Loader
- #can_add_directory — Camping::Loader
- #configure — Gear::Kuddly::ClassMethods
- #controller_header — Camping::CommandsHelpers::Route
- #default_options — Camping::Server
- #delete — Gear::Nancy::ClassMethods
- #display — Camping::CommandsHelpers::RouteCollection
- #filters — Gear::Filters::ClassMethods
- #folders_and_files_in — Camping::Loader
- #folders_and_files_in — Camping::Loader
- #full_path — Camping::Loader
- #full_path — Camping::Loader
- #get — Gear::Nancy::ClassMethods
- #head — Gear::Nancy::ClassMethods
- #http_methods — Camping::CommandsHelpers::Route
- #link — Gear::Nancy::ClassMethods
- #load_everything — Camping::Loader
- #load_everything — Camping::Loader
- #load_file — Camping::Loader
- #load_file — Camping::Loader
- #loader — Camping::Server
- #log — Gear::Firewatch::HelperMethods
- #logger — Gear::Firewatch::HelperMethods
- #middleware — Camping::Server
- #mtime — Camping::Loader
- #mtime — Camping::Loader
- #name — Camping::Loader
- #name — Camping::Loader
- #opt_parser — Camping::Server
- #pad — Camping::CommandsHelpers::Route
- #padded_message — Camping::CommandsHelpers::Route
- #parse — Camping::CommandsHelpers::RoutesParser
- #parse! — Camping::Server::Options
- #patch — Gear::Nancy::ClassMethods
- #path_matches? — Camping::Server
- #pause — Camping::Loader
- #pause — Camping::Loader
- #post — Gear::Nancy::ClassMethods
- #processing_events? — Camping::Loader
- #processing_events? — Camping::Loader
- #public_dir — Camping::Server
- #put — Gear::Nancy::ClassMethods
- #reload — Camping::Loader
- #reload — Camping::Loader
- #reload! — Camping::Loader
- #reload! — Camping::Loader
- #reload_directory — Camping::Loader
- #reload_directory — Camping::Loader
- #remove_constants — Camping::Loader
- #remove_constants — Camping::Loader
- #replace_reg — Camping::CommandsHelpers::Route
- #run_filters — Gear::Filters
- #service — Gear::Filters
- #setup_zeit — Camping::Loader
- #setup_zeit — Camping::Loader
- #size — Camping::Server::XSendfile
- #start — Camping::Loader
- #start — Camping::Loader
- #start — Camping::Server
- #stop — Camping::Loader
- #stop — Camping::Loader
- #to_proc — Gear::Nancy::ClassMethods
- #to_s — Camping::CommandsHelpers::Route
- #unlink — Gear::Nancy::ClassMethods