Rails::Initializer
require 'logger' #ActiveSupport require 'set' #ActiveRecord require 'pathname' #ActiveSupport
標準ライブラリを拡張したりする。
Rails' Wiki - ActiveSupport
id:walf443:20060707:rails_initializer
$LOAD_PATH.unshift File.dirname(__FILE__) require 'railties_path' require 'rails/version' RAILS_ENV = (ENV['RAILS_ENV'] || 'development').dup unless defined?(RAILS_ENV) module Rails class Initializer # The Configuration instance used by this Initializer instance. attr_reader :configuration # The set of loaded plugins. attr_reader :loaded_plugins
:(シンボル)
id:fxyoxbjis:20071124:1195922039
モジュール
id:fxyoxbjis:20071125:1195953983
def self.run(command = :process, configuration = Configuration.new) yield configuration if block_given? initializer = new configuration initializer.send(command) initializer end
self
クラスメソッドの定義
Class.new
オブジェクト生成
yield configuration if block_given?
ブロックが与えられていたら、yieldを実行(?)
initializer = new configuration
省略されて、initializer.newということになる。configurationは引数。
sendメソッド
http://www.ruby-lang.org/ja/man/?cmd=view;name=Object#send
config/enviroment.rb
Rails::Initializer.run do |config| end
configurationを引数configに渡して,do-endないを実行するイメージ?
実行したい処理 if 条件 真の時
やむにやまれず : Rubyにおけるnewの書き方はJavaScriptと全く違う、と思いすぎて意味の無いところでハマる