Skip to content

Commit

Permalink
Merge pull request #982 from lostisland/faraday-website
Browse files Browse the repository at this point in the history
Faraday Website
  • Loading branch information
technoweenie committed Jul 8, 2019
2 parents 1c3bf50 + 26c542d commit a285d7a
Show file tree
Hide file tree
Showing 47 changed files with 1,586 additions and 360 deletions.
69 changes: 46 additions & 23 deletions .github/CONTRIBUTING.md
@@ -1,37 +1,44 @@
## Contributing

You can run the test suite against a live server by running `script/test`. It
automatically starts a test server in background. Only tests in
`test/adapters/*_test.rb` require a server, though.
In Faraday we always welcome new ideas and features, however we also have to ensure
that the overall code quality stays on reasonable levels.
For this reason, before adding any contribution to Faraday, we highly recommend reading this
quick guide to ensure your PR can be reviewed and approved as quickly as possible.

We are pushing towards a 1.0 release, when we will have to follow [Semantic
Versioning][semver]. If your patch includes changes to break compatibility,
note that so we can add it to the [Changelog][].

``` sh
# setup development dependencies
$ script/bootstrap

# run the whole suite
$ script/test
### Required Checks

# run only specific files
$ script/test excon patron
Before pushing your code and opening a PR, we recommend you run the following checks to avoid
our CircleCI Workflow to block your contribution.

# run tests using SSL
$ SSL=yes script/test
```bash
# Run unit tests and check code coverage
$ bundle exec rspec

# Run Rubocop and check code style
$ bundle exec rubocop
```


### New Features

When adding a feature Faraday:
When adding a feature in Faraday:

1. also add tests to cover your new feature.
2. if the feature is for an adapter, the **attempt** must be made to add the same feature to all other adapters as well.
3. start opening an issue describing how the new feature will work, and only after receiving the green light by the core team start working on the PR.
3. start opening an issue describing how the new feature will work, and only after receiving
the green light by the core team start working on the PR.

### New Middlewares

### New Middleware

We will accept middleware that:

1. is useful to a broader audience, but can be implemented relatively
simple; and
1. is useful to a broader audience, but can be implemented relatively simple; and
2. which isn't already present in [faraday_middleware][] project.


Expand All @@ -43,10 +50,26 @@ We will accept adapters that:
1. are proven and may have better performance than existing ones; or
2. if they have features not present in included adapters.

We are pushing towards a 1.0 release, when we will have to follow [Semantic
Versioning][semver]. If your patch includes changes to break compatibility,
note that so we can add it to the [Changelog][].

[semver]: http://semver.org/
[changelog]: https://github.com/lostisland/faraday/releases
[faraday_middleware]: https://github.com/lostisland/faraday_middleware/wiki
### Changes to Faraday Website

The [Faraday Website][website] is included in the Faraday repository, under the `/docs` folder.
If you want to apply changes to it, please test it locally using `Jekyll`.

```bash
# Navigate into the /docs folder
$ cd docs

# Install Jekyll dependencies, this bundle is different from Faraday's one.
$ bundle install

# Run the Jekyll server with the Faraday website
$ bundle exec jekyll serve

# The site will now be reachable at http://127.0.0.1:4000/faraday/
```

[semver]: http://semver.org/
[changelog]: https://github.com/lostisland/faraday/releases
[faraday_middleware]: https://github.com/lostisland/faraday_middleware
[website]: https://lostisland.github.io/faraday

0 comments on commit a285d7a

Please sign in to comment.