Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: solnic/virtus
base: v0.4.1
head fork: solnic/virtus
compare: v0.5.4
Checking mergeability… Don't worry, you can still create the pull request.
Commits on May 01, 2012
@senny senny ignore binstubs generated by bundle --binstubs 484a454
@senny senny integration spec to illustrate ValueObject duplication 559960f
Commits on May 08, 2012
@solnic Bump version to 0.4.2 2240efa
@solnic Bump backports dep to ~> 2.5.3 45d557e
@solnic Changelog update 558709d
Commits on May 11, 2012
@solnic Bump guard-rspec dep 538022e
@solnic Allow any input for EmebddedValue or ValueObject constructor, not jus…
…t Hash

Closes #88
@solnic Bump version to 0.4.3 7a02c9f
@solnic Update 4726730
Commits on May 13, 2012
@solnic Add support for Struct as an EmmbeddedValue or ValueObject 5910243
@solnic Add an integration spec for Struct as an EV 1d8763e
@solnic Dooh, fix spec for 1.8.7 9591d72
@solnic Fix typo 2e966c9
@solnic Bump version to 0.5.0 0d00ed1
@solnic Update Changelog 1fd6db7
Commits on May 17, 2012
@senny senny ValueObject #clone and #dup return self 0402b3e
@dkubb dkubb Merge pull request #87 from senny/topic/value_object_copies
ValueObject should not be duplicated
@solnic Update b97afea
Commits on May 18, 2012
@solnic Initial work on Virtus modules 5600671
@solnic No idea why I added reverse there fb30a55
Commits on Jun 04, 2012
@snusnu snusnu Bump backports dep to ~> 2.6.1
This makes virtus coexist peacefully with lastest
dm-core and veritas related master sources.
@solnic Merge pull request #91 from snusnu/bump_backports
Bump backports dep to ~> 2.6.1
@solnic Make Virtus work with classes, instances and modules (messy spike com…
@solnic Merge branch 'master' into modules-spike 6f5924e
@solnic Add more use cases to the using modules integration spec 8f3c2a6
@dkubb dkubb Rename ClassExtensions to ClassInclusions
* Change so that ClassInclusions is included, since it mostly just extends the
  descendant and adds instance methods.
@solnic Remove AllowedWriterMethods 7e30658
@solnic Move allowed_writer_methods down a bit 76e6a35
@dkubb dkubb Remove unecessary line from protected method e256f84
@dkubb dkubb Change methods to be private d81ac7d
@dkubb dkubb Add @api private doc to public_method_list e01b2d1
@dkubb dkubb Fix whitespace 342cb26
@solnic Rename _attributes to attribute_set 371c2c9
Commits on Jun 06, 2012
@solnic Bump guard-rspec version dep a643942
@solnic Merge branch 'master' into modules-spike 6d03269
Commits on Jun 08, 2012
@apotonick apotonick be kind and call super in ModuleExtensions#extended and #included to …
…allow other frameworks hooking into extention mechanism, too.
@solnic Merge pull request #92 from apotonick/modules-spike
Call super when extending
@solnic Fix Virtus.extended visibility 04f8567
@solnic Rename InstanceExtensions to just Extensions 023fdee
@solnic Fix visibility of Extensions.extended 76acc2d
@solnic Adjust flay threshold 57706fa
@solnic Raise argument error if Virtus is being included into an unsupported …
@solnic Go back to 100% doc coverage 3615ab4
@solnic Simplify Virtus.included (that case statement made no sense) 15ad0b5
@solnic Merge pull request #90 from solnic/modules-spike
Support extending modules and instances :gift:
@solnic Update README with modules and instances examples 96bffb4
@solnic Fix headers in README 28a01ee
@solnic Deprecate ClassMethods.attributes 68ce27f
@solnic Update changelog c28f9a6
@solnic Changelog update 45d6536
@solnic Fix example in README 9709ddc
@dkubb dkubb Add heading for class usage be9930d
@dkubb dkubb Update Copyright year 405ef9d
Commits on Jun 11, 2012
@solnic Handle nil values properly in EV
[fixes #94]
@solnic Bump version to 0.5.1 6a04d15
@solnic Changelog update dcdbb3c
@dkubb dkubb [#93] Fix module inclusion problem
* When a module includes Virtus, and then is included into another
  module an error was thrown.
@dkubb dkubb [#89] Change attribute() to use Object as a default type
* Change ValueObejct#attribute to pass-through some arguments
@dkubb dkubb Add spec for Virtus::ClassMethods#attributes
* Make sure the deprecation warning is returned
@dkubb dkubb Add spec for Virtus::ValueObject::InstanceMethods#clone and #dup ec850e2
@dkubb dkubb Remove unnecessary usage of send(:include, ...) cc1cd68
@dkubb dkubb Add spec for Virtus::ModuleExtensions#attribute
* Change Virtus::Attribute instances to be comparable using equalizer.
@dkubb dkubb Change Virtus::Attribute::EmbeddedValue.determine_type to be @api pri…
@dkubb dkubb Remove dead code from heckle task c700c23
@dkubb dkubb Change name of private method for allowed writers
* Add YARD docs for the private methods
@dkubb dkubb Update flay threshold 4d56634
@dkubb dkubb Fix spec to pass under ruby 1.9 afcb223
Commits on Jun 24, 2012
@schmurfy schmurfy typo (bolean) 1451c1b
@solnic Merge pull request #97 from schmurfy/patch-1
typo (bolean)
Commits on Jul 01, 2012
@emmanuel emmanuel A couple tiny doc fixes.
Fixed example for Virtus::ClassMethods#attribute_set.
@emmanuel emmanuel Be nice, call super. 167e3ee
@emmanuel emmanuel Replace AttributesAccessor with AttributeSet.
This way the methods for accessing a set of
Attributes are together with those Attributes.
Commits on Jul 03, 2012
@solnic Merge pull request #100 from emmanuel/attribute_set_as_module
Replace AttributesAccessor with AttributeSet.
@solnic Adjust flay threshold e65635f
Commits on Jul 05, 2012
@dkubb dkubb Change const_missing to be public
* Fixes #101
Commits on Jul 10, 2012
@solnic Add codeclimate badge f3af067
Commits on Jul 19, 2012
Markus Schirp Add spec about frozen objects and reading defaults
* A fix will be in next commit to allow easy testing.
Markus Schirp Ensure defaults are set prior to freeze objects
* As defaults are lazy-set on first access, accessing a
  attribute with a default on a previously frozen object
  blows up without this patch.

* I choose not to call #get_attributes as this creates an wasted
  attribute hash.
Markus Schirp Handle exception differencies between 1.8 and 1.9
* This solution should also work for jruby, rbx etc.
Commits on Jul 20, 2012
Markus Schirp Fix whitespace after comma describe block 6c893a8
Markus Schirp Use private method for setting defaults 74c47e2
Markus Schirp Fix more whitespace issues 315d3bf
Commits on Jul 21, 2012
@dkubb dkubb Merge pull request #105 from mbj/fix-read-defaults-after-freeze
Fix read defaults after freeze
Commits on Jul 27, 2012
Markus Schirp Disallow mutation of ValueObjects via #attributes=
* Increases consistency as mutations on value objects should be
  created via #with(mutations).
Commits on Jul 28, 2012
@dkubb dkubb Merge pull request #108 from mbj/fix-mutations-on-value-objects
Disallow mutation of ValueObjects via #attributes=
Commits on Aug 31, 2012
@greyblake greyblake Fix integer coercion bug
Issue 107
Commits on Sep 01, 2012
@solnic Remove ruby-head from travis setup defcb2d
@solnic Merge pull request #111 from greyblake/107_integer_coercion
Fix integer coercion bug

Fixes #107
@solnic Update Changelog 049b057
@solnic Update Changelog 49564ff
@solnic Bump version 273dfbc
@solnic Bump guard-rspec cfd83ff
@solnic Bump json development dep 32d0f22
@solnic Adjust flay threshold 4270c10
@solnic Bump rcov b9e0a9b
@solnic Mention mass-assignment in README 0d72026
@greyblake greyblake Support deep coercion for Hash attributes
Issue #98
@greyblake greyblake Update comment of Virtus::Attribute::Hash#new_hash
Issue #98
Commits on Sep 02, 2012
@greyblake greyblake Remove pry
Issue #98
@greyblake greyblake Add unit test for Virtus::Attribute::Hash#coerce c4a9101
@greyblake greyblake Add Hash attributes coercon example to README
Issue #98
@greyblake greyblake Rename hash_member_coercion_spec.rb -> hash_attributes_coercion_spec.rb
Issue #98
@greyblake greyblake remove extra line
Issue #98
@greyblake greyblake use each_object_with instead of inject
Issue #98
Commits on Sep 10, 2012
@dkubb dkubb Fix whitespace 19116a5
@dkubb dkubb Add default values for Array, Hash and Set types
* Fixes #113
Commits on Sep 14, 2012
@snusnu snusnu Fix doc example for Virtus::Attribute::Class a716580
@solnic Merge pull request #115 from snusnu/minor_fixes
Fix doc example for Virtus::Attribute::Class
Commits on Sep 15, 2012
@greyblake greyblake Do not redefined Hash#[]= method
Issue #112
Issue #98
Commits on Oct 01, 2012
@solnic Merge branch 'master' into 98_hash_attributes_coercion 4ec4010
@solnic Adjust flay threshold 5c82dbb
@solnic Fix typo in README 34efa67
@solnic Add tests for Hash#key_type and Hash#value_type 39b024b
@solnic Minor formatting fixes in Hash#coerce spec bd5f2e9
@solnic Allow failures on jruby-head 18f073e
@solnic Bump version acc4129
@solnic Add a note about member class coercion
Closes #114
@solnic Oops fix formatting in README 26c4317
@indrekj indrekj Raise more readable error message 8ec2747
@indrekj indrekj Fix a test that failed when rspec 2 was used b30e038
Commits on Oct 05, 2012
@solnic Merge pull request #117 from indrekj/error-message
Raise more readable error message
@solnic Merge pull request #118 from indrekj/fix-spec
Fix a test that failed when rspec 2 was used
Commits on Oct 23, 2012
@Domon Domon Fix the formatting of title in README 1790c28
@solnic Merge pull request #121 from Domon/patch-1
Fix the formatting of title in README
Commits on Nov 04, 2012
@mduvall mduvall Change leading non-significant digit type coercion to be coerced f81fed8
Commits on Nov 12, 2012
@greyblake greyblake Fix string coercion bug.
Issue #126
Commits on Nov 13, 2012
@brutuscat brutuscat Add Integer.to_datetime and Float.to_datetime coercion b2a221e
Commits on Nov 14, 2012
@greyblake greyblake Update FRACTIONAL_REGEXP and NUMERIC_REGEXP
Issue #126 #127
Commits on Nov 30, 2012
@dkubb dkubb Merge pull request #127 from greyblake/126_e_notation_coercion
Fix E notation coercion
@dkubb dkubb Fix whitespace 92f2cd9
Commits on Dec 01, 2012
@dkubb dkubb Update flay threshold 7fdcc8b
@dkubb dkubb Move spec for method that was moved to another module 9f98835
@dkubb dkubb Add spec for Virtus::ClassMethods#attribute
* This method does not exist within this package, but is
  inherited through Virtus::Extensions. However it relies on
  private methods in this class, so the only way to verify the
  behaviour is to have a test for this interface.
Commits on Dec 06, 2012
@brutuscat brutuscat Fix issues 882e83f
@brutuscat brutuscat Merge branch 'master' of 218e15e
@brutuscat brutuscat Improve code 8aadf57
@brutuscat brutuscat Fix ask for RUBY_ENGINE 2201054
Commits on Dec 07, 2012
Markus Schirp Introduce devtools 6b75349
Markus Schirp Adjust flay score a6db8ae
@solnic Merge pull request #134 from mbj/devtools-rspec-2-mutant
Introduce devtools
Markus Schirp Use devtools from master c595ca2
@solnic Merge pull request #135 from mbj/devtools-rspec-2-mutant
Use devtools from master
@solnic Bump rspec to 2 and add simplecov stuff d1f2458
@solnic Add mutant config and tmp fix for rubygems dep issues fcd9488
@solnic Remove heckle settings from spec helper c6662a9
@solnic Add rspec config c6d049e
@solnic Update dev deps 642e482
@solnic Replace Virtus::DescendantsTracker with the extracted one b5b6c94
@solnic Remove spec for Attribute::Object.descendants 5265d4c
Commits on Dec 09, 2012
@solnic Use devtools from dm org account a843cab
Commits on Dec 13, 2012
@solnic Update changelog d98d244
@solnic To continue tradition I had to make a mistake in changelog 2c8f4e2
Commits on Dec 18, 2012
@aptinio aptinio Allow custom enumerables as collection attributes afe09dc
@aptinio aptinio Remove unnecessary check for Hash when determining attribute type 92d7ca1
@aptinio aptinio Sync Gemfile.devtools with gem 31fb8ce
@shingara shingara Fix the Hash coercion failure if you don't define a complete Hash

Since virtus 0.5.3 a new Coercion Hash was introduce like
Hash[Symbol => Float]

But with old Hash system there are a failure. This commit fix that.
@shingara shingara Fix incompatibilities between rake in devtools and virtus
Since commit :

We need have rake 10.0 like dependencies. So we have 2 choices.

1) Fix devtools to previous commit
2) Update rake to 10.0 in virtus.

This commit do the second choice.
@shingara shingara delete all development_dependency in gemspec. All is define by devtools aeddff4
@aptinio aptinio Fix class names being determined as String attributes in ruby 1.8.7.
This is caused by Strings descending from Enumerable in ruby 1.8.7
but not in 1.9.3.
@shingara shingara refactor the Virtus::Attribute::Hash da9d790
Commits on Dec 19, 2012
@aptinio aptinio Add Virtus::Attribute.determine_type examples for enumerable and arra…
…y subclass instances.
@solnic Merge pull request #141 from shingara/fix/rake_dependencies_with_devt…

Fix incompatibilities between rake in devtools and virtus
@solnic Merge pull request #140 from shingara/fix/coerce_hash_without_new_coe…

Fix the Hash coercion failure if you don't define a complete Hash
@solnic Merge pull request #139 from aptinio/master
Allow custom enumerables as collection attributes
Commits on Dec 20, 2012
@dkubb dkubb Merge pull request #128 from brutuscat/master
Add Integer.to_datetime and Float.to_datetime coercion
@dkubb dkubb Merge pull request #124 from maskact/master
Change leading non-significant digit type coercion to be coerced
@solnic Update 69c43a6
@solnic Bump version 940c3c9