Sha256: 832037ddcb2cf996af30c3d8cc31a1c91b5657836716d11bddae671b80dbbf12

Contents?: true

Size: 435 Bytes

Versions: 34

Compression:

Stored size: 435 Bytes

Contents

module SamlIdp
  module Hashable
    extend ActiveSupport::Concern

    def hashables
      self.class.hashables
    end

    def to_h
      hashables.reduce({}) do |hash, key|
        hash[key.to_sym] = send(key)
        hash
      end
    end

    module ClassMethods
      def hashables
        @hashables ||= Set.new
      end

      def hashable(method_name)
        self.hashables << method_name.to_s
      end
    end
  end
end

Version data entries

34 entries across 34 versions & 2 rubygems

Version Path
saml_idp-0.16.0 lib/saml_idp/hashable.rb
saml_idp-0.15.0 lib/saml_idp/hashable.rb
saml_idp-0.14.0 lib/saml_idp/hashable.rb
saml_idp-0.12.0 lib/saml_idp/hashable.rb
saml_idp-0.11.0 lib/saml_idp/hashable.rb
saml_idp-0.10.0 lib/saml_idp/hashable.rb
saml_idp-0.9.0 lib/saml_idp/hashable.rb
saml_idp-0.8.1 lib/saml_idp/hashable.rb
saml_idp-0.8.0 lib/saml_idp/hashable.rb
saml_idp-0.7.2 lib/saml_idp/hashable.rb
saml_idp-0.7.1 lib/saml_idp/hashable.rb
saml_idp-0.7.0 lib/saml_idp/hashable.rb
saml_idp-0.6.0 lib/saml_idp/hashable.rb
saml_idp-0.5.0 lib/saml_idp/hashable.rb
icn_saml_idp-0.4.1 lib/saml_idp/hashable.rb
saml_idp-0.4.0 lib/saml_idp/hashable.rb
saml_idp-0.3.2 lib/saml_idp/hashable.rb
saml_idp-0.3.1 lib/saml_idp/hashable.rb
saml_idp-0.3.0 lib/saml_idp/hashable.rb
saml_idp-0.2.1 lib/saml_idp/hashable.rb