Sha256: 722781f2b59c9e074cfcceaa420902baeb84cd424910c14fc1e0dbed2af0199f

Contents?: true

Size: 980 Bytes

Versions: 8

Compression:

Stored size: 980 Bytes

Contents

module CanTango
  class PermissionEngine < Engine
    module Loader
      class Base
        attr_accessor :file_name

        def self.inherited(subclass)
          subclass.extend ClassMethods
        end

        def parser
          raise NotImplementedError
        end

        def file_name= file
          raise "Couldn't find permissions file: #{file}. Either disable Permission engine or add this file." if file.nil? || !File.file?(file)
          @file_name = file
        end

        def yml_content
          YAML.load_file(file_name)
        rescue
          raise "Couldn't load permissions file: #{file_name}. Either disable Permission engine or add this file."
        end

        module ClassMethods
          protected

          def config_file name
            File.join(config_path, "#{name}.yml") if rails?
          end

          def config_path
            CanTango.config.permissions.config_path
          end
        end
      end
    end

  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
cantango-0.8.9.5 lib/cantango/permission_engine/loader/base.rb
cantango-0.8.9.4 lib/cantango/permission_engine/loader/base.rb
cantango-0.8.9.3 lib/cantango/permission_engine/loader/base.rb
cantango-0.8.9.2 lib/cantango/permission_engine/loader/base.rb
cantango-0.8.9.1 lib/cantango/permission_engine/loader/base.rb
cantango-0.8.9 lib/cantango/permission_engine/loader/base.rb
cantango-0.8.8.1 lib/cantango/permission_engine/loader/base.rb
cantango-0.8.8 lib/cantango/permission_engine/loader/base.rb