Maybe I’ll give it a go, but right now I don’t have any time :( If you do 
it first, make sure to submit a pull request to Macroid ;)

Nick

On Wednesday, October 22, 2014 2:50:49 PM UTC+1, David Pérez wrote:
>
> Thanks Nick, your tip is valuable.
>
> Am Mittwoch, 22. Oktober 2014 15:33:14 UTC+2 schrieb Nick Stanchenko:
>>
>> Hi,
>>
>> It should be relatively straightforward if you know your way around 
>> macros :)
>> Here’s one that serializes pairs (key, value): 
>> https://github.com/macroid/macroid/blob/master/src/main/scala/macroid/Bundles.scala#L24
>> From there, you just need to add the case class inspection bit. Example 
>> (a bit convoluted): 
>> https://github.com/jto/validation/blob/master/validation-core/src/main/scala/play/api/data/mapping/MappingMacros.scala#L41,
>>  
>> see also line 89 for usage.
>> On a final note, I would make it typeclass-based rather than 
>> inheritance-based:
>>
>> trait Bundleable[A] {
>>   def toBundle(x: A): Bundle
>>   def fromBundle(b: Bundle): Try[A]
>> }
>>
>> implicit def genBundleable[A]: Bundleable[A] = macro ???
>>
>> def bundle[A: Bundleable](x: A) =
>>   implicitly[Bundleable[A]].toBundle(x)
>>
>> This way you can define instances of Bundleable[A] both manually and 
>> automatically. And your data model is not polluted with Android nonsense.
>>
>> Hope that helps,
>> Nick
>>
>>
>> On Wednesday, October 22, 2014 8:06:44 AM UTC+1, David Pérez wrote:
>>>
>>> Hi all,
>>>
>>> I've made recently this StackOverflow question:
>>>
>>>
>>> http://stackoverflow.com/questions/26501968/deserializing-objects-automatically-to-a-bundle
>>>
>>> Any answers and/or clues will be welcome.
>>>
>>> David
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"scala-on-android" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to scala-on-android+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to