デスクトップの左端でタイトルバーが死んでる的なmikutterプラグイン
なんかMacのmikutterを下記のようにします。
# -*- coding: utf-8 -*- # デスクトップの左端でタイトルバーが死んでる # mikutterのタイトルバーを消して、画面の左端に配置します。 for Mountain Lion Plugin.create(:hide_titlebar) do # タイトルバーを消す def hide_titlebar(window) window.decorated = false window.hide window.show window.move(0, 0) window.set_size_request(0, 5000) end # 起動時処理(for 0.1) onboot do |service| # メインウインドウを取得 window_tmp = Plugin.filtering(:get_windows, []) if (window_tmp == nil) || (window_tmp[0][0] == nil) then next end window = window_tmp[0][0] hide_titlebar(window) end # 起動時処理(for 0.2) on_window_created do |i_window| # メインウインドウを取得 window_tmp = Plugin.filtering(:gui_get_gtk_widget,i_window) if (window_tmp == nil) || (window_tmp[0] == nil) then next end window = window_tmp[0] hide_titlebar(window) end end
まぁ、前作った「いつでもいっしょ」の超機能縮小版な感じです。
EUC-JPなレガシーコードをRedmine&gitで管理する
Redmine他全部入り環境であるAlminiumで未だにEUC-JPなんて使ってやがる環境のソースコードを管理する方法です。
gitの設定
ローカルリポジトリのgitの設定を変更します。
これをやらないとコミットメッセージが自主規制だらけになります。
(??1??24??Hanekawa????Sexyみたいな。)
git config --global i18n.commitencoding euc-jp
これでコミットメッセージもファイル内の文字コードも奇麗に見れるようになったはず。
- 作者: 前田剛
- 出版社/メーカー: 秀和システム
- 発売日: 2012/08
- メディア: 単行本
- 購入: 2人 クリック: 2回
- この商品を含むブログ (2件) を見る
- 作者: 小川明彦,阪井誠
- 出版社/メーカー: 翔泳社
- 発売日: 2010/10/13
- メディア: 大型本
- 購入: 16人 クリック: 328回
- この商品を含むブログ (50件) を見る
Redmineを遠隔操作してプロジェクトを新規作成するソースコードを書いたよ
誰でも簡単にCentOS上にRedmineやJenkinsが導入できる、Alminiumと言う日本発の素晴らしいプロジェクトがあります。
そのAlminiumで構築したRedmineに既存のソースコードを大量に登録して、リビジョングラフとかを見て何かを管理している気分に浸りたい訳です。
調べてみるとRedmineにはAPIがある模様。
これを利用してリストをバッチ処理するのが現実的かも。
てなわけで、試しにRubyでプロジェクト作成APIを叩いてみました。
ソースコードと呼ばれるプログラムの設計図
RedmineでのAPI認証は、APIキーを使用するものとHTTPのBASIC認証(管理者のユーザ名・パスワード)が選択出来ます。
httpsで運用してない場合はどっちの方式もセキュリテリィ的にノーガードなので、よりお手軽なBASIC認証を使ってます。
ちなみに、ドキュメントには無いですが(うらわざ〜)scmタグでバージョン管理システムの種類を指定してやるとリポジトリも一緒に作ってくれます。
(ここではGitにしてます。)
#! /usr/bin/ruby # coding:utf-8 require 'net/http' PJ_ID="redminehaxahaxa" PJ_NAME="れっどまいんちゃんハァハァ" PJ_DESC="れっどまいんちゃん可愛いよ可愛いよ可愛いよさぁ・・・脱" Net::HTTP::version_1_2 # プロジェクトの作成 req = Net::HTTP::Post.new("/projects.xml") req.basic_auth("admin", "admin") req.content_type = "application/xml" req.body = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <project> <name>#{PJ_NAME}</name> <identifier>#{PJ_ID}</identifier> <description>#{PJ_DESC}</description> <scm>Git</scm> </project> " Net::HTTP::start("localhost") { |http| res = http.request(req) if res.code.to_i != 201 then raise res.body end } # ユーザの登録 req = Net::HTTP::Post.new("/projects/#{PJ_ID}/memberships.xml") req.basic_auth("admin", "admin") req.content_type = "application/xml" # admin:1決めうち user_id = 1 # 3:管理者、4:開発者、5:報告者 req.body = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <membership> <user_id>#{user_id}</user_id> <role_ids type=\"array\"> <role_id>3</role_id> <role_id>4</role_id> <role_id>5</role_id> </role_ids> </membership> " Net::HTTP::start("localhost") { |http| res = http.request(req) if res.code.to_i != 201 then raise res.body end }
実行してみる
Redmineに今にも逮捕されちゃいそうなプロジェクトが生成されれば成功です。
- 作者: Jonathan Rasmusson,西村直人,角谷信太郎,近藤修平,角掛拓未
- 出版社/メーカー: オーム社
- 発売日: 2011/07/16
- メディア: 単行本(ソフトカバー)
- 購入: 41人 クリック: 1,977回
- この商品を含むブログ (229件) を見る
- 作者: 岡本隆史,武田健太郎,相良幸範
- 出版社/メーカー: 技術評論社
- 発売日: 2012/07/10
- メディア: 単行本(ソフトカバー)
- 購入: 7人 クリック: 98回
- この商品を含むブログ (17件) を見る