yaml snippets

How to backup ActiveRecord model data to YAML with ar_fixtures

Tagged fixtures, backup, activerecord, rails, yaml  Languages ruby

First install the plugin:

script/plugin install http://github.com/mileszs/ar_fixtures/commits/master

Then dump data for all models with:

rake db:data:dump:all

There's a task for loading the data into the database, see rake -T for more information.

You can also do this without a plugin by using ActiveSupport::JSON and File.write to seed your database.

A simple configuration framework for storing a Rails app's configuration in YAML

Tagged ostruct, yaml, rails, configuration  Languages ruby

Create config/initializers/configuration.rb:

require 'ostruct'

# From https://www.ruby-forum.com/topic/137104
class NestedOstruct
   def self.new(hash)
     OpenStruct.new(hash.inject({}){|r,p| r[p[0]] = p[1].kind_of?(Hash) ?  NestedOstruct.new(p[1]) : p[1]; r })
   end
end

config = YAML.load_file(Rails.root.join('config', 'application.yml'))[Rails.env].symbolize_keys
AppConfig = NestedOstruct.new(config)

Create config/application.yml:

development:
  twitter:
    api_key: xxx
    api_secret: xxx
production:
...

Use it in your application:

AppConfig.twitter.api_key