dynamo-store 0.0.1 → 1.0.2.1

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.md CHANGED
@@ -1,23 +1,60 @@
1
- # Dynamo Store Cache for Rails
1
+ # DynamoDB Adapter for [ActiveSupport Cache](https://github.com/rails/rails/tree/master/activesupport/lib/active_support/cache.rb)
2
2
 
3
+ ## Installation
3
4
 
4
- ## Usage
5
- https://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html
6
-
7
- ## Install in Rails
5
+ Add this line to your application's Gemfile:
8
6
 
9
- #### Add Gem
10
- ```ruby
7
+ ```
11
8
  gem 'dynamo-store'
12
9
  ```
13
10
 
14
- #### config/initializers/dynamo_store.rb
15
- ```ruby
16
- require 'dynamo'
17
- DynamoCache = ActiveSupport::Cache::Dynamo.new
11
+ And then execute:
12
+
18
13
  ```
14
+ bundle
15
+ ```
16
+
17
+ Or install it yourself as:
18
+
19
+ ```
20
+ gem install dynamo-store
21
+ ```
22
+
23
+ ## Usage
24
+
25
+ DynamoStore provides an adapter layer ActiveSupport::Cache to DynamoDB. A
26
+ serverless key-value store offering millisecond recall and write time.
27
+
28
+ DynamoStore leverages to the DynamoDB TTL column to automatically remove items
29
+ as they reach expiration time, this feature should be enabled, as this adapter
30
+ does not implement any manual cleanup steps.
31
+
32
+ ### Configuration
33
+ All configuration options are passed during construction of the store. You may
34
+ also provide the arguments given to the superclass
35
+ [ActiveSupport::Cache::Store](https://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html#method-c-new).
36
+
37
+
38
+ | Configuration | Type | Default | Description
39
+ | --------------- | ------------------- | ---------------- | ------------
40
+ | table_name | string | None. Required | The name of the DynamoDB Table
41
+ | dynamo_client | Aws:::DynamoDB::Client | Default AWS SDK Client | The client to use for connections. Useful for directing the cache at a local installation
42
+ | hash_key | string | 'CacheKey' | The name of the hash key for the cache table
43
+ | ttl_key | string | 'TTL' | The colum to use for auto-ttling items
19
44
 
20
45
 
46
+ ### Rails
21
47
 
48
+ ```ruby
49
+ # in config/application.rb
50
+
51
+ config.cache_store = :dynamo_store, {table_name: 'AppCache'}
52
+ ```
22
53
 
54
+ ### Outside of Rails
23
55
 
56
+ ```ruby
57
+ require 'dynamo-store'
58
+
59
+ cache = ActiveSupport::Cache::DynamoStore.new(table_name: 'AppCache')
60
+ ```
data/dynamo-store.gemspec CHANGED
@@ -39,14 +39,15 @@ Gem::Specification.new do |spec|
39
39
  spec.require_paths = ['lib']
40
40
 
41
41
  spec.add_dependency 'activesupport', '> 5.0'
42
- spec.add_dependency 'aws-sdk', '> 2.0'
42
+ spec.add_dependency 'aws-sdk-dynamodb', '> 1.0'
43
+ spec.add_dependency 'rexml'
43
44
 
44
45
  spec.add_development_dependency 'appraisal'
45
- spec.add_development_dependency 'bundler', '~> 2.0'
46
46
  spec.add_development_dependency 'deep-cover'
47
- spec.add_development_dependency 'rake', '~> 10.0'
47
+ spec.add_development_dependency 'rake', '~> 13.0'
48
48
  spec.add_development_dependency 'rspec', '~> 3.0'
49
+ spec.add_development_dependency 'rspec_junit_formatter'
49
50
  spec.add_development_dependency 'simplecov'
51
+ spec.add_development_dependency 'simplecov-lcov', '~> 0.8.0'
50
52
  spec.add_development_dependency 'timecop'
51
- spec.add_development_dependency 'rspec_junit_formatter'
52
53
  end