2012-09-25 3 views
0

db에 사용 된 Address 클래스와 wsdl2ruby (및 다른 여러 클래스)를 사용하여 생성 된 Address 클래스간에 이름 충돌이 발생했습니다. 나는 soap4r를 사용하고있다.어떻게 이름 충돌을 피하기 위해 네임 스페이스에서 soap4r wsdl2ruby 클래스를 생성 할 수 있습니까?

모든 soap4r 클래스가 서로를 볼 수 있지만 응용 프로그램과 충돌하지 않도록 고유 한 네임 스페이스에서 soap4r 클래스를 생성 할 수 있습니까?

동적 생성기 (handsoap, savon)를 사용하지 않는 것이 사용자 코드의 볼륨을 크게 늘릴 수 있기 때문입니다.

답변

1

Ruby에는 이름 공간이 없으며 모듈이 있습니다. 소스에서 wsdl2ruby에 대한 --module_path [desiredModuleName] 옵션이 원하는 것 같습니다.

+1

언어 별 구문보다는 디자인 패턴으로 namespacing을 참조합니다. 나는 이것이 효과가있을 것이라고 생각한다. – Greg