[ruby-list:48582] striuct 0.1.0 released

From: Kenichi Kamiya <kachick1@...>
Date: 2011-12-25 13:30:55 UTC
List: ruby-list #48582
こんばんは、神谷です。


striuct 0.1.0 をリリースしました。

Readme: https://github.com/kachick/striuct/blob/master/README.ja.rdoc
Install: gem install striuct
RubyGems: https://rubygems.org/gems/striuct
GitHub: https://github.com/kachick/striuct

# striuctって?

Structを愛用しているんですが、使っていく中で個人的に感じた
「Structにこういう機能付いたらいいな」を実現してみた物です。

* 参照の付け替え時にある程度の入力チェックを行いたい
* たまにキャストもさせたい
* 標準値が欲しい
* メンバ名で大事なメソッド名上書きするのは避けたい
* 基本的にはStructと同じように扱いたい
等々

Pure Ruby且つ、組み込みのStructには手を加えません。
動作には Ruby 1.9.2 か 1.9.3 が必要です。

一番ベーシックな使い方だとこんな感じです。

class User < Striuct.new
  member :id,   Integer
  member :age,  (20..140)
  member :name, /\A\w+\z/, /\A\w+ \w+\z/
end

# pass
user = User.new 128381, 20

# pass
user.age = 30
user[2] = 'foo bar'

# fail
user[:id] = 10.0
user.age = 19
user[2] = nil

一応、もうちょっと凝ったことも出来るようにはしてあります。
興味を持たれたら、一度READMEあたりを覗いて貰えると嬉しいです。

-- 
神谷 健一

In This Thread

Prev Next