[#42344] [ruby-trunk - Feature #5964][Open] Make Symbols an Alternate Syntax for Strings — Tom Wardrop <tom@...>

23 messages 2012/02/03

[#42443] [ruby-trunk - Bug #5985][Open] miniruby skews "make benchmark" results — Eric Wong <normalperson@...>

21 messages 2012/02/08

[#42444] [ruby-trunk - Bug #5986][Open] Segmentation Fault — Luis Matta <levmatta@...>

16 messages 2012/02/08

[#42471] [ruby-trunk - Feature #5995][Open] calling io_advise_internal() in read_all() — Masaki Matsushita <glass.saga@...>

20 messages 2012/02/10

[#42560] [ruby-trunk - Bug #6011][Open] ruby-1.9.3-p0/lib/webrick/utils.rb:184: [BUG] Segmentation fault — Vit Ondruch <v.ondruch@...>

12 messages 2012/02/13

[#42579] [ruby-trunk - Bug #6012][Open] Proc#source_location also return the column — Roger Pack <rogerpack2005@...>

14 messages 2012/02/14

[#42685] [ruby-trunk - Bug #6036][Open] Test failures in Fedora Rawhide/17 — Bohuslav Kabrda <bkabrda@...>

14 messages 2012/02/16

[#42697] [ruby-trunk - Bug #6040][Open] Transcoding test failure: Big5 to UTF8 not defined (MinGW) — Luis Lavena <luislavena@...>

10 messages 2012/02/16

[#42813] [ruby-trunk - Feature #6065][Open] Allow Bignum marshalling/unmarshalling from C API — Martin Bosslet <Martin.Bosslet@...>

22 messages 2012/02/23

[#42815] [ruby-trunk - Bug #6066][Open] Fix "control may reach end of non-void function" warnings for clang — Eric Hodel <drbrain@...7.net>

15 messages 2012/02/23

[#42857] [ruby-trunk - Feature #6074][Open] Allow alias arguments to have a comma — Thomas Sawyer <transfire@...>

20 messages 2012/02/24

[#42891] [ruby-trunk - Feature #6083][Open] Hide a Bignum definition — Koichi Sasada <redmine@...>

23 messages 2012/02/25

[#42906] [ruby-trunk - Bug #6085][Open] Treatment of Wrong Number of Arguments — Marc-Andre Lafortune <ruby-core@...>

14 messages 2012/02/25

[#42949] [ruby-trunk - Bug #6089][Open] Test suite fails with OpenSSL 1.0.1 — Vit Ondruch <v.ondruch@...>

13 messages 2012/02/26

[ruby-core:42550] [ruby-trunk - Feature #1400] Please add a method to enumerate fields in OpenStruct

From: Yusuke Endoh <mame@...>
Date: 2012-02-13 15:08:24 UTC
List: ruby-core #42550
Issue #1400 has been updated by Yusuke Endoh.

Assignee changed from Yukihiro Matsumoto to Marc-Andre Lafortune

Hello,

There is no maintainer for ostruct.
Marc-Andre, are you willing to be a maintainer and to commit
your patch?  I give +1 for __members__.

I consider Dan's comment is not objection.  What Tomas wants is
a way to get field names without depending on the openstruct
internal.  But the ways that Dan proposed are deeply depending
on it.  For other topics, please register bug ticket for each.

-- 
Yusuke Endoh <mame@tsg.ne.jp>
----------------------------------------
Feature #1400: Please add a method to enumerate fields in OpenStruct
https://bugs.ruby-lang.org/issues/1400

Author: Tomas Pospisek
Status: Assigned
Priority: Normal
Assignee: Marc-Andre Lafortune
Category: lib
Target version: 2.0.0


=begin
 There are two ways to find out what fields an OpenStruct instance has. One is through inspect,
 however that returns a String that needs to be parsed.
 
 The second is by white box engineering, looking at OpenStructs source code and seeing that in
 fact, it has a hash and getting the keys of that hash...
 
 The second way is faster, more robust, but will break once OpenStruct will be re-engineered...
 
 So I suggest to add an explicit method to return a list of fields in an OpenStruct instance:
 
 --- ostruct.rb.old	2009-04-23 15:26:45.000000000 +0200
 +++ ostruct.rb	2009-04-23 15:32:41.000000000 +0200
 @@ -110,6 +110,15 @@
      @table.delete name.to_sym
    end
  
 +  #
 +  # Returns an Array containing the fields of an OpenStruct instance
 +  #
 +  # p record.fields # -> [:age, :pension, :name]
 +  #
 +  def fields
 +    @table.keys
 +  end
 +
    InspectKey = :__inspect_key__ # :nodoc:
  
    #
=end



-- 
http://bugs.ruby-lang.org/

In This Thread

Prev Next