ProductPromotion
Logo

Ruby

made by https://0x3d.site

GitHub - camping/camping: the 5k pocket full-of-gags web microframework
the 5k pocket full-of-gags web microframework. Contribute to camping/camping development by creating an account on GitHub.
Visit Site

GitHub - camping/camping: the 5k pocket full-of-gags web microframework

GitHub - camping/camping: the 5k pocket full-of-gags web microframework

Build Status Build Status

⛺️ Camping, a Microframework

Camping is a micro web framework which stays as small as possible. You can probably view the complete source code on a single page. But, you know, it's so small that, if you think about it, what can it really do? Apparently it can do a lot. It's pretty swell.

The idea here is to store a complete fledgling web application in a single file like many small CGIs. But to organize it as a Model-View-Controller application. And with time, you can move your Models, Views, and Controllers into other files as your app grows.

Camping supports multiple apps, capsuled code that runs together. Each app can have independent models, routes, and controllers.

Pack your gear when you go Camping! With a simple plugin system, Camping is easily extensible. Add all sorts of useful and silly things.

A Camping Skeleton

A skeletal Camping blog could look like this:

require 'camping'

Camping.goes :Blog

module Blog::Models
  class Post < Base; belongs_to :user; end
  class Comment < Base; belongs_to :user; end
  class User < Base; end
end

module Blog::Controllers
  class Index
    def get
      @posts = Post.find :all
      render :index
    end
  end
end

module Blog::Views
  def layout
    html do
      head { title "My Blog" }
      body do
        h1 "My Blog"
        self << yield
      end
    end
  end

  def index
    @posts.each do |post|
      h1 post.title
    end
  end
end

Installation

Interested yet? Luckily it's quite easy to install Camping. We'll be using a tool called RubyGems, and Bundler, so if you don't have that installed yet, go grab it! Once that's sorted out, open up a Terminal or Command Line and enter:

gem install camping

Even better, install the Camping Omnibus, a full package of recommended libs: Camping Omnibus will return for summer vacation.

Now make a new directory filled with your camp essentials using the camping new command:

camping new Donuts # You can replace Donuts with whatever but CamelCased.

Move to your new directory, then use bundler to install all of your camp's dependencies:

cd donuts; bundle install

You can now run camping using the camping command. We recommend running camping in development mode locally. Make certain to prefix the camping command with bundle exec to run your app with the gems you've installed just for your camp:

bundle exec camping -e development

Learning

First of all, you should read the first chapters of The Camping Book. It should hopefully get you started pretty quick. While you're doing that, you should be aware of the reference which contains documentation for all the different parts of Camping.

The wiki is the place for all tiny, useful tricks that we've collected over the years. Don't be afraid to share your own discoveries; the more, the better!

We have a Discord channel over at the Ruby Punks community, so if you feel like chatting with us, you should join #camping. Once our chattin' leads to action, we open up an issue on Github and move the conversation over there.

Contributing

Camping is under active development, and we'd love some help!. Our current focus is bug fixes, documentation, and tests. We have a number of issues open for new contributors to get crackin!

To begin contributing, Fork Camping, Then make a new branch, (git checkout -b my_branch_name) with your changes. When you're ready to bring all that hard work on over, open a draft PR and ping Karl to take a look, He'll help you fix any issues and help you get it inside of old Camping.

Have a suggestion? Open an issue with what you think we ought to be doing with our lives, and we'll talk about it. Don't be shy.

Running Tests

Tests should be run using bundler and rake: bundle exec rake.

Minting Releases

We use Ruby Gems to distribute versions of Camping. When you're ready to mint a release, run: gem build -o camping.gem, then gem push camping.gem.

Authors

Camping was originally crafted by why the lucky stiff, but is now maintained by the community. This simply means that if we like your patch, it will be applied. Everything is managed through this Github repo, so just open an issue and you can instantly take part in shaping Camping.

More Resources
to explore the angular.

mail [email protected] to add your project or resources here 🔥.

Related Articles
to learn about angular.

FAQ's
to learn more about Angular JS.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory