{"push_id":671986918,"size":5,"distinct_size":1,"ref":"refs/heads/mapper-fold","head":"3350dea35c20f6108bbbc81ef018eb676aed1b1b","before":"21de017907f432f052f9ee5ad7afd38b584f927a","commits":[{"sha":"76869aadb99e1213103fe53cc9c1873a59c38fc5","author":{"email":"159048927a335f36f8976eb89ac9b30ad2786481@gmail.com","name":"Oskar Szrajer"},"message":"Extend `#restrict`\n\nAllow restrict to be call will regexp.\n\n```ruby\nrelation.restrict(name: /\\w{4}/)\n```","distinct":false,"url":"https://api.github.com/repos/rom-rb/rom/commits/76869aadb99e1213103fe53cc9c1873a59c38fc5"},{"sha":"2c0c4ebb7b7c6e04e6886cbd71f588e36e3b50be","author":{"email":"d74bc249877e82686220fca06a228c6b494e0837@gmail.com","name":"Piotr Solnica"},"message":"Adapter relations and commands define their adapter identifier\n\nThis makes it possible to automatically set adapter for a plugin\nremoving duplication from class definitions. It is an opt-in for\nadapters, if they support plugins they need to set `adapter` identifier\non their relation and command classes.\n\n/cc @cflipse","distinct":false,"url":"https://api.github.com/repos/rom-rb/rom/commits/2c0c4ebb7b7c6e04e6886cbd71f588e36e3b50be"},{"sha":"ff06526110f73c2f68f3ddb4332a3aa968ec1d29","author":{"email":"d74bc249877e82686220fca06a228c6b494e0837@gmail.com","name":"Piotr Solnica"},"message":"Update CHANGELOG [ci skip]","distinct":false,"url":"https://api.github.com/repos/rom-rb/rom/commits/ff06526110f73c2f68f3ddb4332a3aa968ec1d29"},{"sha":"bd52c75a92a3e12328361f2982e78ab52f758634","author":{"email":"d74bc249877e82686220fca06a228c6b494e0837@gmail.com","name":"Piotr Solnica"},"message":"Merge pull request #233 from rom-rb/extend-restrict-regexp\n\nExtend `#restrict`","distinct":false,"url":"https://api.github.com/repos/rom-rb/rom/commits/bd52c75a92a3e12328361f2982e78ab52f758634"},{"sha":"3350dea35c20f6108bbbc81ef018eb676aed1b1b","author":{"email":"9aa1cb6bf522e359ae7cc155bac82d6e3c0d54d5@gmail.com","name":"Andrew Kozin"},"message":"Add 'fold' feature to AttributeDSL\n\nThe `fold` is a kind of group that provides array of values, extracted\nfrom a first attribute of grouped tuples:\n\n  users.with_tasks.to_a\n  # [{ name: \"Joe\", title: \"be nice\" }, { name: \"Joe\", title: \"sleep well\" }]\n\n  class UsersMapper < ROM::Mapper\n    attribute :name\n    fold tasks: [:task]\n  end\n\n  users.as(:users).to_a\n  # => [{ name: \"Joe\", tasks: [\"be_nice\", \"sleep well\"] }]\n\nUnlike `group` the `fold` doesn't support block syntax and nesting.","distinct":true,"url":"https://api.github.com/repos/rom-rb/rom/commits/3350dea35c20f6108bbbc81ef018eb676aed1b1b"}]}