Sha256: 5612e921c9108d80f6f857f52c51501e53ad46e9dea7a292d05681b104fa480f

Contents?: true

Size: 740 Bytes

Versions: 12

Compression:

Stored size: 740 Bytes

Contents

# Fix LocalObjectSpace hooks
module Extlib
  module Hook
    module ClassMethods
      extend LocalObjectSpace
      def inline_call(method_info, scope)
        Extlib::Hook::ClassMethods.hook_scopes << method_info[:from]
        name = method_info[:name]
        if scope == :instance
          args = method_defined?(name) && instance_method(name).arity != 0 ? '*args' : ''
          %(#{name}(#{args}) if self.class <= Extlib::Hook::ClassMethods.object_by_id(#{method_info[:from].object_id}))
        else
          args = respond_to?(name) && method(name).arity != 0 ? '*args' : ''
          %(#{name}(#{args}) if self <= Extlib::Hook::ClassMethods.object_by_id(#{method_info[:from].object_id}))
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
rails_dm_datastore-0.2.17.pre lib/rails_dm_datastore/extlib.rb
rails_dm_datastore-0.2.16 lib/rails_dm_datastore/extlib.rb
rails_dm_datastore-0.2.15 lib/rails_dm_datastore/extlib.rb
rails_dm_datastore-0.2.14 lib/rails_dm_datastore/extlib.rb
rails_dm_datastore-0.2.13 lib/rails_dm_datastore/extlib.rb
rails_dm_datastore-0.2.12.pre lib/rails_dm_datastore/extlib.rb
rails_dm_datastore-0.2.11.pre lib/rails_dm_datastore/extlib.rb
rails_dm_datastore-0.2.10 lib/rails_dm_datastore/extlib.rb
rails_dm_datastore-0.2.9 lib/rails_dm_datastore/extlib.rb
rails_dm_datastore-0.2.8 lib/rails_dm_datastore/extlib.rb
rails_dm_datastore-0.2.6 lib/rails_dm_datastore/extlib.rb
rails_dm_datastore-0.2.5 lib/rails_dm_datastore/extlib.rb