- tl;dr
- ということで
— furikake の始め方が変わりました
—– 詳細は
—– セットアップ
— リソースタイプの実装
— テストの追加 - 以上
tl;dr
inokara.hateblo.jp
先日, 作成した furikake について, 色々と修正した上で gem 化してリリースしました.
furikake | RubyGems.org | your community gem host
ということで
furikake の始め方が変わりました
詳細は
README をご一読下さい.
github.com
セットアップ
gem 化に伴い, gem コマンドや bundler を利用してインストールすることが出来ます. また, 従来は .furikake.yml を手動で生成していましたが, 以下のように setup
コマンドを実行することで生成することが出来ます.
$ bundle exec furikake setup
以下のように .furikake.yml が出力されます.
resources: aws: - clb - vpc_endpoint - security_group - ec2 - kinesis - lambda - alb - directory_service - elasticsearch_service - vpc - rds backlog: projects: - space_id: 'your-backlog-space-id' api_key: 'your-backlog-api-key' top_level_domain: 'your-backlog-top-level-domain' wiki_id: your-wiki-id wiki_name: 'your-wiki-name' header: > # Test Header [toc] ## Sub Header footer: > ## Test Footer ### Sub Footer
あとは, 環境に応じて space_id
や api_key
等の情報を修正して下さい. また, resources
キー以下の属性値はドキュメント化する AWS リソースの一覧となります. 将来的には, この属性値を削除することで, 指定したリソースのみドキュメント化出来るようにする予定です.
リソースタイプの実装
Markdown だけでなく, CSV や Google SpreadSheet 等の異なるフォーマットにも対応する為, 内部処理を少し修正しています. それに伴い, 以下のように, リソースタイプの実装が少しだけシンプルにしたつもりです.
module Furikake module Resources module Ec2 def report(format = nil) instance = get_resources contents = { title: 'EC2', resources: [ { subtitle: '', header: ['Name', 'Instance ID', 'Instance Type', 'Availability Zone', 'Private IP Address', 'Public IP Address', 'State'], resource: instance } ] } Furikake::Formatter.shaping(format, contents) end def get_resources ec2 = Aws::EC2::Client.new params = {} instances = [] loop do res = ec2.describe_instances(params) ...
get_resources
メソッドは従来から変更はありませんが, report
メソッドには以下のようなハッシュオブジェクトと Furikake::Formatter
クラスのクラスメソッド shaping
だけを呼び出すようにしています.
... contents = { title: 'EC2', resources: [ { subtitle: '', header: ['Name', 'Instance ID', 'Instance Type', 'Availability Zone', 'Private IP Address', 'Public IP Address', 'State'], resource: instance } ] } Furikake::Formatter.shaping(format, contents) ...
↑ ここの部分だけを AWS リソースに応じて修正する感じです. (get_resources
の実装は従来どおり必要です.)
テストの追加
まずは気になるところからテストを追加しています. 個々のリソースタイプについても随時テストを追加していく予定です.
以上
furikake の更新情報でした. よろしければ, furikake を使って頂きましてフィードバック頂けると嬉しいです.