Sha256: e482d8adb17a19c47f112c07a1f7f7324eed0076341e169421f25150e0a37bcb

Contents?: true

Size: 481 Bytes

Versions: 8

Compression:

Stored size: 481 Bytes

Contents

module RailsAdminSettings
  # we are inheriting from BasicObject so we don't get a bunch of methods from
  # Kernel or Object
  class Fallback < BasicObject
    def initialize(ns, fb)
      @ns = ns
      @fb = fb
    end

    def inspect
      "#<RailsAdminSettings::Fallback ns: #{@ns.inspect}, fb: #{@fb.inspect}>".freeze
    end

    def method_missing(*args)
      @ns.ns_mutex.synchronize do
        @ns.fallback = @fb
        @ns.__send__(*args)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ack_rails_admin_settings-1.2.1.3 lib/rails_admin_settings/fallback.rb
ack_rails_admin_settings-1.2.1.2 lib/rails_admin_settings/fallback.rb
ack_rails_admin_settings-1.2.1.1 lib/rails_admin_settings/fallback.rb
ack_rails_admin_settings-1.2.1 lib/rails_admin_settings/fallback.rb
ack_rails_admin_settings-1.2.0.2 lib/rails_admin_settings/fallback.rb
ack_rails_admin_settings-1.2.0.1 lib/rails_admin_settings/fallback.rb
ack_rails_admin_settings-1.1.5 lib/rails_admin_settings/fallback.rb
ack_rails_admin_settings-1.1.4 lib/rails_admin_settings/fallback.rb