1.) A struct in ruby isn't just data, it is an object.
2.) Structs come with some weird gotchas, most notably that it is an Enumerable!
3.) It's generally better to use a hash (in ruby) if you want "pure" data object (and they at least used to be faster).
I myself have written a lot of "weird" Ruby and I will say that more often than not it's detrimental to an application that is used/developed by others. Often times ideas that seem brilliant in one language, cannot be translated into another (immutability), and it's best to use the recommended paradigms. Especially when those using the software are not familiar with them, and most likely won't become familiar with them....
For me, many functional paradigms are just lost on ruby because it's so highly mutable that practicing them is more academic than practical (sadly). That's why I write Scala or Elixir now when I want/need those paradigms-- because they're the right tools for that job.
I definitely don't want to discourage innovation, or bringing great ideas to ruby from other places-- I just want to emphasize caution :)