Skip to content

Commit

Permalink
tokenifier rails generator
Browse files Browse the repository at this point in the history
  • Loading branch information
dml committed Dec 22, 2011
1 parent c5b4202 commit 71aa5b4
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 1 deletion.
11 changes: 11 additions & 0 deletions lib/generators/tokenifier/install/USAGE
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Description:
Sets up Tokenifier in your Rails project. After running this generator you will
get a new config/tokenifier.yml file with newly generated secrets.

If you want to share tokens between applications use same secret strings
in proper environment.

Examples:
`rails generate tokenifier:install`

`rails generate tokenifier:install --help`
22 changes: 22 additions & 0 deletions lib/generators/tokenifier/install/install_generator.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
require 'rbconfig'

module Tokenifier
class InstallGenerator < ::Rails::Generators::Base
source_root File.expand_path("../templates", __FILE__)

def create_templates
template 'config/tokenifier.yml.erb', 'config/tokenifier.yml'
end

protected

def embed_file(source, indent='')
IO.read(File.join(self.class.source_root, source)).gsub(/^/, indent)
end

def embed_template(source, indent='')
template = File.join(self.class.source_root, source)
ERB.new(IO.read(template), nil, '-').result(binding).gsub(/^/, indent)
end
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
production:
secret: <%= Tokenifier::Random.secret %>

development:
secret: <%= Tokenifier::Random.secret %>

test:
secret: <%= Tokenifier::Random.secret %>
3 changes: 2 additions & 1 deletion tokenifier.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ Gem::Specification.new do |s|
s.add_runtime_dependency 'gibberish', '~>1.2'
s.add_development_dependency 'rspec', '>= 2.6.0'

s.files = Dir['lib/**/*', 'bin/tokenifier', "README.md"]
s.require_path = 'lib'
s.files = Dir['{lib,spec,rails_generators}/**/*', 'bin/tokenifier', "[a-zA-Z]*"]
s.test_files = Dir['spec/**/*']
s.executables = ['tokenifier']
end

0 comments on commit 71aa5b4

Please sign in to comment.