Sha256: b1d52f6d60277da96a64fd9b83dbd261531833f20e73ac421343c375093cd81d

Contents?: true

Size: 844 Bytes

Versions: 21

Compression:

Stored size: 844 Bytes

Contents

module RailsConnector
  module Authenticable #:nodoc:
    def self.included(mod)
      %w(logged_in? admin? current_user).each do |method_name|
        unless instance_method_defined?(mod, method_name)
          mod.class_eval do
            private
            define_method(method_name, InstanceMethods.method(method_name).to_proc)
          end
        end

        mod.send(:helper_method, method_name)
      end
    end

    module InstanceMethods  #:nodoc:
      def self.logged_in?; false; end
      def self.admin?; false; end
      def self.current_user; nil; end
    end

    private

    def self.instance_method_defined?(mod, method_name)
      mod.instance_methods.include?(method_name) or
        mod.protected_instance_methods.include?(method_name) or
        mod.private_instance_methods.include?(method_name)
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
infopark_rails_connector-6.8.0.210.ed204b0 lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.110.6570b45 lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.72.d18d096 lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.23.da7f96b lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.16.def5e85 lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.15.a24f5ff lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.beta.200.891.647580e lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.beta.200.889.d503e42 lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.beta.200.883.f5f063b lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.beta.200.884.4bd86e6 lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.beta.200.869.9609b39 lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.beta.200.856.8c0fec5 lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.beta.200.809.bdfa8c3 lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.beta.200.785.05d4af9 lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.beta.200.744.99f67fc lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.beta.200.720.44fbabd lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.beta.200.713.e5c3150 lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.beta.200.681.7c84f4a lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.beta.200.663.ceecdee lib/rails_connector/authenticable.rb
infopark_rails_connector-6.8.0.beta.200.650.7c93155 lib/rails_connector/authenticable.rb