apotonick/representable — pull request #91 by dblock (2014-05-15 13:36:49+00:00)
Title: Fixed Representable on Rubinius

* Rubinius requires psych explicitly or you get this:
```
collection::#from_yaml#test_0001_parses a block style list:
NameError: Missing or uninitialized constant: Representable::YAML::Psych
kernel/common/module.rb:667:in `const_missing'
/Users/dblock/source/representable/dblock/lib/representable/yaml.rb:36:in `from_yaml'
/Users/dblock/source/representable/dblock/test/yaml_test.rb:112:in `__script__'
```
* Rubinius throws this error in regards to `private :default`:
```
An exception occurred running /Users/dblock/.rvm/gems/rbx-2.2.6/gems/rake-10.3.1/lib/rake/rake_test_loader.rb:

private method `default' called on an instance of Representable::Definition. (NoMethodError)

Backtrace:

Kernel(Representable::Definition)#default (method_missing) at kernel/delta/kernel.rb:78
Hash(Representable::Definition)#initialize_copy (replace) at kernel/common/hash.rb:502
Kernel(Representable::Definition)#initialize_clone at kernel/common/kernel.rb:313
Rubinius::Type.object_initialize_clone at kernel/common/type.rb:432
Kernel(Representable::Definition)#clone at kernel/alpha.rb:234
{ } in Representable::Config::InheritMethods(Representable::Config)#cloned at lib/representable/config.rb:56
```
TBH I don't understand why, nor do I really understand why `:default` was marked private. Removing that works, but you might want to push back if there was a good reason for that. Either way, `:default` is something that you need to invoke during `.clone`, which you would imagine doesn't care about private methods, but on RBX it does (?).
* Added Ruby 2.1.1, Rubinius and JRuby to Travis.
* Added Travis badge to README.

I have a successful build in https://travis-ci.org/dblock/representable/builds/25243416