Sha256: 3cfa501c00ed5c2b3d5395f17087100e13939b029d58c4c6928403af4a10c5fa

Contents?: true

Size: 964 Bytes

Versions: 27

Compression:

Stored size: 964 Bytes

Contents

require 'active_rdf'
require 'semantic_naming'
require 'assit'
require 'errors'

module TaliaCore
  
  # This is an internal class for "dummy handler invocations" on sources
  # The problem is that invocations like source.namespace::name are
  # evaluated to (source.namespace).name 
  # This means that source.namespace must return an object on which
  # "name" can be called with the desired effect. This is the "dummy handler"
  class DummyHandler
    
    # Create the new handler
    def initialize(namespace, subject)
      assit_kind_of(N::URI, namespace)
      assit_kind_of(TaliaCore::Source, subject)
      
      @namespace = namespace.to_s
      @subject = subject
    end
    
    # Catch the invocations
    def method_missing(method, *args)
      # read value
      raise(SemanticNamingError, "Wrong number of arguments") if(args.size != 0)
      @subject[@namespace + method.to_s]
    end
    
    # remove the type call
    private :type
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
talia_core-0.5.4 lib/talia_core/dummy_handler.rb
talia_core-0.5.3 lib/talia_core/dummy_handler.rb
talia_core-0.5.2 lib/talia_core/dummy_handler.rb
talia_core-0.5.1 lib/talia_core/dummy_handler.rb
talia_core-0.5.0 lib/talia_core/dummy_handler.rb
talia_core-0.4.22 lib/talia_core/dummy_handler.rb
talia_core-0.4.20 lib/talia_core/dummy_handler.rb
talia_core-0.4.19 lib/talia_core/dummy_handler.rb
talia_core-0.4.18 lib/talia_core/dummy_handler.rb
talia_core-0.4.17 lib/talia_core/dummy_handler.rb
talia_core-0.4.16 lib/talia_core/dummy_handler.rb
talia_core-0.4.15 lib/talia_core/dummy_handler.rb
talia_core-0.4.14 lib/talia_core/dummy_handler.rb
talia_core-0.4.13 lib/talia_core/dummy_handler.rb
talia_core-0.4.12 lib/talia_core/dummy_handler.rb
talia_core-0.4.11 lib/talia_core/dummy_handler.rb
talia_core-0.4.10 lib/talia_core/dummy_handler.rb
talia_core-0.4.9 lib/talia_core/dummy_handler.rb
talia_core-0.4.8 lib/talia_core/dummy_handler.rb
talia_core-0.4.7 lib/talia_core/dummy_handler.rb