Skip to content

Instantly share code, notes, and snippets.

@raa0121
Created July 7, 2013 15:26
Show Gist options
  • Save raa0121/5943806 to your computer and use it in GitHub Desktop.
Save raa0121/5943806 to your computer and use it in GitHub Desktop.
[9] pry(main)> atnd = JSON.parse(open("http://api.atnd.org/events/?event_id=33746&format=json").read)
=> {"results_available"=>1,
"events"=>
[{"lat"=>nil,
"address"=>"",
"owner_nickname"=>"manga_osyo",
"lon"=>nil,
"catch"=>"Vim!書かずにはいられないッ!",
"title"=>"Vim Advent Calendar 2012",
"recommended_twitter_account"=>"",
"ended_at"=>"2013-08-31T23:59:00+09:00",
"accepted"=>93,
"owner_twitter_img"=>
"http://a0.twimg.com/profile_images/2757949366/e4ad0a8d37c80e425aa784c6de6f
"owner_twitter_id"=>"manga_osyo",
"owner_id"=>57809,
"limit"=>365,
"confined_biziq"=>false,
"waiting"=>0,
"event_id"=>33746,
"url"=>nil,
"started_at"=>"2012-12-01T00:00:00+09:00",
"hash_tag"=>"",
"event_url"=>"http://atnd.org/events/33746",
[10] pry(main)> descript = atnd["events"][0]["description"].split("\r\n")
=> ["\"Vim Girl Ver 7.4 を200日目担当の IMAGEDRIVE さんに描いて頂きました!!\":
" ",
"",
"h2. 2回目以降の記事を書きたい方へ",
"",
"お手数ですが、 \"@osyo_memo\":https://twitter.com/osyo_memo か \"lingr の Vim
"",
" ",
"",
"h4. 去年好評だった Vim Advent Calendar を今年もやりたいと思います!!",
"去年の内容は \"こちら\":http://atnd.org/events/21925 を参照して下さい。",
"",
"",
"h2. イベント参加への流れ",
"",
"h4. 1. 参加したい方は参加登録する",
"2. 参加した後にこちらで担当する日程を割り振るので後ほど確認する",
"3. 担当する日にちに Vim に関する記事をブログ等に投稿する",
"4. 投稿した記事へのURLをここのコメント欄に記載する",
"",
"",
"記事の内容は Vim の機能に関する事でもプラグインでも Vim script でも Vim の歌で
"それぞれの Vim への愛情を確認しましょう!",
[11] pry(main)> descript.map{|m| m.match(/\|(.*)\|(.*)\|(.*)\|"(.*)":(.*)\|/) {|m|
[11] pry(main)* data[m[1]] = {"count" => m[1], "date" => m[2], "author" => m[3], "title" => m[4], "url" => m[5]}
[11] pry(main)* }
[11] pry(main)* }
=> [nil,
nil,
nil,
nil,
nil,
nil,
nil,
nil,
nil,
nil,
nil,
nil,
nil,
nil,
nil,
nil,
nil,
nil,
nil,
nil,
nil,
nil,
nil,
[12] pry(main)> data = data.sort
=> [["001",
{"count"=>"001",
"date"=>"12/01(土)",
"author"=>"@manga_osyo",
"title"=>"Vim プラグインを github で公開するまで",
"url"=>"http://d.hatena.ne.jp/osyo-manga/20121201/1354288903"}],
["002",
{"count"=>"002",
"date"=>"12/02(日)",
"author"=>"@kaoriya",
"title"=>"minimap-vimができるまで",
"url"=>"http://www.kaoriya.net/blog/2012/12/02"}],
["003",
{"count"=>"003",
"date"=>"12/03(月)",
"author"=>"@thinca",
"title"=>"Sublime Text 2 のあの機能を使う",
"url"=>"http://d.hatena.ne.jp/thinca/20121203/1354460936"}],
["004",
{"count"=>"004",
"date"=>"12/04(火)",
"author"=>"@mattn_jp",
"title"=>"モテる Vim 使いに読み書き出来ないファイルなどなかったんだよ!",
[13] pry(main)> last = data[-1][-1]
=> {"count"=>"219",
"date"=>"07/07(日)",
"author"=>"@daisuzu",
"title"=>"TokyoVimに参加して人生が変わりました!",
"url"=>"http://daisuzu.hatenablog.com/entry/2013/07/07/131724"}
[14] pry(main)> result = JSON.parse(post_bitly(last["url"]))
=> {"errorCode"=>0,
"errorMessage"=>"",
"results"=>
{"http://daisuzu.hatenablog.com/entry/2013/07/07/131724"=>
{"userHash"=>"14VUSOm",
"shortKeywordUrl"=>"",
"hash"=>"13C3GMu",
"shortCNAMEUrl"=>"http://bit.ly/14VUSOm",
"shortUrl"=>"http://bit.ly/14VUSOm"}},
"statusCode"=>"OK"}
[15] pry(main)> "#{last["count"]} #{last["date"]} #{last["author"]} #{last["title"]} - #{result["results"][last["url"]]["shortUrl"]}"
=> "219 07/07(日) @daisuzu TokyoVimに参加して人生が変わりました! - http://bit.ly/14VUSOm"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment