西脇.rb & 東灘.rb(第2回)でつくってみたいもの
西脇.rb & 東灘.rb(第2回)でつくってみたいもの
include すると default 値などが設定できるattr_accessorの拡張見たいな機能が追加される Mixin
仕様
基本は下のような感じ
class Some include Configable define_config :host, default: "localhost" define_config :port, default: 3000 end Some.new.host #=> "localhost"
そんで、できれば以下の様にコンストラクタで初期化できるようにしたい。
できるなら、サブクラスのコンストラクタに制限なしで。
Some.new(host: "google.com").host #=> "google.com"
そんで、できれば to_hash メソッドが欲しい
Some.new.to_hash #=> { host: "localhost", port: 3000 }
そんで、できれば継承できるようにしたい。
class Sub < Some end Sub.new.host #=> "localhost"