Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

hard_boiled

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hard_boiled

  • 0.2.2
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

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
# => { :time => 7, :temperature => "99 ℃", :colour => "beige" }

# Or with traits

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
# => { :time => 7, :temperature => "99 ℃", :omnipresent_slogan => "proudly produced on organic farms" }

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):

FAQs

Package last updated on 24 Apr 2012

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc