2011-09-23 53 views
1

后,我只是试图解决的iCalendar宝石,但它似乎的iCalendar有一个名为Event类,和我的应用程序也有一个类名为Event重复类名安装的iCalendar宝石

我想有办法的范围一个或其他班级名称,但我只是不知道如何。

这里是我想要做的一个例子:

Event.new => ActiveRecord的型号

Icalendar::Event.new =>的iCalendar事件类

谢谢。

回答

1

锄头将iCalendar gem包裹在一个模块中,然后从例如。 Icalendar::CalEvent什么的?

require 'icalendar' 

module Icalendar 
    CalEvent = Event 
end 

BTW:你可以只使用名称Event,但会有一个关于重新分配,以恒定的警告。

+0

谢谢!它解决了我的问题。我现在可以通过'Icalendar :: Event'通过'Event'和iCalendar类访问我的AR模型,就像我想要的一样! – AkyRhO

0

通过::Event.new强制红宝石在访问您的模型时查找顶级类定义。包括::课前名称表示该课程不在任何模块中,而不是Icalendar::EventIcalendar模块。

或者,如果的iCalendar不提供命名空间,你可以做你的类,它定义为

module MyStuff 
    class Event 
    end 
end 

,并使用MyStuff::Event为你的模型,并为::Event的iCal之一。