multa_arcana 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.rdoc CHANGED
@@ -1,2 +1,32 @@
1
- multa_arcana
2
- ============
1
+ = MultiArcana
2
+
3
+ Rails applications have many secret strings, and storing them in a public
4
+ revision control system is a security issue. This gem simplifies secret
5
+ management by storing all secrets in a single file, which is then copied
6
+ into place using Capistrano or other deployment tools.
7
+
8
+ Usage:
9
+
10
+ gem 'multa_arcana'
11
+
12
+ Create a file +config/secrets.yml+ to contain your secrets:
13
+
14
+ db_username: your-username-here
15
+ db_password: your-db-password-here
16
+ secret_token: klsjdklajd...2342342ds9u
17
+
18
+ Then, in any place where you normally use a secret, retrieve it:
19
+
20
+ +config/initializers/secret_token.rb+
21
+ Thing::Application.config.secret_token = MultaArcana::secret_for(:secret_token)
22
+
23
+ +config/database.yml+
24
+
25
+ production:
26
+ adapter: postgresql
27
+ encoding: unicode
28
+ database: thing_production
29
+ pool: 5
30
+ host: 127.0.0.1
31
+ username: <%= MultaArcana::secret_for(:db_username) %>
32
+ password: <%= MultaArcana::secret_for(:db_password) %>
@@ -3,6 +3,12 @@ class MultaArcana
3
3
  @@secrets = nil
4
4
  @@secret_file = nil
5
5
 
6
+ #
7
+ # Load secrets from the default file (+secrets.yml+, or +config/secrets.yml+
8
+ # for a Rails application) or from the file specified. The file is sticky;
9
+ # the first call to +secret_for+ sets the file in use, and afterwards all
10
+ # following secret_for calls use the data from a cache.
11
+ #
6
12
  def self.secret_for(tag, fname = nil)
7
13
  load_file(fname)
8
14
  @@secrets[tag.to_s]
@@ -1,3 +1,3 @@
1
1
  class MultaArcana
2
- VERSION = "1.1.2"
2
+ VERSION = "1.1.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: multa_arcana
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -106,7 +106,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
106
  version: '0'
107
107
  segments:
108
108
  - 0
109
- hash: -18381401849477260
109
+ hash: 93698497967661250
110
110
  required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  none: false
112
112
  requirements:
@@ -115,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
115
  version: '0'
116
116
  segments:
117
117
  - 0
118
- hash: -18381401849477260
118
+ hash: 93698497967661250
119
119
  requirements: []
120
120
  rubyforge_project:
121
121
  rubygems_version: 1.8.25