HardBoiled
simply define a mapping from your model to a simple hash. For those who worked with thoughtbot's factory girl the DSL should be familiar.
Installation
gem install hard_boiled
Usage
require 'hard_boiled'
egg = OpenStruct.new({
:boil_time => 7,
:temperature => 99,
:colour => "beige"
})
HardBoiled::Presenter.define egg do
time :from => :boil_time
colour
temperature :format => "%d ℃"
end
HardBoiled::Presenter.define(egg, :only => [:instructions]) do
with_trait(:instructions) do
time :from => :boil_time
temperature :format => "%d ℃"
end
with_trait(:presentation) do
colour
end
omnipresent_slogan "proudly produced on organic farms"
end
for more examples see the tests in the spec
directory.
Similar Projects
If hard_boiled isn't your cup of tea, go and check out other ways to map models
to hashes (for data serialization):