Settingslogic插件

九 6th, 2011

Settingslogic是binarylogic系列插件之一,作者还写了其它一些小插件,如:authlogic,searchlogic, memorylogic等。使用Settingslogic插件可以用XML文件来对程序进行一些配置。基于Ruby,适用于任何Ruby及其框架开发的程序,当然包括Rails。使用起来非常简单,简要总结一下:

安装:

修改Gemfile,添加

gem 'settingslogic'

执行bundle install,会自动下载安装最新版。

使用:

1. 建一个rb文件,内容如下:

class Settings < Settingslogic
  source "#{Rails.root}/config/settings.yml"
  namespace Rails.env
end

文件名随意取,可以保存在任何地方,一般我们放在app/models/settings.rb

2. 建配置文件:

# app/config/settings.yml
defaults: &defaults
  cool:
    saweet: nested settings
  neat_setting: 24
  awesome_setting: <%= "Did you know 5 + 5 = #{5 + 5}?" %>

development:
  <<: *defaults
  neat_setting: 800

test:
  <<: *defaults

production:
  <<: *defaults

3. 获取配置信息

>> Rails.env
=> "development"

>> Settings.cool
=> "#<Settingslogic::Settings ... >"

>> Settings.cool.saweet
=> "nested settings"

>> Settings.neat_setting
=> 800

>> Settings.awesome_setting
=> "Did you know 5 + 5 = 10?"

如果你讨厌Settingslogic,想自己写,也非常简单。

参照:Railscasts

# config/initializers/load_config.rb
APP_CONFIG = YAML.load_file("#{RAILS_ROOT}/config/config.yml")[RAILS_ENV]

# application.rb
if APP_CONFIG['perform_authentication']
  # Do stuff
end
>>原创文章,欢迎转载。转载请注明:转载自Ruby迷,谢谢!
>>原文链接地址:Settingslogic插件
目前还没有任何评论.