- Your contribution here.
- Your contribution here.
- #405: Fix
Timeserialization regression by reverting #385 and restoringMultiJson.dump- @numbata. - #402: Remove
Json::ParseErrorassignment - @olivier-thatch.
- #400: Switch to danger-pr-comment for PR checks - @numbata.
- #397: Reduce gem size by excluding test files - @yuri-zubov.
- #401: Modernize gemspec: add metadata, use Dir glob, require MFA - @numbata.
- #394: Add
Entity.[]for Grape >= 3.2 param type compatibility - @numbata. - #388: Drop ruby-head from test matrix - @numbata.
- #389: Block arity detection (breaking change) - @numbata.
- #385: Drop multijson dependency - @ericproulx.
- #384: Fix
inspectto correctly handlenilvalues - @fcce.
- #369: Remove
FetchableObjectbehavior (breaking change) - @danielvdao. - #371: Allow default exposed value to be
falseor any empty data - @norydev.
- #366: Don't suppress regular ArgumentError exceptions - @splattael.
- #363: Fix typo - @OuYangJinTing.
- #361: Require 'active_support/core_ext' - @pravi.
- #352: Add Default value option - @ahmednaguib.
- #340: Preparations for 3.0 - @LeFnord.
- #338: Fix ruby 2.7 deprecation warning - @begotten63.
- #336: Pass options to delegators when they accept it - @dnesteryuk.
- #333: Fix typo in CHANGELOG.md - @eitoball.
- #307: Allow exposures to call methods defined in modules included in an entity - @robertoz-01.
- #319: Support hashes with string keys - @mhenrixon.
- #300: Loosens activesupport to 3 - @ericschultz.
- #330: CI: use Ruby 2.5.7, 2.6.5, 2.7.0 - @budnik.
- #329: Option expose_nil doesn't work when block is passed - @serbiant.
- #320: Gemspec: drop eol'd property rubyforge_project - @olleolleolle.
- #307: Allow exposures to call methods defined in modules included in an entity - @robertoz-01.
- #297: Introduce
overrideoption for expose (fixes #286) - @DmitryTsepelev.
- #287: Adds ruby 2.5, drops ruby 2.2 support - @LeFnord.
- #277: Provide grape::entity::options#dig - @kachick.
- #265: Adds ability to provide a proc to as: - @james2m.
- #264: Adds Rubocop config and todo list - @james2m.
- #255: Adds code coverage w/ coveralls - @LeFnord.
- #268: Loosens the version dependency for activesupport - @anakinj.
- #293: Adds expose_nil option - @b-boogaard.
- #288: Fix wrong argument exception when
&:blockpassed to the expose method - @DmitryTsepelev. - #291: Refactor and simplify various classes and modules - @DmitryTsepelev.
- #292: Allow replace non-conditional non-nesting exposures in child classes (fixes #286) - @DmitryTsepelev.
- #251: Avoid noise when code runs with Ruby warnings - @cpetschnig.
- #249: Fix leaking of options and internals in default serialization - @dblock, @KingsleyKelly.
- #248: Fix
nilvalues causing errors whenmergeoption passed - @arempe93.
- #226: Added
fetchfromopts_hash- @alanjcfs. - #232, #213: Added
#kind_of?and#is_a?toOutputBuilderto get an exact class of anoutputobject - @avyy. - #234, #233: Added ruby version checking in
Gemfileto install needed gems versions for supporting old rubies too - @avyy. - #237: Added Danger, PR linter - @dblock.
- #215:
#delegate_attributeno longer delegates to methods included withKernel- @maltoe. - #219: Double pass options in
serializable_hash- @sbatykov. - #231, #215: Allow
delegate_attributefor derived entity - @sbatykov.
- #203:
Grape::Entity::Exposure::NestingExposure::NestedExposures.delete_ifalways returns exposures - @rngtng. - #204, #138: Added ability to merge fields into hashes/root (
:mergeoption for.expose) - @avyy.
- #139: Keep a track of attribute nesting path during condition check or runtime exposure - @calfzhou.
- #151:
.exposuresis removed and substituted with.root_exposuresarray - @marshall-lee. - #151:
.nested_exposuresis removed too - @marshall-lee. - #151:
#should_return_attribute?,#only_fieldsand#except_fieldsare moved to other classes - @marshall-lee. - #151: Nested
unexposenow raises an exception: #152 - @marshall-lee.
- #151: Double exposures with conditions does not rewrite previously defined now: #56 - @marshall-lee.
- #151: Nested exposures were flattened in
.documentation: #112 - @marshall-lee. - #151:
@only_fieldsand@except_fieldsmemoization: #149 - @marshall-lee. - #151:
:unlesscondition withHashargument logic: #150 - @marshall-lee. - #151:
@documentationmemoization: #153 - @marshall-lee. - #151: Serializing of deeply nested presenter exposures: #155 - @marshall-lee.
- #151: Deep projections (
:only,:except) were unaware of nesting: #156 - @marshall-lee.
- #167, #166: Regression with global settings (exposures, formatters) on
Grape::Entity- @marshall-lee.
- #164: Regression: entity instance methods were exposed with
NoMethodError: #163 - @marshall-lee.
- #114: Added 'only' option that selects which attributes should be returned - @estevaoam.
- #115: Allowing 'root' to be inherited from parent to child entities - @guidoprincess.
- #121: Sublcassed Entity#documentation properly handles unexposed params - @dan-corneanu.
- #134: Subclasses no longer affected in all cases by
unexposein parent - @etehtsea. - #135: Added
exceptoption - @dan-corneanu. - #136: Allow for strings in
onlyandexceptoptions - @bswinnerton. - #147, #140: Expose
safeattributes asnilif they cannot be evaluated - @marshall-lee. - #147: Remove catching of
NoMethodErrorbecause it can occur deep inside in a method call so this exception does not mean that attribute not exist - @marshall-lee. - #147: The
valid_exposuresmethod was removed - @marshall-lee.
- #147, #142: Private method values were not exposed with
safeoption - @marshall-lee.
- #109: Added
unexposemethod - @jonmchan. - #98: Added nested conditionals - @zbelzer.
- #105: Specify which attribute is missing in which Entity - @jhollinger.
- #111: Allow usage of attributes with name 'key' if
Hashobjects are used - @croeck. - #110: Safe exposure when using
Hashmodels - @croeck. - #91: OpenStruct serializing - @etehtsea.
- #85: Added
present_collectionto indicate that anEntitypresents an entire Collection - @dspaeth-faber. - #85: Hashes can now be passed as object to be presented and the
Hashkeys can be referenced by expose - @dspaeth-faber.
- #76: Improve performance of entity serialization - @justfalter.
- #77: Compatibility with Rspec 3 - @justfalter.
- #60: Performance issues introduced by nested exposures - @AlexYankee.
- #60: Nested exposure double-exposes a field - @AlexYankee.
- Ruby 1.8.x is no longer supported - @dblock.
- #36: Enforcing Ruby style guidelines via Rubocop - @dblock.
- #7: Added
serializableoption torepresent- @mbleigh. - #18: Added
safeoption toexpose, will not raise error for a missing attribute - @fixme. - #16: Added
usingoption toexpose SYMBOL BLOCK- @fahchen. - #24: Return documentation with
asparam considered - @drakula2k. - #27: Properly serialize hashes - @clintonb.
- #28: Look for method on entity before calling it on the object - @MichaelXavier.
- #33: Support proper merging of nested conditionals - @wyattisimo.
- #43: Call procs in context of entity instance - @joelvh.
- #47: Support nested exposures - @wyattisimo.
- #46, #50: Added support for specifying the presenter class in
usingin string format - @larryzhao. - #51: Raise
ArgumentErrorif an unknown option is used withexpose- @aj0strow. - #51: Alias
:withto:using, consistently with the Grape api endpoints - @aj0strow.
- #9: Added
with_optionsfor block-level exposure setting - @SegFaultAX. - The
instance.entitymethod now optionally acceptsoptions- @mbleigh. - You can pass symbols to
:ifand:unlessto simply check for truthiness/falsiness of the specified options key - @mbleigh.
- Moved the namespace back to
Grape::Entityto preserve compatibility with Grape - @dblock.
- Initial public release - @agileanimal.