扫一扫
关注 HG 公众号
发现更多开源乐趣

Ruby 项目

兴趣是最好的老师,HelloGitHub 就是帮你找到编程的兴趣。

lobsters

第 73 期 Star 3.2k Watch 64 Fork 713
lobste.rs 网站的源码。采用 Rails 开发的网站,类似 Hacker News 以分享链接和讨论为核心。可用来二次开发类似的网站
lobsters

fastlane

第 70 期 Star 34.9k Watch 755 Fork 5.2k
一款专为 iOS 和 Android 开发者提供自动化构建的工具。它上手简单使用方便,能够帮助开发者自动完成 App 打包、签名、测试、发布、提交到 App Store、Google Play 等工作,实现一条命令发布应用

lane :beta do
  increment_build_number
  build_app
  upload_to_testflight
end
lane :release do
  capture_screenshots
  build_app
  upload_to_app_store       # 上传截图和应用到应用商店
  slack                     # 发布完成回调通知
end

fastlane

forem

第 63 期 Star 19.1k Watch 352 Fork 3.4k
用来构建社区的 Ruby 开源项目。一款开源、现成的论坛项目,能够让你快速搭建起来一个社区平台。国外知名的程序员社区 dev 用的就是它
forem

spree

第 58 期 Star 11.8k Watch 73 Fork 4.9k
基于 Ruby on Rails 实现的大而全的电子商城开源项目。功能齐全项目结构清晰:

  • spree_api:REST API 接口
  • spree_frontend:移动优先,可自定义的店面
  • spree_backend:功能丰富的管理面板
  • spree_cmd:开发人员的命令行工具
  • spree_core:数据层、服务和邮件、基本组件

spree

homeland

第 48 期 Star 3.6k Watch 227 Fork 1.2k 中文
开源免费、不限制商业使用的社区网站系统
homeland

astuto

第 46 期 Star 1.1k Watch 17 Fork 80
一个免费、开源的 Ruby 自托管客户反馈平台。它可以帮助您收集、管理用户的反馈并设置其优先级。客户反馈是大部分网站不可或缺的功能,使用 astuto 能够十分快速的给你的网站加上此功能
astuto

pghero

第 45 期 Star 6.4k Watch 90 Fork 380
Postgres 性能监控服务。让你对 pg 数据库的性能了如指掌
pghero

shift

第 43 期 Star 718 Watch 34 Fork 48
一个 Ruby 语言写的在线 MySQL 数据库迁移工具
shift

ruby-pinyin

第 42 期 Star 527 Watch 22 Fork 67
可以把汉字转化为对应的拼音的库,同时能够较好的处理多音字的情况。正确处理多音字,示例代码如下:

PinYin.of_string('南京市长江大桥', :unicode)
return ["nán", "jīng", "shì", "cháng", "jiāng", "dà", "qiáo"]

能够正确的将“长”转为“chang2”,而不是“zhang3”

rest-client

第 41 期 Star 5.1k Watch 106 Fork 948
一个 Ruby 的 HTTP 客户端库。已经有累计 10 万人在使用,该库使用方便、API 设计优雅、支持常用的 HTTP 方法、文件下载、设置代理等。每个方法基本都有示例代码:

require 'rest_client'

RestClient.get 'http://example.com/resource'

RestClient.get 'http://example.com/resource', {:params => {:id => 50, 'foo' => 'bar'}}

RestClient.get 'https://user:password@example.com/private/resource', {:accept => :json}

RestClient.post 'http://example.com/resource', :param1 => 'one', :nested => { :param2 => 'two' }

RestClient.post "http://example.com/resource", { 'x' => 1 }.to_json, :content_type => :json, :accept => :json

RestClient.delete 'http://example.com/resource'

response = RestClient.get 'http://example.com/resource'
response.code
➔ 200
response.cookies
➔ {"Foo"=>"BAR", "QUUX"=>"QUUUUX"}
response.headers
➔ {:content_type=>"text/html; charset=utf-8", :cache_control=>"private" ...
response.to_str
➔ \n<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\n   \"http://www.w3.org/TR/html4/strict.dtd\">\n\n<html ....

RestClient.post( url,
  {
    :transfer => {
      :path => '/foo/bar',
      :owner => 'that_guy',
      :group => 'those_guys'
    },
     :upload => {
      :file => File.new(path, 'rb')
    }
  })