Class: SecretService::DatabaseStore::ActiveRecordStore
- Inherits:
-
Object
- Object
- SecretService::DatabaseStore::ActiveRecordStore
- Defined in:
- lib/secret_service/database_store/active_record_store.rb
Defined Under Namespace
Classes: Secret
Constant Summary collapse
- TABLE_NAME =
'_secret_service_secrets'
Instance Method Summary collapse
- #drop_database ⇒ Object
- #find(key) ⇒ Object
-
#initialize ⇒ ActiveRecordStore
constructor
A new instance of ActiveRecordStore.
- #update(key, value) ⇒ Object
Constructor Details
#initialize ⇒ ActiveRecordStore
Returns a new instance of ActiveRecordStore.
17 18 19 |
# File 'lib/secret_service/database_store/active_record_store.rb', line 17 def initialize setup_database unless database_set_up? end |
Instance Method Details
#drop_database ⇒ Object
40 41 42 43 44 45 |
# File 'lib/secret_service/database_store/active_record_store.rb', line 40 def drop_database # tests need this Secret.connection.drop_table TABLE_NAME Secret.reset_column_information rescue ::ActiveRecord::StatementInvalid end |
#find(key) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/secret_service/database_store/active_record_store.rb', line 21 def find(key) secret_record = find_if_present(key) unless secret_record new_secret = yield begin secret_record = Secret.create!(:key => key, :value => new_secret) rescue ::ActiveRecord::StatementInvalid secret_record = find_if_present(key) end end secret_record.value end |