Sha256: 8dcafa6d4a09046119ca3172c4d4e15701507a7cdbe9cdd8ba7be5c80a206a9c

Contents?: true

Size: 658 Bytes

Versions: 8

Compression:

Stored size: 658 Bytes

Contents

require 'dm-serializer'
module Ixtlan
  module Models
    class Permission

      include DataMapper::Resource

      def self.default_storage_name
        "Permission"
      end

      property :resource, String,:format => /^[a-zA-Z0-9_.]*$/, :key => true

      property :action, String, :format => /^[a-zA-Z0-9_.]*$/, :key => true

      has n, :roles, :model => Models::Role

      if protected_instance_methods.find {|m| m == 'to_x'}.nil?

        protected

        alias :to_x :to_xml_document
        def to_xml_document(opts, doc = nil)
          opts.merge!({:methods => [:roles]})
          to_x(opts, doc)
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ixtlan-0.4.3 lib/ixtlan/models/permission.rb
ixtlan-0.4.2 lib/ixtlan/models/permission.rb
ixtlan-0.4.1 lib/ixtlan/models/permission.rb
ixtlan-0.4.0 lib/ixtlan/models/permission.rb
ixtlan-0.4.0.pre5 lib/ixtlan/models/permission.rb
ixtlan-0.4.0.pre4 lib/ixtlan/models/permission.rb
ixtlan-0.4.0.pre3 lib/ixtlan/models/permission.rb
ixtlan-0.4.0.pre2 lib/ixtlan/models/permission.rb