Skip to content

Commit c2c5516

Browse files
authored
Merge pull request #637 from pitr-ch/futures
Futures 1.1 preparation
2 parents 8002007 + 90bd2db commit c2c5516

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+705
-466
lines changed

.github/CONTRIBUTING.md

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
# Contributing to Concurrent Ruby
22

3-
You want to contribute? Thank you! Concurrent Ruby is work of [many contributors](https://github.com/ruby-concurrency/concurrent-ruby/graphs/contributors). You're encouraged to submit [pull requests](https://github.com/ruby-concurrency/concurrent-ruby/pulls), [propose features and discuss issues](https://github.com/ruby-concurrency/concurrent-ruby/issues). When in doubt, ask a question in the [Concurrent Ruby gitter.im chatroom](https://gitter.im/ruby-concurrency/concurrent-ruby) or on the [mailing list](https://groups.google.com/forum/#!forum/concurrent-ruby).
3+
You want to contribute? Thank you! Concurrent Ruby is work of [many contributors](https://github.com/ruby-concurrency/concurrent-ruby/graphs/contributors). You're encouraged to submit [pull requests](https://github.com/ruby-concurrency/concurrent-ruby/pulls), [propose features and discuss issues](https://github.com/ruby-concurrency/concurrent-ruby/issues). When in doubt, ask a question in the [Concurrent Ruby gitter.im chatroom](https://gitter.im/ruby-concurrency/concurrent-ruby).
44

55
#### Find Something to Work on
66

7-
If you want to contribute but aren't sure what to work on, we keep our list of current todos on our [issues page](https://github.com/ruby-concurrency/concurrent-ruby/issues). Before starting, feel free to chat with us on [gitter](https://gitter.im/ruby-concurrency/concurrent-ruby).
7+
If you want to contribute but aren't sure what to work on, there are tasks marked with [**looking-for-contributor**](https://github.com/ruby-concurrency/concurrent-ruby/issues?q=is%3Aissue+is%3Aopen+label%3Alooking-for-contributor) label. Complete list of tasks can be found on [issues page](https://github.com/ruby-concurrency/concurrent-ruby/issues). We appreciate your help.
8+
9+
Before starting, feel free to chat with us on [gitter](https://gitter.im/ruby-concurrency/concurrent-ruby).
810

911
#### Fork the Project
1012

@@ -52,12 +54,12 @@ Make sure that `bundle exec rake` completes without errors.
5254

5355
#### Follow the Guidelines
5456

55-
There are a few very strong guidelines which we follow when adding features. Submissions which fail to follow these guidelines will likely be rejected or will require modification before acceptance.
57+
There are a few guidelines which we follow when adding features. Consider that submissions which do not follow these guidelines will require modification before acceptance.
5658

5759
* **No downstream dependencies:** Concurrent Ruby is a foundational library used by major projects like [Rails](http://rubyonrails.org/). Our downstream dependencies become everyone's dependencies. Because we cannot guarantee that downstream projects meet our development standards, it's best for everyone if we simply aviod dependencies.
5860
* **Do not monkey patch Ruby:** Changing Ruby for our convenience affects every gem in every project that uses Concurrent Ruby. Monkey patching Ruby may change the behavior of other libraries in unexpected ways and destabilize projects which depend on us.
5961
* **Do not pollute the global namespace:** Putting all our code within the `Concurrent` module guarantees that there will be no namespace collisions with other gems or the projects which depend on us.
60-
* **No global varaibles:** Global state should be kept to an absolute minimum. When it's necessary, add it to the global gem configuration.
62+
* **No global state:** We are removing global state we have.
6163
* **Minimize per-object configuration:** Ruby makes programmers happy. One of Ruby's charms is its simplicity. Concurrent Ruby aims to mirror this simplicity. Advanced configuration options are encouraged when they provide value, but every abstraction should have reasonable defaults that meet the needs of most users.
6264
* **Provide explicit behavior and guarantees:** Our APIs should be concrete and clearly define what they do (and don't do). Users of Concurrent Ruby should never be surprised by unexpected behavior or be given guarantees we cannot keep.
6365
* **Eat our own dog food:** Concurrent Ruby provides a rich set of low-level (internal and public) classes which provide strong guarantees and are optimized for performance across platforms. All our high-level abstractions should make use of these tools.
@@ -102,20 +104,13 @@ git rebase upstream/master
102104
git push origin my-feature-branch -f
103105
```
104106

105-
#### Update CHANGELOG Again
107+
#### Update CHANGELOG
106108

107109
Update the [CHANGELOG](CHANGELOG.md) with a description of what you have changed.
108110

109-
Amend your previous commit and force push the changes.
110-
111-
```
112-
git commit --amend
113-
git push origin my-feature-branch -f
114-
```
115-
116111
#### Check on Your Pull Request
117112

118-
Go back to your pull request after a few minutes and see whether it passed muster with Travis-CI and AppVeyor. Everything should look green, otherwise fix issues and amend your commit as described above.
113+
Go back to your pull request after a few minutes and see whether it passed muster with Travis-CI and AppVeyor. Everything should look green, otherwise fix issues (amending your commit).
119114

120115
Please note that testing concurrency is hard. Very hard. We have a few tests that occasionally fail due (mostly) to incorrect synchronization within the test itself. If everything passes locally but you see an error on CI, it's possibly you've become victim to one of the tests. Don't worry, the Concurrent Ruby team reviews the tests output of all failed CI runs and will let you know if the failing test is unrelated to your commit.
121116

.yardopts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
--default-return undocumented
99

1010
./lib/**/*.rb
11+
./lib-edge/**/*.rb
1112
./ext/concurrent_ruby_ext/**/*.c
1213
-
1314
doc/thread_pools.md

CHANGELOG.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
## Current
22

3-
concurrent-ruby-edge:
3+
concurrent-ruby:
44

5+
* [Promises](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Promises.html)
6+
are moved from `concurrent-ruby-edge` to `concurrent-ruby`
7+
* Fix Map#each and #each_pair not returning enumerator outside of MRI (#644)
58
* (#659) Edge promises fail during error handling
9+
10+
concurrent-ruby-edge:
11+
12+
* Edge files clearly separated in `lib-edge`
13+
* added ReInclude
614

715
## Release v1.0.5, edge v0.3.1 (26 Feb 2017)
816

CODE_OF_CONDUCT.md

Lines changed: 61 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,71 @@
1-
# Contributor Code of Conduct
1+
# Contributor Covenant Code of Conduct
22

3-
As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
3+
## Our Pledge
44

5-
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project
7+
a harassment-free experience for *everyone*.
8+
9+
## Our Standards
10+
11+
Examples of behavior that contributes to creating a positive environment
12+
include:
13+
14+
* Using welcoming and inclusive language
15+
* Being respectful of differing viewpoints and experiences
16+
* Gracefully accepting constructive criticism
17+
* Focusing on what is best for the project
18+
* Showing empathy towards other project members
619

720
Examples of unacceptable behavior by participants include:
821

9-
* The use of sexualized language or imagery
10-
* Personal attacks
11-
* Trolling or insulting/derogatory comments
22+
* The use of sexualized language or imagery and unwelcome sexual attention or
23+
advances
24+
* Trolling, insulting/derogatory comments, and personal or political attacks
1225
* Public or private harassment
13-
* Publishing other's private information, such as physical or electronic addresses, without explicit permission
14-
* Other unethical or unprofessional conduct.
26+
* Publishing others' private information, such as a physical or electronic
27+
address, without explicit permission
28+
* Other conduct which could reasonably be considered inappropriate in a
29+
professional setting
30+
31+
## Our Responsibilities
32+
33+
Project maintainers are responsible for clarifying the standards of acceptable
34+
behavior and are expected to take appropriate and fair corrective action in
35+
response to any instances of unacceptable behavior.
36+
37+
Project maintainers have the right and responsibility to remove, edit, or
38+
reject comments, commits, code, wiki edits, issues, and other contributions
39+
that are not aligned to this Code of Conduct, or to ban temporarily or
40+
permanently any contributor for other behaviors that they deem inappropriate,
41+
threatening, offensive, or harmful.
42+
43+
## Scope
44+
45+
This Code of Conduct applies both within project spaces and in public spaces
46+
when an individual is representing the project. Examples of
47+
representing a project include using an official project e-mail
48+
address, posting via an official social media account, or acting as an appointed
49+
representative at an online or offline event. Representation of a project may be
50+
further defined and clarified by project maintainers.
51+
52+
## Enforcement
53+
54+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
55+
reported by contacting the project team at `[email protected]`. All
56+
complaints will be reviewed and investigated and will result in a response that
57+
is deemed necessary and appropriate to the circumstances. The project team is
58+
obligated to maintain confidentiality with regard to the reporter of an incident.
59+
Further details of specific enforcement policies may be posted separately.
1560

16-
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team.
61+
Project maintainers who do not follow or enforce the Code of Conduct in good
62+
faith may face temporary or permanent repercussions as determined by other
63+
members of the project's leadership.
1764

18-
This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
65+
## Attribution
1966

20-
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
67+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
68+
available at [http://contributor-covenant.org/version/1/4][version]
2169

22-
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)
70+
[homepage]: http://contributor-covenant.org
71+
[version]: http://contributor-covenant.org/version/1/4/

0 commit comments

Comments
 (0)