--- !ruby/object:Gem::Specification name: permalinkable version: !ruby/object:Gem::Version version: 1.0.1 platform: ruby authors: - Yang Ou autorequire: bindir: bin cert_chain: [] date: 2014-08-30 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: activerecord requirement: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '4.0' type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '4.0' - !ruby/object:Gem::Dependency name: hashie requirement: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '3.1' type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '3.1' - !ruby/object:Gem::Dependency name: sqlite3 requirement: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '1.3' type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '1.3' - !ruby/object:Gem::Dependency name: rspec requirement: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '3.0' type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version version: '3.0' description: |2 This is a gem originated from another gem called permalink. Since I often want a permalink that provides no way to tell the database ids, I came up with the idea about encrypting the id and prepending it to the permalink. For more information about FPE(Format Preserving Encryption), please consult the wikipedia. The encryption method of current release is simply RC4-40 with a configurable key. Note, RC4-40 is not a strong encryption algorithm at all, and you shouldn't rely on it to delivery sensitive information. Also, to prevent inconsistance of encryption, and duplication(although the chance is very low) you should keep your key as a secret and never change it. The original implementation of generating permalink involves a infite loop to check uniqueness in database. It's slow, inefficient and most importantly, it still can't prevent race condition. And since we are using a FPE algorithm on the database id, which is garanteed to be unique from database, we don't need to put ourselves in that inefficient loop. Finally, what's the purpose of this gem? It's only a gem that helps hiding your database ids. email: - ouyang871223@gmail.com executables: [] extensions: [] extra_rdoc_files: [] files: - ".DS_Store" - ".gitignore" - ".rspec" - ".rvmrc" - ".travis.yml" - Gemfile - Gemfile.lock - README.md - lib/.DS_Store - lib/permalinkable.rb - lib/permalinkable/.DS_Store - lib/permalinkable/configure.rb - lib/permalinkable/permalinkable.rb - lib/permalinkable/version.rb - permalink.gemspec - spec/permalinkable/permalinkable_spec.rb - spec/spec_helper.rb - spec/support/entry.rb - spec/support/schema.rb - spec/support/user.rb homepage: http://rubygems.org/gems/permalinkable licenses: - MIT metadata: {} post_install_message: rdoc_options: [] require_paths: - lib required_ruby_version: !ruby/object:Gem::Requirement requirements: - - ">=" - !ruby/object:Gem::Version version: '0' required_rubygems_version: !ruby/object:Gem::Requirement requirements: - - ">=" - !ruby/object:Gem::Version version: '0' requirements: [] rubyforge_project: rubygems_version: 2.2.2 signing_key: specification_version: 4 summary: Generate permalink attributes on ActiveRecord FPE'ed from database ids. test_files: - spec/permalinkable/permalinkable_spec.rb - spec/spec_helper.rb - spec/support/entry.rb - spec/support/schema.rb - spec/support/user.rb has_rdoc: