[#408634] How do I make lots of classes aware of each other? — "Andrew S." <lists@...>

I'm apparently missing something fundamental in my knowledge of classes

10 messages 2013/07/02

[#408712] Ruby web service with REST support — "Shubhada S." <lists@...>

Hi All,

17 messages 2013/07/05

[#408812] create variables depending on counter — stefan heinrich <lists@...>

Hi community,

21 messages 2013/07/09

[#408854] execute commands within SMTP email code: send content in variables and not actual variables — dJD col <lists@...>

I am trying to send an email using the code below. I am able to send the

9 messages 2013/07/10

[#409031] tap { break } idiom deserves its own Kernel method? — Andy Lowry <lists@...>

I use this idiom from time to time:

13 messages 2013/07/22

[#409072] Link To Masses Of External Data In Openoffice? — "Austin J." <lists@...>

This is what I want to do.

19 messages 2013/07/23
[#409102] Re: Link To Masses Of External Data In Openoffice? — Tamara Temple <tamouse.lists@...> 2013/07/24

[#409103] Re: Link To Masses Of External Data In Openoffice? — "Austin J." <lists@...> 2013/07/25

tamouse m. wrote in post #1116598:

[#409122] Re: Link To Masses Of External Data In Openoffice? — Tamara Temple <tamouse.lists@...> 2013/07/26

[#409142] Re: Link To Masses Of External Data In Openoffice? — "Austin J." <lists@...> 2013/07/26

tamouse m. wrote in post #1116750:

[#409073] class <=> module — Bráulio Bhavamitra <lists@...>

Hello all,

17 messages 2013/07/23

[#409104] Ruby newbie question on Methods (NoMethoderror) — "Crispian A." <lists@...>

I have recently started learning ruby and so I am writing a small little

10 messages 2013/07/25

[#409170] Working through Ch.10 for learning to program 2.0 (Chris Pine) — JD JD <lists@...>

So, I have been working through this book, and have been doing ok up

33 messages 2013/07/28
[#409195] Re: Working through Ch.10 for learning to program 2.0 (Chris Pine) — Harry Kakueki <list.push@...> 2013/07/29

I tried this and came up with a one-liner that seems to do it. It sorts the

[#409258] WATIR - ScriptError popup on IE - Unable to get rid of! — Graeme Halls <lists@...>

I am new to Ruby & Watir, and I am having a nightmare with IE and Script

11 messages 2013/07/31

Re: How do I make lots of classes aware of each other?

From: Stu <stu@...>
Date: 2013-07-02 07:15:57 UTC
List: ruby-talk #408642
Andrew look at Josh's example. That's an observer. A great example. The Baz
Observer pattern =)

Also consider this. Baz becomes sort of like main ... but just for object's
it's aware of. If you had another set like classes for a Lorem class and
Ipsom class which instances are owned by a Dolor Observer object you could
create another level observer which owns both Baz and Dolor.

Of course there are more than one way to skin a cat. Considering top level
of your application where self is actually main you can simply remove scope
and program it like a shell script where everything is accessible from your
normal top down execution. Your dots act like pipes because ruby allows
data types to be first class which makes object.method or object.send(
:method, :&message)

> %w{LOrem IPsum DOlr}.send( :map, &:swapcase)
 => ["loREM", "ipSUM", "doLR"]

Of course send doesn't have to be used. You could just do:
%w{LOrem IPsum DOlr}.map( &:swapcase)
or with a multi-line

["loREM", "ipSUM", "doLR"].map do |baz|
  baz.swapcase
end

and one liner
["loREM", "ipSUM", "doLR"].map {|baz| baz.swapcase}

Though I'm using string objects in an array it would be no different than
your custom classes communicating within their own functionality and
definition.

Using foo-bar-baz for learning this probably isn't the best approach. It
may be better to talk about what your modeling and what your program will
be doing. It will get you further if your going for a proper abstraction
which subsequently is something this programming language proves to impose
no limitations on whether your implementing on the classical class
templates and returned results by falling through ancestor inheritance
which is an abstraction itself of the message passing paradigm from
smalltalk or doing it like a procedural macro shell script or stack based C
program or functional lispy meta programming yielding values forward
recursively. Ruby will allow you to do this any way you please. It's up to
you to find which style you prefer and of course solve your domain problem
in the process.

Good luck and enjoy hacking Ruby

~Stu



On Tue, Jul 2, 2013 at 12:03 AM, Andrew S. <lists@ruby-forum.com> wrote:

> Jeremy Bopp wrote in post #1114156:
> >
> > Why do you have so many apparently rather tightly coupled classes? Maybe
> > the solution is to rethink your overall design to create fewer,
> > more generalized classes.
> >
>
> This is a fair comment.  I think I need to step back and look at my
> design as a next step.
>
> Cheers,
>
> Andrew
>
> --
> Posted via http://www.ruby-forum.com/.
>
>

In This Thread