Sha256: df8e24e8f1bb6217bac171f3d298e45c1f2fecedbfbea37483f420f8b191e84d

Contents?: true

Size: 556 Bytes

Versions: 12

Compression:

Stored size: 556 Bytes

Contents

module Spree
  module TokenResource
    module ClassMethods
      def token_resource
        has_one :tokenized_permission, :as => :permissable
        delegate :token, :to => :tokenized_permission, :allow_nil => true
        after_create :create_token
      end
    end

    module InstanceMethods
      def create_token
        create_tokenized_permission(:token => ::SecureRandom::hex(8))
        token
      end
    end

    def self.included(receiver)
      receiver.extend ClassMethods
      receiver.send :include, InstanceMethods
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
spree_auth-1.0.7 lib/spree/token_resource.rb
spree_auth-1.0.6 lib/spree/token_resource.rb
spree_auth-1.0.5 lib/spree/token_resource.rb
spree_auth-1.0.4 lib/spree/token_resource.rb
spree_auth-1.0.3 lib/spree/token_resource.rb
spree_auth-1.0.2 lib/spree/token_resource.rb
spree_auth-1.0.1 lib/spree/token_resource.rb
spree_auth-1.0.0 lib/spree/token_resource.rb
spree_auth-1.0.0.rc4 lib/spree/token_resource.rb
spree_auth-1.0.0.rc3 lib/spree/token_resource.rb
spree_auth-1.0.0.rc2 lib/spree/token_resource.rb
spree_auth-1.0.0.rc1 lib/spree/token_resource.rb