| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| | |
We weren't installing the dependencies for the integration tests so the
default Rake task was failing upon first run on a new machine.
|
| |
| |
| |
| |
| | |
Our contributing documentation specifically mentions Bundler so we
should set it as a development dependency.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When you're installing a gem in a production environment, you want it to
install as fast it can. One of the ways you can speed up the
installation of the gem is by making it smaller. We currently ship the
test suite with the gem, increasing the size of the built gem
significantly.
By not shipping the test suite, we can shrink the size of the gem by
38%. Below are the measurements I took for that statement.
**The size of the gem with the test suite**
$ du -b hashie-4.0.1.gem
80384 hashie-4.0.1.gem
**The size of the gem without the test suite**
$ du -b hashie-4.0.1.gem
50176 hashie-4.0.1.gem
|
|/
|
|
|
|
| |
RubyGems.org has recently added the capability to have extra metadata
URLs shown on the gem page. These are handy for people who are new to a
gem or need to report an issue.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Update github urls to hashie/hashie
* Point omniauth in integration tests at master.
Until omniauth releases the changes merged from
https://github.com/omniauth/omniauth/pull/977 , we must point at
master branch.
* revert incorrect change of gem email
Co-Authored-By: Michael Herold <github@michaeljherold.com>
* Reference open issue for release
|
|
|
| |
This is causing too much noise while I experiment, I'll move it to my fork of hashie and test there.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Update the README from moving the repo
|
|/
|
|
| |
[ci skip]
|
| |
|
| |
|
|\
| |
| | |
Remove references to blacklists and whitelists
|
| | |
|
|\ \
| | |
| | | |
Change rubocop to restrict to 100 character lines.
|
| | |
| | |
| | |
| | |
| | | |
For accessibility reasons, we should limit our lines to 100 chars max.
https://github.com/slack-ruby/slack-ruby-client/pull/293#discussion_r309472083
|
|\ \ \
| |/ /
|/| | |
refactor quiet method
|
|/ / |
|
|\ \
| |/
| | |
Updated README.md
|
|/
|
|
| |
SymbolizeKeys and Keywords argument behavior.
|
| |
|
| |
|
|\
| |
| | |
Implement non-destructive standard Hash methods
|
| | |
|
| |
| |
| |
| |
| |
| | |
As of ruby 2.6, Hash#merge and Hash#merge! allow for multiple hashes
to be passed to the method, and will merge each one in the order that
they were passed.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When calling the following non-destructive hash methods:
:compact
:invert
:reject
:select
:slice
:transform_keys
:transform_values
we would be returned an instance of a standard Hash rather
than a Mash (or subclass). This changes that behavior to
instead return an instance of the class the method was
called on.
|
|\
| |
| | |
Travis updates
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
| |
In some cases, you want to be able to ignore Mash warnings for keys
that you know you aren't going to access via a method accessor, yet be
warned for other keys that you know you might want to access. This
change adds the ability to selectively ignore warnings for specific keys
instead of globally ignoring the warnings.
The change retains the original behavior as well, so if you call
`Mash.disable_warnings` without a value it will still globally ignore
the warnings.
|
|\
| |
| | |
Fix README typo
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`Mash.load` uses the Ruby standard library to load Yaml-serialized files
into a Mash. The original implementation used `YAML.load` for this
purpose. However, that method is inherently unsafe so we switched to
using `YAML.safe_load`.
Safely loading Yaml files has many different domain-specific
configuration flags that we did not, by default, expose. This change
introduces the ability to configure the safe loading of Yaml files so
that all types of Yaml can be loaded when necessary using the flags from
the standard library.
This implementation preserves the backwards-compatibility with the prior
implementation so that it should not require updates from users of the
current `Mash.load` behavior. For those who this change affects, we
included upgrading documentation to ease the transition.
|
|\
| |
| | |
Add Hashie::Extensions::Mash::DefineAccessors.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds an extension for Mash that makes it behave like
`OpenStruct`. It reduces overhead of `method_missing?` magic which is a
good thing! It's inspired by the recent @sferik's work on `OpenStruct` —
https://github.com/ruby/ruby/pull/1033.
When using it in `Mash` subclasses it makes them *remember* methods so
then it's more like `ActiveModel` than `OpenStruct` in this case.
To use it like `OpenStruct` one could use this shortcut:
```ruby
{ foo: 1, bar: 2 }.to_mash.with_accessors!
```
Implementation details:
It injects to class an anonymous module that stores accessor method
definitions. This is inspired by `ActiveModel` / `ActiveRecord`. It
allows to override accessors in subclass and call them via `super` if
this is intended.
|
|\
| |
| | |
Reverse condition check in Mash#deep_update
|
|/ |
|
|\
| |
| | |
Calls readers only when a key exists for Mash#update
|
|/
|
|
| |
Refs: https://github.com/intridea/hashie/issues/464
|
|\
| |
| | |
Improve our RuboCop setup
|
|/
|
|
|
|
|
|
|
|
|
| |
Disable Metrics/BlockLength in specs because the length of a block in
the test suite isn't something we want to lint. We want the tests to be
as long as they need to be.
Set an explicit line length metric instead of continually updating this
as we go. Let's pick a max line length that we want to see and stick
with it. This metric should only ever decrease: we don't want to see it
ever increase again.
|
|\
| |
| | |
Use == instead of <= in build_coercion
|