summaryrefslogtreecommitdiff
path: root/Gemfile
Commit message (Collapse)AuthorAgeFilesLines
* Add Ruby 3.1 to CI (#558)Peter Goldstein2022-01-271-11/+3
| | | | | | | | | | | | | | | | | | * Add Ruby 3.1 to CI Update Rubocop for recent Rubies Disable Rubocop run for Rubies before Ruby 2.4 Quote '3.0' in the CI configuration to ensure it loads a 3.0.x Ruby Set RUBYOPT="--disable_error_highlight" so Ruby 3.1 error matchers pass * Add CHANGELOG.md entry * Re-add deleted line from CHANGELOG.md * Set minimum supported Ruby version to 2.4. Remove a number of code bits designed to support Rubies below version 2.4 * Bump version. Remove unneeded require from Gemfile. Add require to spec/support file
* Remove mention and configuration of CodeClimateMichael Herold2021-06-271-1/+1
| | | | | We don't really care about the metrics it gives and we can't access configuration for it anymore for some reason, so let's end it.
* Added TOC and upgraded danger-changelog to verify the keep-a-changelog ↵dblock2020-05-081-1/+2
| | | | formatted CHANGELOG.
* Merge pull request #499 from michaelherold/permissive-respond-toBobby McDonald2019-11-181-0/+1
|\ | | | | Add a PermissiveRespondTo extension for Mashes
| * Add a PermissiveRespondTo extension for MashesMichael Herold2019-11-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | By default, Mashes don't state that they respond to unset keys. This causes unexpected behavior when you try to use a Mash with a SimpleDelegator. This new extension allows you create a permissive subclass of Mash that will be fully compatible with SimpleDelegator and allow you to fully do thunk-oriented programming with Mashes. This comes with the trade-off of a ~19KB cache for each of these subclasses and a ~20% performance penalty on any of those subclasses.
* | Switch to only setting Bundler as a dev dependencyMichael Herold2019-11-171-11/+16
|/ | | | | Our contributing documentation specifically mentions Bundler so we should set it as a development dependency.
* Change rubocop to allow 100 character lines.Bobby McDonald2019-10-171-1/+2
| | | | | For accessibility reasons, we should limit our lines to 100 chars max. https://github.com/slack-ruby/slack-ruby-client/pull/293#discussion_r309472083
* Update Rubocop and address the addressable todosMichael Herold2018-06-171-4/+6
| | | | | | | | | | | | | | | | | | | | | This is a big step forward in our Rubocop setup. I addressed all of the todos from the current version of Rubocop that made sense to. The only things that remain are metrics and one cop that relies on the line length metric to work. I made some judgment calls on disabling a few cops: 1. The `Layout/IndentHeredoc` cop wants you to either use the squiggly heredoc from Ruby 2.3 or introduce a library. Since we are a low-level library that is used as a transitive dependency, we cannot introduce another library as a dependence, so that option is out. Also, we support Rubies back to 2.0 currently, so using the squiggly heredoc isn't an option. Once we remove support for Rubies older than 2.3, we can switch to the squiggly heredoc cop. 2. The `Naming/FileName` cop was reporting false positives for a few files in the repository, so I disabled it on those files. 3. The `Style/DoubleNegation` cop reports lints on a few cases where we use double negation. Given the very generic nature of Hashie, the double-negation is the easiest, clearest way to express that we want an item to be a Boolean. I disabled the cop because we exist in the gray area where this makes sense.
* Add an extension to maintain original Mash keys (#326)Michael Herold2017-02-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | One of the behaviors of Mash that we see regularly surprise users is that Mash stringifies any keys passed into it. This leads to unexpected lack of synergy between Mash and its cousins (particularly Dash), since the property DSLs do not handle indifferent key access. This extension ensures that the original keys are kept inside the Mash's data structure, at the expense of more costly logic for fetching information indifferently. I have included a benchmark that compares the two. The benchmark shows that when you are passing string keys into a Mash, using this extension will actually be _faster_ than the default implementation, but that the reverse is true when passing symbol keys. In #296, I tried to do this universally for all Mashes, which slowed down the fetching behavior for Mash significantly. I like this attempt much better because it allows users to opt into the new behavior if they want it, while still keeping the default implementation as-is. Fixes #196 by giving the option of keeping the original structure of the Mash when using it with Dash. Fixes #246 by giving the option of opting into keeping the original keys. Closes #296 by giving a more flexible path forward that doesn't change the semantics of the main Mash class.
* Bring integration tests into main test harnessMichael Herold2017-02-031-0/+1
| | | | | | | | | | | | | | | | We have a nice integration spec harness, so let's make sure we use it when we're working on the gem. I'm making the following changes: * Make `bundle exec rake` run integration specs, except on Travis. * Silence a warning in the OmniAuth integration spec that has nothing to do with Hashie. * Make Guard run integration specs when appropriate. Now, when you run all tasks you will run integration specs. Also, if you modify an integration spec, it will run. Lastly, if you modify anything in `lib` the integration specs will run. * Keeps the extra Travis build that only runs integration specs. Travis didn't like the Rake task that included it and there's extra signal by doing it this way anyway.
* Support Ruby 2.4.0 (#389)Masahiro Saito2017-01-061-1/+6
|
* Update to CodeClimate 1.0.xPaul Bowsher2016-12-041-1/+1
| | | | | | | | CodeClimate > 1.0 uses SimpleCov and requires the test reporter to be called explicitly: https://github.com/codeclimate/ruby-test-reporter/blob/master/CHANGELOG. md#v100-2016-11-03
* Added Danger, PR linter. (#366)Daniel Doubrovkine (dB.) @dblockdotorg2016-09-091-0/+1
|
* Lock activesupport to 4.x for testing.Atsushi Ishida2016-07-151-1/+1
|
* Upgraded to RuboCop 0.34.2.dblock2015-10-251-1/+1
|
* Fix: RBX build fails, see https://github.com/rspec/rspec-core/issues/1863.dB2015-02-041-0/+1
|
* Upgraded RuboCop to 0.28.0.dblock2014-12-301-1/+1
|
* Fix: Rubinius build, lock at rbx-2.2.10, remove platform :rbx block.dB2014-12-091-7/+1
|
* Code coverage reportingBartosz Kopiński2014-11-271-0/+1
|
* Locked version of RuboCop.dblock2014-11-181-1/+1
|
* Bump rubocop to 0.26 and address new copsMichael Herold2014-09-061-1/+1
|
* Fix: working guard.dB2014-08-241-4/+7
|
* Merge pull request #213 from michaelherold/add-some-debugging-toolsDaniel Doubrovkine (dB.) @dblockdotorg2014-08-241-0/+5
|\ | | | | Add pry and pry-stack_explorer for debugging
| * Add pry and pry-stack_explorer for debuggingMichael Herold2014-08-241-0/+5
| |
* | Update Rubocop to 0.25.0 and get it passingMichael Herold2014-08-231-1/+1
|/
* Fixed stack overflow when coercing mashes that contain ↵Morgan Jones2014-07-091-0/+3
| | | | ActiveSupport::HashWithIndifferentAccess values.
* Bump up Rubocop to 0.24.1Peter M. Goldstein2014-07-061-1/+1
|
* Upgraded Rubocop, removed broken platforms from Travis.dblock2014-04-301-1/+1
|
* Locked Rubocop at 0.20.0.dB2014-04-041-1/+1
|
* upgrading rubocop to 0.20.0 to work with ruby-head buildsBartosz Kopiński2014-04-041-1/+1
|
* Fixed Rubinius build.dblock2014-03-301-0/+1
|
* Added Rubocop.dblock2014-03-301-0/+2
|
* Removed unused dependencies.dblock2014-03-301-3/+1
|
* Merge branch 'feature/add_ruby_2_1_0' of github.com:petergoldstein/hashiedblock2014-03-301-0/+6
|\
| * Add Ruby 2.1.0 to Travis config. Remove guard from development ↵Peter M. Goldstein2013-12-251-0/+6
| | | | | | | | dependencies, so specs run under all supported Rubies.
* | Fix Rubinius test runtime errorKensuke Nagae2013-12-021-0/+2
|/ | | | Load `rubysl` (Ruby Standard Library gem) when runtime is Rubinius.
* Switch to Bundler for gem management and Guard for autotesting.Michael Bleigh2011-07-221-11/+1
|
* Update to RSpec 2.0Michael Bleigh2011-01-271-1/+1
|
* Changed up spec_helper a bit, added respond_to? on MashMichael Bleigh2010-07-281-1/+2
|
* add the gemfilesDaniel Neighman2010-06-221-0/+11