I''d like to mock up a WCF service using IronRuby. This presents some stumbling blocks however, in that WCF ServiceContracts are defined by creating an Interface and then applying attributes to it. Interface ~= Module in IronRuby, so that would probably be fine, but how can I apply attributes to the module and the methods it declares? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090219/261edfae/attachment.html>
We currently don''t support attributes. As a workaround you can define a class in C# that will have all the attributes. The class can then forward all functionality to Ruby (e.g. via abstract methods implemented in a class derived in Ruby). Tomas From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Orion Edwards Sent: Wednesday, February 18, 2009 4:20 PM To: ironruby-core at rubyforge.org Subject: [Ironruby-core] Attributes I''d like to mock up a WCF service using IronRuby. This presents some stumbling blocks however, in that WCF ServiceContracts are defined by creating an Interface and then applying attributes to it. Interface ~= Module in IronRuby, so that would probably be fine, but how can I apply attributes to the module and the methods it declares? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090218/864d7a63/attachment.html>
AFAIK you can''t yet. It''s one of those interop things that are on the back burner while language compatibility is worked on. There''s still alot of discussion needed about how to do this... On Wed, Feb 18, 2009 at 7:20 PM, Orion Edwards <orion.edwards at gmail.com>wrote:> I''d like to mock up a WCF service using IronRuby. > > This presents some stumbling blocks however, in that WCF ServiceContracts > are defined by creating an Interface and then applying attributes to it. > > Interface ~= Module in IronRuby, so that would probably be fine, but how > can I apply attributes to the module and the methods it declares? > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > >-- Michael Letterle IronRuby MVP http://blog.prokrams.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090218/d3b314d0/attachment-0001.html>
Fair enough:
Here''s my thoughts on what such a thing might look like:
module IMyService
clr_attribute ServiceContractAttribute.new("blah")
clr_attribute OperationContractAttribute.new, :on =>
"SomeMethod"
def SomeMethod; end
end
Could also have similar methods which map from string to ClassName at
runtime
clr_attr "ServiceContract"
clr_attr "OperationContract", :on => "SomeMethod"
Could also implement named parameters eg
clr_attr "ServiceContract", :name => "MyFancyContract"
clr_attr "OperationContract", :name => "CoolOperation",
:on => "SomeMethod"
Hope this helps inspire :-)
On Thu, Feb 19, 2009 at 2:01 PM, Michael Letterle <
michael.letterle at gmail.com> wrote:
> AFAIK you can''t yet. It''s one of those interop things
that are on the back
> burner while language compatibility is worked on. There''s still
alot of
> discussion needed about how to do this...
>
> On Wed, Feb 18, 2009 at 7:20 PM, Orion Edwards <orion.edwards at
gmail.com>wrote:
>
>> I''d like to mock up a WCF service using IronRuby.
>>
>> This presents some stumbling blocks however, in that WCF
ServiceContracts
>> are defined by creating an Interface and then applying attributes to
it.
>>
>> Interface ~= Module in IronRuby, so that would probably be fine, but
how
>> can I apply attributes to the module and the methods it declares?
>>
>> _______________________________________________
>> Ironruby-core mailing list
>> Ironruby-core at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/ironruby-core
>>
>>
>
>
> --
> Michael Letterle
> IronRuby MVP
> http://blog.prokrams.com
>
>
>
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://rubyforge.org/pipermail/ironruby-core/attachments/20090219/dbd73c53/attachment.html>
Thanks for answering that. I wrote a small C# interface and then implemented that from IronRuby On Thu, Feb 19, 2009 at 1:54 PM, Tomas Matousek < Tomas.Matousek at microsoft.com> wrote:> We currently don''t support attributes. As a workaround you can define a > class in C# that will have all the attributes. The class can then forward > all functionality to Ruby (e.g. via abstract methods implemented in a class > derived in Ruby). > > > > Tomas > > > > *From:* ironruby-core-bounces at rubyforge.org [mailto: > ironruby-core-bounces at rubyforge.org] *On Behalf Of *Orion Edwards > *Sent:* Wednesday, February 18, 2009 4:20 PM > *To:* ironruby-core at rubyforge.org > *Subject:* [Ironruby-core] Attributes > > > > I''d like to mock up a WCF service using IronRuby. > > This presents some stumbling blocks however, in that WCF ServiceContracts > are defined by creating an Interface and then applying attributes to it. > > Interface ~= Module in IronRuby, so that would probably be fine, but how > can I apply attributes to the module and the methods it declares? > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090219/1d858288/attachment.html>
We think in similar directions.
Tomas
From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at
rubyforge.org] On Behalf Of Orion Edwards
Sent: Wednesday, February 18, 2009 5:18 PM
To: ironruby-core at rubyforge.org
Subject: Re: [Ironruby-core] Attributes
Fair enough:
Here''s my thoughts on what such a thing might look like:
module IMyService
clr_attribute ServiceContractAttribute.new("blah")
clr_attribute OperationContractAttribute.new, :on =>
"SomeMethod"
def SomeMethod; end
end
Could also have similar methods which map from string to ClassName at runtime
clr_attr "ServiceContract"
clr_attr "OperationContract", :on => "SomeMethod"
Could also implement named parameters eg
clr_attr "ServiceContract", :name => "MyFancyContract"
clr_attr "OperationContract", :name => "CoolOperation",
:on => "SomeMethod"
Hope this helps inspire :-)
On Thu, Feb 19, 2009 at 2:01 PM, Michael Letterle <michael.letterle at
gmail.com<mailto:michael.letterle at gmail.com>> wrote:
AFAIK you can''t yet. It''s one of those interop things that
are on the back burner while language compatibility is worked on.
There''s still alot of discussion needed about how to do this...
On Wed, Feb 18, 2009 at 7:20 PM, Orion Edwards <orion.edwards at
gmail.com<mailto:orion.edwards at gmail.com>> wrote:
I''d like to mock up a WCF service using IronRuby.
This presents some stumbling blocks however, in that WCF ServiceContracts are
defined by creating an Interface and then applying attributes to it.
Interface ~= Module in IronRuby, so that would probably be fine, but how can I
apply attributes to the module and the methods it declares?
_______________________________________________
Ironruby-core mailing list
Ironruby-core at rubyforge.org<mailto:Ironruby-core at rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core
--
Michael Letterle
IronRuby MVP
http://blog.prokrams.com
_______________________________________________
Ironruby-core mailing list
Ironruby-core at rubyforge.org<mailto:Ironruby-core at rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://rubyforge.org/pipermail/ironruby-core/attachments/20090218/e4011e3e/attachment-0001.html>