[#340543] 64-bit Ruby for OS X ? — Greg Willits <lists@...>

Has anyone built a 64-bit Ruby for Leopard. I've googled my brains out,

15 messages 2009/07/01
[#340599] Re: 64-bit Ruby for OS X ? — Eric Hodel <drbrain@...7.net> 2009/07/01

On Jun 30, 2009, at 18:36, Greg Willits wrote:

[#340699] file.seek and unused bytes — Greg Willits <lists@...>

Ruby 1.8.6

40 messages 2009/07/03
[#340763] Re: file.seek and unused bytes — Gary Wright <gwtmp01@...> 2009/07/05

[#340764] Re: file.seek and unused bytes — Greg Willits <lists@...> 2009/07/05

Gary Wright wrote:

[#340766] Re: file.seek and unused bytes — Brian Candler <b.candler@...> 2009/07/05

Greg Willits wrote:

[#340767] Re: file.seek and unused bytes — Greg Willits <lists@...> 2009/07/05

Brian Candler wrote:

[#340769] Re: file.seek and unused bytes — Brian Candler <b.candler@...> 2009/07/05

Greg Willits wrote:

[#340771] Re: file.seek and unused bytes — Greg Willits <lists@...> 2009/07/05

Brian Candler wrote:

[#340787] Re: file.seek and unused bytes — Robert Klemme <shortcutter@...> 2009/07/06

On 06.07.2009 00:13, Greg Willits wrote:

[#340792] Re: file.seek and unused bytes — Greg Willits <lists@...> 2009/07/06

Robert Klemme wrote:

[#340794] Re: file.seek and unused bytes — Brian Candler <b.candler@...> 2009/07/06

Greg Willits wrote:

[#340803] Re: file.seek and unused bytes — Greg Willits <lists@...> 2009/07/06

Eeek. Opened a can of worms!

[#340743] to_proc and Proc/block conversion with & — Russ McBride <russ@...>

16 messages 2009/07/05

[#340827] Help with rdoc - generate documentation for Ruby 1.9.1 Standard Library? — Bjoern <bjoerngt@...>

Hi,

15 messages 2009/07/06

[#340868] Ruby 1.8 - character encoding — Thomas Thomassen <thomas@...>

I write Ruby plugins for Google Sketchup.

23 messages 2009/07/07
[#340878] Re: Ruby 1.8 - character encoding — Gregory Brown <gregory.t.brown@...> 2009/07/07

On Tue, Jul 7, 2009 at 8:28 AM, Thomas Thomassen<thomas@thomthom.net> wrote=

[#341133] which project should I work on? — Roger Pack <rogerpack2005@...>

I was wondering on any feedback on which of the following pet projects

37 messages 2009/07/10

[#341174] Math cube root — Zangief Ief <z4n9ief@...>

Hi,

22 messages 2009/07/11

[#341177] one line sorting

Hi.

22 messages 2009/07/11

[#341178] Ruby Versions site; shell access to historical and current Rubies — "David A. Black" <dblack@...>

Hi all --

17 messages 2009/07/11
[#341188] Re: [ANN] Ruby Versions site; shell access to historical and current Rubies — Caleb Clausen <vikkous@...> 2009/07/11

On 7/11/09, David A. Black <dblack@rubypal.com> wrote:

[#341191] Re: [ANN] Ruby Versions site; shell access to historical and current Rubies — James Gray <james@...> 2009/07/11

On Jul 11, 2009, at 11:10 AM, Caleb Clausen wrote:

[#341200] Re: [ANN] Ruby Versions site; shell access to historical and current Rubies — Caleb Clausen <vikkous@...> 2009/07/11

On 7/11/09, James Gray <james@grayproductions.net> wrote:

[#341203] Re: [ANN] Ruby Versions site; shell access to historical and current Rubies — James Gray <james@...> 2009/07/11

On Jul 11, 2009, at 2:18 PM, Caleb Clausen wrote:

[#341376] a regex that does not contain comma — Sijo Kg <sijo@...>

Hi

21 messages 2009/07/14

[#341379] Twelve rules of Ruby — Panu Kinnari <panu.kinnari@...>

Scott Adams of Dilbert fame talked about learning twelve concepts of

32 messages 2009/07/14
[#341408] Re: Twelve rules of Ruby — "David A. Black" <dblack@...> 2009/07/14

Hi --

[#341412] Re: Twelve rules of Ruby — "David A. Black" <dblack@...> 2009/07/14

Not sure why they wrapped weirdly (at least on my screen), but here's

[#341423] Re: Twelve rules of Ruby — Garry Freemyer <garryfre@...> 2009/07/14

I would think that the twelve rules should be in the form of what things are, not what they are not.

[#341424] Re: Twelve rules of Ruby — "David A. Black" <dblack@...> 2009/07/14

Hi --

[#341427] Re: Twelve rules of Ruby — Marc Heiler <shevegen@...> 2009/07/14

> Objects don't "have" methods

[#341384] can't install ruby-prof 0.7.0 or superior on windows — "DG" <nospam@...>

I found windows users of 0.7.3 here but I still can't instal

10 messages 2009/07/14

[#341553] bluecloth 2.0.5 — ged@...

23 messages 2009/07/16

[#341620] regexp exclusion search - find matches NOT ending with a string? — BrendanC <brencam@...>

I have the following text in a file:

10 messages 2009/07/17

[#341692] removing array duplicates where a subset is unique — Chuck Remes <cremes.devlist@...>

I need to remove duplicates from an array of arrays. I can't use

24 messages 2009/07/17
[#341694] Re: [Q] removing array duplicates where a subset is unique — "David A. Black" <dblack@...> 2009/07/17

Hi --

[#341697] Re: [Q] removing array duplicates where a subset is unique — Chuck Remes <cremes.devlist@...> 2009/07/17

[#341699] Re: [Q] removing array duplicates where a subset is unique — "David A. Black" <dblack@...> 2009/07/18

Hi --

[#341709] Re: [Q] removing array duplicates where a subset is unique — Chuck Remes <cremes.devlist@...> 2009/07/18

[#341784] Re: removing array duplicates where a subset is unique — 7stud -- <bbxx789_05ss@...> 2009/07/19

Chuck Remes wrote:

[#341722] Problems with gems and Ruby 1.8.7 — Henrique Testa <hgtesta@...>

Hi all,

20 messages 2009/07/18

[#341814] Do you program in any other language except for ruby? — Milan Dobrota <elitecoding@...>

And what are they? :)

28 messages 2009/07/20

[#341837] ruby IDE's — Sunil Kumar <sunil.muki@...>

Hi This is sunil..

60 messages 2009/07/20
[#341839] Re: ruby IDE's — Tom Cloyd <tomcloyd@...> 2009/07/20

Sunil Kumar wrote:

[#341841] Re: ruby IDE's — Wesley Chen <cjq.999@...> 2009/07/20

I don't agree the guy Tom.

[#341901] Re: ruby IDE's — marc <gmane@...> 2009/07/20

James Britt wrote:

[#341918] Re: ruby IDE's — Tom Cloyd <tomcloyd@...> 2009/07/20

marc wrote:

[#342011] Re: ruby IDE's — Robert Dober <robert.dober@...> 2009/07/21

On 7/20/09, Tom Cloyd <tomcloyd@comcast.net> wrote:

[#342017] Re: ruby IDE's — Garry Freemyer <garryfre@...> 2009/07/21

I have Netbeans 6.7 on the Mac Os X platform and its quite an ordeal to get it to install gems without putting it in the wrong directory because it executes installation that requires installation using sudo and does not prompt for the password, so stuff gets installed in the wrong directory.

[#342097] Re: ruby IDE's — Hassan Schroeder <hassan.schroeder@...> 2009/07/22

On Tue, Jul 21, 2009 at 9:09 AM, Garry Freemyer<garryfre@pacbell.net> wrote:

[#342109] Re: ruby IDE's — Garry Freemyer <garryfre@...> 2009/07/22

Well, take the last two lines J2SE 5.0 J2SE 1.4.2

[#342114] Re: ruby IDE's — Hassan Schroeder <hassan.schroeder@...> 2009/07/22

On Tue, Jul 21, 2009 at 7:35 PM, Garry Freemyer<garryfre@pacbell.net> wrote:

[#342116] Re: ruby IDE's — Garry Freemyer <garryfre@...> 2009/07/22

I am surprised to see sarcasm in this mailing list, or maybe I am just disappointed.

[#342117] Re: ruby IDE's — Hassan Schroeder <hassan.schroeder@...> 2009/07/22

On Tue, Jul 21, 2009 at 8:32 PM, Garry Freemyer<garryfre@pacbell.net> wrote:

[#342118] Re: ruby IDE's — Garry Freemyer <garryfre@...> 2009/07/22

I know what ruby is. I don't know what programs are included in the nebulous mass of programs that come under J2SE heading.

[#342119] Re: ruby IDE's — Hassan Schroeder <hassan.schroeder@...> 2009/07/22

On Tue, Jul 21, 2009 at 8:50 PM, Garry Freemyer<garryfre@pacbell.net> wrote:

[#341906] including newlines in a .sub — Alan Munn <amunn@...>

Hi, I'm new to ruby, and am having trouble with the following (\n is

12 messages 2009/07/20

[#341950] Byte窶都tream parsing in Ruby — Elliott Cable <me@...>

So, I’ve a problem. I’m using ncurses (or possibly not, might just

14 messages 2009/07/21
[#341979] Re: Byte窶都tream parsing in Ruby — Brian Candler <b.candler@...> 2009/07/21

Elliott Cable wrote:

[#342062] Re: Byte窶都tream parsing in Ruby — Elliott Cable <me@...> 2009/07/21

Brian Candler wrote:

[#341968] Mean method — "Älphä Blüë" <jdezenzio@...>

I'm working on a lot of math in my projects so I thought I would convert

19 messages 2009/07/21

[#341969] Ruby/Oracle connectivity — Dheeraj Gambhir <checktestingthings@...>

Hi All,

19 messages 2009/07/21

[#342013] String spliting and inclusion — Stuart Clarke <stuart.clarke1986@...>

Hi all,

17 messages 2009/07/21

[#342113] Best gem to parse Ruby with? — Tony Arcieri <tony@...>

I've been considering rewriting my require_all gem:

14 messages 2009/07/22
[#342115] Re: Best gem to parse Ruby with? — Caleb Clausen <vikkous@...> 2009/07/22

On 7/21/09, Tony Arcieri <tony@medioh.com> wrote:

[#342185] Instantiating classes / sharing data between classes — Trevoke <trevoke@...>

I think this is what I want to do (maybe I'm thinking about it wrong):

12 messages 2009/07/22

[#342287] splitting............. — Hunt Hunt <aksn18july@...>

Hi Friends,

14 messages 2009/07/23

[#342347] Watching a website for periodic outages — Glen Holcomb <damnbigman@...>

I'm needing to monitor a web application for periodic outages and log the

14 messages 2009/07/23

[#342453] using until — Lloyd Linklater <lloyd@2live4.com>

I am writing a little thing to find all the prime numbers to a million.

17 messages 2009/07/24

[#342573] What is the power function — Prateek Agarwal <prateek.agwl@...>

I am new to Ruby and am still learning some of the basic stuff.

17 messages 2009/07/27

[#342618] Posting an XML document to a protected API — Maruthy Mentireddi <maruthymukund@...>

I am working on the FrontEnd of a website and need to make a RESTful

10 messages 2009/07/28

[#342646] Good way to not forget to install gems on a server? — Max Williams <toastkid.williams@...>

I just broke my wife's website (my current side project) because i was

12 messages 2009/07/28

[#342725] previous value in array block — Jason Lillywhite <jason.lillywhite@...>

Is this a good way to use a previous value in an array block?

20 messages 2009/07/29
[#342731] Re: previous value in array block — Harry Kakueki <list.push@...> 2009/07/29

>

[#342734] Re: previous value in array block — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2009/07/29

On Wed, Jul 29, 2009 at 8:18 AM, Harry Kakueki<list.push@gmail.com> wrote:

[#342737] Re: previous value in array block — Xavier Noria <fxn@...> 2009/07/29

each_cons seems natural here:

[#342781] java.text api parallel in Ruby — Venkat Akkineni <venkatram.akkineni@...>

Hi

13 messages 2009/07/29
[#342810] Re: java.text api parallel in Ruby — Robert Klemme <shortcutter@...> 2009/07/30

On 30.07.2009 00:32, Venkat Akkineni wrote:

[#342806] How Come Ruby is Text-Oriented? — Mike Stephens <rubfor@...>

I've just been re-reading Byte August 1981 - an edition dedicated to

46 messages 2009/07/30

[#342865] how to stop the subclass from overriding a method. — Venkat Akkineni <venkatram.akkineni@...>

Hi

12 messages 2009/07/30

[#342952] Ruby-net-ldap fail — Bruno Sousa <brgsousa@...>

Hi,

12 messages 2009/07/31

Re: Unit Testing and Instance Vars

From: Brian Candler <b.candler@...>
Date: 2009-07-25 12:58:07 UTC
List: ruby-talk #342492
I'd agree with what David said. But I'd also point out that if you 
really want to test those methods independently, you have the option of 
using instance_variable_set and instance_variable_get - so you can set 
up the object directly into a known state (even if the public API does 
not allow you to do this), then run a method, then check the state 
(ditto).

Alternatively, you can refactor into a more functional style. You got 
part way with this:

  def clean_addresses(raw_addresses) # <----- passed explicitly
    raw_addresses.each do |this_address|
      @addresses << GisTools.normalize_address(this_address)
    end
  end

However you could take this further to:

  def clean_addresses
    @addresses = do_clean_addresses(@raw_addresses)
  end

  def do_clean_addresses(raw_addresses)
    addresses = []
    raw_addresses.each do |this_address|
      addresses << GisTools.normalize_address(this_address)
    end
    addresses
  end

Now do_clean_addresses is very easy to test, and you can also 
drastically simplify it using #map or #collect:

  def do_clean_addresses(raw_addresses)
    raw_addresses.map do |this_address|
      GisTools.normalize_address(this_address)
    end
  end

At which point, you realise that do_clean_addresses probably doesn't 
need a unit test, because it's just applying GisTools.normalize_address 
to a collection.

Now, you've probably spotted the subtle API change I've implemented 
here. Each time clean_addresses is called, @addresses is reset. In your 
original API you just appended to @addresses, so that means if you 
called clean_addresses more than once, @addresses would grow and grow.

It's up to you to decide whether this is what you actually want. If you 
do, you can revert to your original behaviour like this:

  def clean_addresses
    @addresses.concat(do_clean_addresses(@raw_addresses))
  end

Maybe that's irrelevant, since clean_addresses is a private method, and 
only called once at initialization time.

But in that case, it seems pointless to set @addresses and 
@raw_addresses to [] in your initialize method, before appending to them 
later, when load_addresses and clean_addresses could be responsible for 
initializing the instance variables too. Indeed, why not just have:

  def initialize(raw_addresses)
    @raw_addresses = raw_addresses
    clean_addresses(@raw_addresses)
  end

where clean_addresses is responsible for initializing @addresses as 
described above. (Another subtle change: @raw_addresses contains the 
same array as was passed in. Usually this is considered fine, but to get 
the exact same semantics as you had before, you can do @raw_addresses = 
raw_addresses.dup)

Another option to consider is memoisation. If clean_addresses is an 
expensive computation, then you can leave it until when it is needed.

  def initialize(raw_addresses = [])
    @raw_addresses = raw_addresses
    @addresses = nil
  end

  def addresses
    @addresses ||= clean_addresses(@raw_addresses)
  end

So 'addresses' looks like a read accessor for the @addresses variable, 
but it also does the cleaning "on demand" when first called.

Hope this gives you a few ideas.

Regards,

Brian.
-- 
Posted via http://www.ruby-forum.com/.

In This Thread