0.0
The project is in a healthy, maintained state
Faraday middleware for wrapping responses into Hashie::Mash.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
 Dependencies

Development

~> 2.0
~> 13.0
~> 3.0
~> 1.24.0
~> 0.21.0
>= 0

Runtime

~> 2.0
>= 0
 Project Readme

Faraday Mashify

GitHub Workflow Status Gem License

Faraday middleware for wrapping responses into Hashie::Mash.

This very specific middleware has been extracted from the faraday_middleware project.

This is fully compatible with FaradayMiddleware::Mashify

Installation

Add this line to your application's Gemfile:

gem 'faraday-mashify'

And then execute:

bundle install

Or install it yourself as:

gem install faraday-mashify

Usage

curl http://www.example.com/api/me
{"name":"sue445"}
require 'faraday/mashify'

connection =
  Faraday.new(url: 'http://www.example.com') do |conn|
    conn.response :mashify
    conn.response :json
  end

response = connection.get('/api/me').body

response[:name]
#=> "sue445"

response['name']
#=> "sue445"

response.name
#=> "sue445"

Customize response class

If you want to customize the response class, pass mash_class to conn.response :mashify. (default is Hashie::Mash)

e.g.

class MyHash < Hashie::Mash
end

connection =
  Faraday.new(url: 'http://www.example.com') do |conn|
    conn.response :mashify, mash_class: MyHash
    conn.response :json
  end

response = connection.get('/api/me').body

response.class
#=> MyHash

Migrate from faraday_middleware

Please do the following

  1. gem "faraday_middleware" -> gem "faraday-mashify" in Gemfile
  2. require "faraday_middleware" -> require "faraday/mashify"

Development

After checking out the repo, run bin/setup to install dependencies.

Then, run bin/test to run the tests.

To install this gem onto your local machine, run rake build.

To release a new version, make a commit with a message such as "Bumped to 0.0.2" and then run rake release. See how it works here.

Contributing

Bug reports and pull requests are welcome on GitHub.

License

The gem is available as open source under the terms of the MIT License.