整理几个小技巧

和大家分享几个我在写ruby 的时候会用到的小技巧

通过config/initlializers/xxx.rb 来配置非rails plugin gem

这里以redis 为例子

config/initializers/redis.rb

class Redis
  class << self
    def initialize!
      @redis ||= Redis.new
    end

    def method_missing(meth, *args, &blk)
      @redis.send(meth, *args, &blk)
    end
  end
end

Redis.initialize!

ps: 这里可以把class Redis 定义再其他的放其他地方

这样,我们的代码里面就可以使用如Redis.set来编程了。

如何写一个类似devse.setup {|config| xxx } 的配置模块

module TestSetup

  class << self
    attr_accessor :id, :key
    def setup
      yield self
    end
  end

end

TestSetup.setup do |config|
  config.id = 'xxx'
  config.key = 'adfad'
end

rspec 测试json api 的时候可以加入一些辅助方法

spec/support/body_jsn.rb

def body_json
  JSON.parse response.body
end

mj
60 声望7 粉丝

引用和评论

0 条评论