<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>xdz0611 (sh)</title>
    <link>https://ruby-china.org/xdz0611</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>官方文档中是不是没有 File#read 这个函数</title>
      <description>&lt;p&gt;我是在&lt;a href="http://www.ruby-doc.org/core-2.1.2/File.html" rel="nofollow" target="_blank" title=""&gt;这里&lt;/a&gt;找到的文档 
这里找不到 File#read 这个函数，如果我没看错的话&lt;/p&gt;

&lt;p&gt;但是我在很多地方都看到File#read这种用法，比如&lt;a href="http://tryruby.org/levels/5/challenges/3" rel="nofollow" target="_blank" title=""&gt;这里&lt;/a&gt;：
&lt;code&gt;print File.read("/etc/passwd")&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;学习 ruby 以来， &lt;strong&gt;文档似乎一直是一大问题&lt;/strong&gt;
不知道各位心目中理想的文档应该是什么样的？
以前学过一点 perl，非常喜欢&lt;a href="https://metacpan.org" rel="nofollow" target="_blank" title=""&gt;perl 的文档&lt;/a&gt;：
首先列出一个类的所有函数列表，然后会举个例子说明常用函数的用法
再下面是每个函数的具体定义&lt;/p&gt;

&lt;p&gt;当然吐槽无用，只是想有个更友好的看文档的方法，不知道大家通常都是在哪些网站或者命令行看文档的？&lt;/p&gt;</description>
      <author>xdz0611</author>
      <pubDate>Mon, 08 Sep 2014 16:24:20 +0800</pubDate>
      <link>https://ruby-china.org/topics/21425</link>
      <guid>https://ruby-china.org/topics/21425</guid>
    </item>
    <item>
      <title>gets 和 ARGV 的小疑问</title>
      <description>&lt;p&gt;cat a.rb&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;puts "argv length is #{ARGV.length}"
puts "Post title: "
title = gets.chomp
puts "your input title is #{title}"

puts "argv length is #{ARGV.length}"
puts "Post body: " if ARGV.length == 0
body = ARGF.gets.chomp
puts body
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;例如：ruby a.rb /etc/passwd&lt;/p&gt;

&lt;p&gt;上面这段代码中，如果给了 &lt;strong&gt;命令行参数&lt;/strong&gt;，title 就是从第一个参数文件中获取的，如果没有的话，就是从 stdin 获取。gets 本来就是这么用的吗？gets 的对象到底是谁？&lt;/p&gt;

&lt;p&gt;第二个问题是，如果给了命令行参数，第二次打印出来的 ARGV 长度已经 -1 了，这里应该是 gets 的作用， &lt;strong&gt;为什么 gets 操作之后，ARGV 的元素变少了&lt;/strong&gt;？&lt;/p&gt;</description>
      <author>xdz0611</author>
      <pubDate>Mon, 08 Sep 2014 15:15:40 +0800</pubDate>
      <link>https://ruby-china.org/topics/21424</link>
      <guid>https://ruby-china.org/topics/21424</guid>
    </item>
    <item>
      <title>GitLab 整合 Redmine 的问题</title>
      <description>&lt;p&gt;hi，各位。因为公司业务的需求，打算整合 gitlab 和 redmine。如果按照 gitlab 官网的配置，只是能够在 issue tracker 链接到 redmine 中而已，并不能同步项目和成员。&lt;/p&gt;

&lt;p&gt;现在有个小需求是，实现 project 的同步。比如，在 gitlab 里面选择 redmine 作为 issue tracker 的时候，能够去检查 redmine 中是否已经有同名项目存在，不存在则直接创建该项目，省去手动创建的麻烦。下一步是实现成员的同步。&lt;/p&gt;

&lt;p&gt;新接触 rails 不久，大概想了一下思路，应该是找到 gitlab 中 update project 的 action，在其中增加同步到 redmine 的逻辑即可。不过实际实现过程中，遇到了一些问题。根据 redmine 的&lt;a href="http://www.redmine.org/projects/redmine/wiki/Rest_api_with_ruby" rel="nofollow" target="_blank" title=""&gt;官方文档&lt;/a&gt;，我只需要创建一个 Project 类，然后调用相关方法即可。&lt;/p&gt;

&lt;p&gt;起初我把这个类直接放到 update action 中，但是 rails 提示不行。于是放到 projects helper 中，但是我这时才发现，这个 class 名跟 gitlab 本身的 model 名重复了。我应该把这个 active resource 的类放到哪里呢？改名也是不行的，否则 redmine 的 api 接口就返回 404 了。&lt;/p&gt;</description>
      <author>xdz0611</author>
      <pubDate>Thu, 28 Aug 2014 16:46:33 +0800</pubDate>
      <link>https://ruby-china.org/topics/21270</link>
      <guid>https://ruby-china.org/topics/21270</guid>
    </item>
    <item>
      <title>怎样在启动脚本中使用 rvm 环境？</title>
      <description>&lt;p&gt;系统是 CentOS 6.4
线上的服务器是用 capistrano 来发布的，重启之后服务自然不会自己起启动。因此我想把启动脚本放到/etc/rc.loca 下面。
有个头疼的问题就是用了 rvm，又不想写死绝对路径，因此需要引入 rvm 环境才能找到 ruby 的路径。我尝试把 source /etc/bash.bashrc加到了/etc/rc.local。重启之后，发现thin的启动脚本报错，说没有设置ruby版本。^[[31mERROR: RVM Ruby not used, run &lt;code&gt;rvm use 1.8&lt;/code&gt; first.^[[0;10m
请问下，rvm 的初始化脚本是哪个呢？&lt;/p&gt;

&lt;p&gt;一直没有理解，rvm 是怎么初始化的？在系统启动的时候，PATH 里面是没有 rvm 相关的路径的，它是通过哪里的启动来引入自己的初始化脚本呢？我看了下官方的文档，暂时还没有找到。看了下可能相关的是/etc/bash.bashrc 或者/etc/zprofile 或者/etc/rvmrc，但是不能确定。&lt;/p&gt;</description>
      <author>xdz0611</author>
      <pubDate>Fri, 21 Mar 2014 14:35:15 +0800</pubDate>
      <link>https://ruby-china.org/topics/18067</link>
      <guid>https://ruby-china.org/topics/18067</guid>
    </item>
    <item>
      <title>怎样快速解决 Gemfile 中的依赖关系</title>
      <description>&lt;p&gt;各位好，我们公司现在的 sinatra 应用是用 capistrano 来进行部署的。第一次部署的时候会很慢很慢，因为在安装依赖的 gem，这个应该是 bundle install 吧。或者如果新提交的代码增加了 gem 包，也会很慢。&lt;/p&gt;

&lt;p&gt;有没有办法快速解决这里的依赖关系呢？有时候需要紧急扩容的话就会感到很无赖，太多依赖了。我想的是，比如把 gem 包打包到本地，或者自己安装一个小型的 gem 仓库？&lt;/p&gt;

&lt;p&gt;有这方面的指引或者说明吗，多谢。&lt;/p&gt;</description>
      <author>xdz0611</author>
      <pubDate>Mon, 03 Mar 2014 11:38:28 +0800</pubDate>
      <link>https://ruby-china.org/topics/17624</link>
      <guid>https://ruby-china.org/topics/17624</guid>
    </item>
  </channel>
</rss>
