真正理解camping,要从它处理的任务开始:5k pocket 充满笑点的网络微框架。对日常自动化任务来说,输入边界、依赖和失败处理如果不清楚就很难稳定复用往往决定它能否落地,不能只用安装成功来判断。我的评估方法是用一项范围明确的真实任务完成最小试跑,然后检查配置时间、输出质量、异常信息和维护痕迹是否与文档一致。它对愿意先做小范围验证并复查原始文档的团队更有价值,但正式采用前仍要复查许可证、近期提交和问题区回应。
⛺ Camping,一个微框架
Camping 是一个尽可能小的微型网络框架。 您也许可以在一个页面上查看完整的源代码。但是,你 要知道,它是如此之小,如果你想一想,它到底能做什么呢?显然 它可以做很多事情。相当膨胀。
这里的想法是将完整的羽翼未丰的 Web 应用程序存储在单个 文件像许多小CGIs。但将其组织为模型-视图-控制器 应用程序。随着时间的推移,您可以将模型、视图和控制器移至 随着您的应用程序的增长,其他文件。
Camping 支持多个“应用程序”,即一起运行的封装代码。每个应用程序都可以 具有独立的模型、路线和控制器。
去露营时收拾好您的装备!通过简单的插件系统,露营很容易 可扩展的。添加各种有用和愚蠢的东西。
露营的骷髅
一个露营博客的骨架可能是这样的:
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
安装
有兴趣吗? 幸运的是,安装 Camping 非常容易。 我们将使用 一个名为 RubyGems 的工具和 Bundler,所以如果您没有安装它 不过,去抢吧!解决后,打开终端或命令 行并输入:
gem install camping
~~更好的是,安装 Camping Omnibus,一个完整的推荐库包:~~ Camping Omnibus 将在暑假回归。
现在使用 camping new 命令创建一个新目录,其中包含您的营地必需品:
camping new Donuts # You can replace Donuts with whatever but CamelCased.
移动到您的新目录,然后使用捆绑器安装您的营地的所有依赖项:
cd donuts; bundle install
您现在可以使用 camping 命令进行露营。我们建议在本地以开发模式运行露营。确保在露营命令前加上 bundle exec 前缀,以便使用您为营地安装的 gem 运行您的应用程序:
bundle exec camping -e development
学习
首先,你应该阅读第一章 露营书。希望它可以帮助您快速入门。同时 你这样做时,你应该知道 reference 其中包含 露营所有不同部分的文档。
维基 是所有小型、 我们多年来收集的有用技巧。 不要害怕分享 你自己的发现;越多越好!
我们在 Ruby Punks 社区有一个 Discord 频道,所以如果您觉得 喜欢和我们聊天,你应该加入#camping。一旦我们的聊天产生了行动,我们就会在 Github 上提出一个问题并将对话转移到那里。
运行测试
应使用捆绑器和 rake 运行测试:bundle exec rake。
铸币发行
我们使用 Ruby Gems 来分发 Camping 版本。当您准备好发布版本时,请运行:gem build -o camping.gem,然后运行 gem push camping.gem。