Skip to content

Commit

Permalink
Add support for block argument in Data#to_h
Browse files Browse the repository at this point in the history
  • Loading branch information
herwinw committed Oct 1, 2024
1 parent c8c0cdb commit 6b662f5
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion src/data.rb
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,13 @@ def self.define(*members, &block)
end
alias_method :to_s, :inspect

define_method(:to_h) { members.to_h { |member| [member, public_send(member)] } }
define_method(:to_h) do |&block|
if block
members.to_h { |member| block.call(member, public_send(member)) }
else
members.to_h { |member| [member, public_send(member)] }
end
end

define_method(:with) do |**kwargs|
if kwargs.empty?
Expand Down

0 comments on commit 6b662f5

Please sign in to comment.