From 0eb2a06cc67c0bdfda89cf2654c13f36324ddf19 Mon Sep 17 00:00:00 2001 From: dblock Date: Fri, 8 May 2020 14:50:28 -0400 Subject: [PATCH] Added TOC. --- CHANGELOG.md | 9 ++++---- Dangerfile | 5 ++++- Gemfile | 3 ++- README.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 70 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a7af454..f9561315 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Change Log +# Changelog All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning 2.0.0][semver]. Any violations of this @@ -6,12 +6,13 @@ scheme are considered to be bugs. [semver]: http://semver.org/spec/v2.0.0.html -## [Unreleased][unreleased] +## [Unreleased] [unreleased]: https://github.com/hashie/hashie/compare/v4.1.0...master ### Added +* [#523](https://github.com/hashie/hashie/pull/523): Added TOC - [@dblock](https://github.com/dblock). * Your contribution here. ### Changed @@ -92,7 +93,7 @@ scheme are considered to be bugs. ### Miscellaneous * [#465](https://github.com/hashie/hashie/pull/465): Clean up our RuboCop configuration and fix the outstanding line length violations. This involved some minor refactoring on `Hashie::Extensions::Coercion`, `Hashie::Extensions::Dash::IndifferentAccess`, `Hashie::Extensions::DeepLocate`, `Hashie::Extensions::Mash::SafeAssignment`, and `Hashie::Hash`, but none that were detectable via the test suite - [@michaelherold](https://github.com/michaelherold). -* [#482](https://github.com/hashie/hashie/pull/482): Update Travis configs to make jruby builds run on trusty dist. - [@BobbyMcWho](https://github.com/BobbyMcWho). +* [#482](https://github.com/hashie/hashie/pull/482): Update Travis configs to make jruby builds run on trusty dist - [@BobbyMcWho](https://github.com/BobbyMcWho). ## [3.6.0] - 2018-08-13 @@ -417,8 +418,6 @@ scheme are considered to be bugs. [3.0.0]: https://github.com/hashie/hashie/compare/v2.1.2...v3.0.0 -Note: This version introduces several backward incompatible API changes. See [UPGRADING](UPGRADING.md) for details. - ### Added * [#149](https://github.com/hashie/hashie/issues/149): Allow IgnoreUndeclared and DeepMerge to be used with undeclared properties - [@jhaesus](https://github.com/jhaesus). diff --git a/Dangerfile b/Dangerfile index 28a2bda4..229e8f70 100644 --- a/Dangerfile +++ b/Dangerfile @@ -1,3 +1,6 @@ # see http://danger.systems -changelog.check +changelog.format = :keep_a_changelog +changelog.check! + +toc.check! diff --git a/Gemfile b/Gemfile index ab470f98..b97259b8 100644 --- a/Gemfile +++ b/Gemfile @@ -31,5 +31,6 @@ end group :test do gem 'codeclimate-test-reporter', '~> 1.0', require: false - gem 'danger-changelog', '~> 0.1.0', require: false + gem 'danger-changelog', '~> 0.6.0', require: false + gem 'danger-toc', '~> 0.2.0', require: false end diff --git a/README.md b/README.md index 6059ac78..ae150744 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,66 @@ [![eierlegende Wollmilchsau](./mascot.svg)](#mascot) Hashie is a growing collection of tools that extend Hashes and make them more useful. +# Table of Contents + +- [Installation](#installation) +- [Stable Release](#stable-release) +- [Hash Extensions](#hash-extensions) +- [Logging](#logging) + - [Coercion](#coercion) + - [Coercing Collections](#coercing-collections) + - [Coercing Hashes](#coercing-hashes) + - [Coercing Core Types](#coercing-core-types) + - [Coercion Proc](#coercion-proc) + - [A note on circular coercion](#a-note-on-circular-coercion) + - [KeyConversion](#keyconversion) + - [MergeInitializer](#mergeinitializer) + - [MethodAccess](#methodaccess) + - [MethodAccessWithOverride](#methodaccesswithoverride) + - [MethodOverridingInitializer](#methodoverridinginitializer) + - [IndifferentAccess](#indifferentaccess) + - [IgnoreUndeclared](#ignoreundeclared) + - [DeepMerge](#deepmerge) + - [DeepFetch](#deepfetch) + - [DeepFind](#deepfind) + - [DeepLocate](#deeplocate) +- [StrictKeyAccess](#strictkeyaccess) + - [Example:](#example) +- [Mash](#mash) + - [Example:](#example-1) + - [How does Mash handle conflicts with pre-existing methods?](#how-does-mash-handle-conflicts-with-pre-existing-methods) + - [Example:](#example-2) + - [How does the wrapping of Mash sub-Hashes work?](#how-does-the-wrapping-of-mash-sub-hashes-work) + - [Example:](#example-3) + - [How does Mash handle key types which cannot be symbolized?](#how-does-mash-handle-key-types-which-cannot-be-symbolized) + - [Example](#example-4) + - [What else can Mash do?](#what-else-can-mash-do) + - [Example:](#example-5) + - [Mash Extension: KeepOriginalKeys](#mash-extension-keeporiginalkeys) + - [Mash Extension: PermissiveRespondTo](#mash-extension-permissiverespondto) + - [Mash Extension: SafeAssignment](#mash-extension-safeassignment) + - [Example:](#example-6) + - [Mash Extension: SymbolizeKeys](#mash-extension-symbolizekeys) + - [Mash Extension: DefineAccessors](#mash-extension-defineaccessors) +- [Dash](#dash) + - [Example:](#example-7) + - [Example:](#example-8) + - [Potential gotchas](#potential-gotchas) + - [Dash Extension: PropertyTranslation](#dash-extension-propertytranslation) + - [Example from inconsistent APIs](#example-from-inconsistent-apis) + - [Example using translation lambdas](#example-using-translation-lambdas) + - [Mash and Rails 4 Strong Parameters](#mash-and-rails-4-strong-parameters) + - [Dash Extension: Coercion.](#dash-extension-coercion) +- [Trash](#trash) +- [Clash](#clash) + - [Example:](#example-9) +- [Rash](#rash) + - [Example:](#example-10) + - [Auto-optimized](#auto-optimized) +- [Mascot](#mascot) +- [Contributing](#contributing) +- [Copyright](#copyright) + ## Installation Hashie is available as a RubyGem: