Perdón, era para Carlos.

Lucas Florio
Developer
----
Personal: http://www.lucasefe.com.ar/


2009/7/16 Lucas Florio <[email protected]>

> Emilio, lo que quería plasmar era algo así (pongo el caso práctico de una)
> (con DataMapper):
>
> class Operador
>   include DataMapper::Resource
>   property :id, Serial
>   timestamps :at
>   *has n, :tipo_de_servicios
> *end
>
> class TipoDeServicio
>   include DataMapper::Resource
>   property :id, Serial
>   property :operador_id, Integer
>   property :tipo, Discriminator
>   property :nombre, String
>
>   belongs_to :operador
> end
>
> class TipoDeHosting < TipoDeServicio
>   property :quota, Integer
>   # ...
> end
> class TipoDeConectividad < TipoDeServicio
>   property :bw_upload, Integer
>   # ...
> end
>
> Concretamente queríamos lograr que las instancias de *TipoDeHosting* no
> tuvieran los métodos y ni conocieran a los métodos de *TipoDeConectividad*,
> pero si compartieran los de *TipoDeServicio (el parent)*. Además debían
> estar en la misma tabla para no tener problemas de eager loading. Hay un par
> de razones más, pero no las recuerdo en este momento.
>
> Escucho ofertas!
>
> Lucas Florio
> Developer
> ----
> Personal: http://www.lucasefe.com.ar/
>
>
> 2009/7/16 Carlos Di Giacomo <[email protected]>
>
>
>>
>> 2009/7/14 Lucas Florio <[email protected]>
>>
>>> Buenas, Rubias
>>>
>>> Estoy teniendo el siguiente tema. Quiero implementar STI pero quiero
>>> evitar que se muestren los campos/atributos que no corresponden a una clase
>>> específica. El ejemplo sería este:
>>>
>>> class Componente < AR::Base
>>>   # nombre: string
>>> end
>>>
>>> class ComponenteUno < Componente
>>>     # campo1
>>> end
>>>
>>> class ComponenteDos < Componente
>>>    # campo2
>>>    # campo3
>>> end
>>>
>>> La Tabla componentes contiene a todos los campos (nombre, campo(1..3)).
>>> La idea es que ComponenteDos.new no responda a campo1.
>>> Y que ComponenteUno no responda a campo2 ni a campo3.
>>> Yo me había imagino un mixin de esta forma, pero no se si existe algo así
>>> ya:
>>>
>>> class ComponenteDos < Componente
>>>    properties :campo2, :campo3 # y que te oculte lo demás
>>>    # Sé que con DataMapper seguramente lo pueda hacer, pero quería
>>> intentarlo con AR antes.
>>> end
>>>
>>
>>
>> Lucas, por curiosidad podrias dar un ejemplo en que casos se necesita
>> manejar la composicion así?, nunca pense la herencia asi
>>
>> saludos
>>
>>
>>>
>>> Alguna idea? Saben de algo así?
>>>
>>> Desde ya muchas gracias
>>>
>>> Lucas Florio
>>> Developer
>>> ----
>>> Personal: http://www.lucasefe.com.ar/
>>>
>>> _______________________________________________
>>> Ruby mailing list
>>> [email protected]
>>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>>>
>>>
>>
>> _______________________________________________
>> Ruby mailing list
>> [email protected]
>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>>
>>
>
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a