# Copyright: Copyright 2009 Topic Maps Lab, University of Leipzig. # License: Apache License, Version 2.0 begin require 'rtm' rescue LoadError rtm_path = File.expand_path(File.join(File.dirname(__FILE__), "../../../rtm/lib")) if File.directory?(rtm_path) $:.unshift rtm_path require 'rtm' end end $:.unshift File.expand_path(File.join(File.dirname(__FILE__), "..")) # class Class # alias :rtm_old_const_missing :const_missing # def const_missing(*const_name,&b) # # puts "Constant missing: #{const_name.first.inspect}" # rtm_old_const_missing(*const_name,&b) # # puts "Constant missing: #{const_name.first.inspect}" # # end # end module RTM class ActiveRecordTM < Engine identifier :activerecord def initialize(params, *args) super # code from old monolithic rtm.rb @instance = RTM::RTMAR.instance @instance.connect *args end def method_missing(name, *args) @instance.send(name, *args) end def respond_to?(name) super.respond_to?(name) || @instance.respond_to?(name) end end end module RTM::AR module TraverseAssociations end require 'uri' %w[ tmdm persistent_code_output tm_delegator tm_set_delegator tm_construct topic_map traverse_associations topic association_and_role name_variant_occurrence locators set_wrapper base literal_index ].each {|f| require "rtm/activerecord/#{f}" } require "rtm/connect" require "rtm/helpers" require "rtm/validation" require "rtm/locator_helpers" class Topic require 'rtm/activerecord/sugar/topic/characteristics' include RTM::AR::Sugar::Topic::Characteristics require 'rtm/activerecord/sugar/topic/counterparts' include RTM::AR::Sugar::Topic::Counterparts require 'rtm/activerecord/sugar/topic/identifier_direct' include RTM::AR::Sugar::Topic::IdentifierDirect require 'rtm/activerecord/sugar/topic/hash_access' include RTM::AR::Sugar::Topic::HashAccess require 'rtm/activerecord/sugar/topic/predefined_associations' include RTM::AR::Sugar::Topic::PredefinedAssociations require "rtm/activerecord/io/to_xtm2" require "rtm/activerecord/io/to_xtm1" require "rtm/activerecord/io/to_yaml" require "rtm/activerecord/io/to_string" require "rtm/activerecord/io/to_jtm" end class Association require 'rtm/activerecord/sugar/association/hash_access' include RTM::AR::Sugar::Association::HashAccess require 'rtm/activerecord/sugar/role/counterparts' include RTM::AR::Sugar::Role::Counterparts end end