Skip to content

to_h/to_hash should deeply convert attributes to a hash#332

Open
bradrobertson wants to merge 1 commit intosolnic:masterfrom
bradrobertson:to_h_nested_conversion
Open

to_h/to_hash should deeply convert attributes to a hash#332
bradrobertson wants to merge 1 commit intosolnic:masterfrom
bradrobertson:to_h_nested_conversion

Conversation

@bradrobertson
Copy link

No description provided.

@mraaroncruz
Copy link

Just a heads up here, this blows up if you are using the Array[MyVirtusModel] type.

You can bypass this via:

  class ModelCollection < Array
    def to_h
      map { |model|
        model.to_h
      }
    end
  end

  class Image
    include Virtus.model
    attribute :width,       Integer
    attribute :height,      Integer
    attribute :url,         String
  end

  class Album
    include Virtus.model
    attribute :id,          String
    attribute :title,       String
    attribute :type,        String
    attribute :images,      ModelCollection[Image]
  end

@MissingHandle
Copy link

@bradrobertson @pferdefleisch - thanks for this - I needed to, so I handled the Array case here -

Fooda#2

in case it helps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants