Sha256: 84893297e6662380c98c62cd502bdb38df0da0a57a42edf0335c5c377419394b

Contents?: true

Size: 1.36 KB

Versions: 1

Compression:

Stored size: 1.36 KB

Contents

# ObjectFlatten

ObjectFlatten converts the hash to an array of key-value pairs.

[![Gem Version](https://badge.fury.io/rb/object_flatten.svg)](http://badge.fury.io/rb/object_flatten)
[![Build Status](https://travis-ci.org/winebarrel/object_flatten.svg?branch=master)](https://travis-ci.org/winebarrel/object_flatten)

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'object_flatten'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install object_flatten

## Usage

```ruby
ObjectFlatten.flatten({"foo"=>"bar", "bar"=>"zoo"})
#=> [
#     {"foo"=>"bar"},
#     {"bar"=>"zoo"}
#   ]

ObjectFlatten.flatten({"foo"=>["bar", "zoo"]})
#=> [
#     {"foo"=>"bar"},
#     {"foo"=>"zoo"}
#   ]

ObjectFlatten.flatten({"foo"=>{"bar1"=>"zoo", "bar2"=>"baz"}})
#=> [
#     {"foo.bar1"=>"zoo"},
#     {"foo.bar2"=>"baz"}
#   ]

ObjectFlatten.flatten({"foo"=>{"bar1"=>"zoo", "bar2"=>"baz"}}, separator: '/')
#=> [
#     {"foo/bar1"=>"zoo"},
#     {"foo/bar2"=>"baz"}
#   ]

ObjectFlatten.flatten({"foo bar"=>{"zoo"=>"baz"}}, tr: [' ', '_'])
#=> [
#     {"foo_bar.zoo"=>"baz"}
#   ]

ObjectFlatten.flatten({
  "foo1"=>{"bar1"=>"zoo", "bar2"=>"baz"},
  "foo2"=>{"bar"=>["zoo", "baz"], "zoo"=>"baz"}
})
#=> [
#     {"foo1.bar1"=>"zoo"},
#     {"foo1.bar2"=>"baz"},
#     {"foo2.bar"=>"zoo"},
#     {"foo2.bar"=>"baz"},
#     {"foo2.zoo"=>"baz"}
#   ]
```

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
object_flatten-0.1.1 README.md