整个逻辑就是先从一个配置文件中读出当前完成的俯卧撑个数,再配合通过命令行参数传入的当前组做的个数,结合微博模板生成微博内容,再调用API发送HTTP请求。
accecs token和微博模板存放在weibo-config.yml文件中。
weibo-config.yml
# Sina Weibo Post access_token: YOUR_ACCESS_TOKEN
post_template: 刚才做了%{number_done}个俯卧撑,2月份总共完成了%{total}个俯卧撑,距离4000个俯卧撑目标还差%{number_rest}个
然后我在Rakefile中配置了一个任务,用于调用WeiboPoster类。
Rakefile
require "rubygems" require "bundler/setup" require "stringex" desc "post pushups to weibo" task :pushups, :number do |t, args| args.with_defaults(:number => 50) number = args.number system "ruby post_weibo.rb " + number end
最后再用一个shell脚本封装一下,支持shell调用。
pushups
#!/bin/sh rake pushups[$1]
OK这样就齐活了。做完一组俯卧撑之后,只需在命令行输入pushups 35,然后就可以看到我的微博多了一篇推文。
最终效果如下。











