fmrest 0.2.5 → 0.3.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 94e1ce81a3885335a688e70f79e7935f665d7adfe8bd3cf51e928bad034b7088
4
- data.tar.gz: 2d36da690cde5b41876ac4602c5ad132cbce8b40de3de31f4c20deff6262e6d5
3
+ metadata.gz: 4e8222e5d83f79a3d60a6aa6fa0a3513cc00a46a0bb2e1dfd8d49b4651d89b0f
4
+ data.tar.gz: 451b7e41eaacbc7e5b0da15746fd9d53e4639a862ea07c7d3cca30b8ee095ec1
5
5
  SHA512:
6
- metadata.gz: 73d6df260561597bc4dc72f46bb2085f4bcff3593904ff1b327b7d5e3ec541d8b6c180e59f20045b36f0ea92d01045170a561447f07a7aad97816fd062a8390d
7
- data.tar.gz: b91f6693d3c399a8a8b0d56d3ef114c1f188f44c89201ad60d4814fb6da7db8ebd7b928467f4fb14188a0667b6e8115eb16c288aebaf734708c3c72e40634b4d
6
+ metadata.gz: 02dec88a0482d6f26e5a899f4f5bc2451a54461bc02c3ded6ce86348a62e8753d75d7285adf8fda2759e660b59f2da765f993c13a448d4aefc0f869efb848708
7
+ data.tar.gz: 3035f10f9a9a91242f4cad5d479725ed490ea5ec801c5798e64b88ede8035746d417513a9f74f3e56308b34f798353b4808e76371534cc2992038ffd32aed528
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  ## Changelog
2
2
 
3
+ ### 0.3.0
4
+
5
+ * Add Moneta token store
6
+
7
+ ### 0.2.5
8
+
9
+ * Fix crash in `fetch_container_data` when no proxy options were set
10
+
3
11
  ### 0.2.4
4
12
 
5
13
  * Use `String#=~` instead of `String#match?` for Ruby <2.4 compatibility (Fixes
data/README.md CHANGED
@@ -140,7 +140,8 @@ FmRest.token_store = FmRest::TokenStore::Redis
140
140
 
141
141
  You can also initialize it with the following options:
142
142
 
143
- * `:redis` - A `Redis` object to use as connection, if ommited a new `Redis` object will be created with remaining options
143
+ * `:redis` - A `Redis` object to use as connection, if ommited a new `Redis`
144
+ object will be created with remaining options
144
145
  * `:prefix` - The prefix to use for token keys, by default `"fmrest-token:"`
145
146
  * Any other options will be passed to `Redis.new` if `:redis` isn't provided
146
147
 
@@ -157,6 +158,43 @@ FmRest.token_store = FmRest::TokenStore::Redis.new(prefix: "my-fancy-prefix:", h
157
158
  **NOTE:** redis-rb is not included as a gem dependency of fmrest-ruby, so you'll
158
159
  have to add it to your Gemfile.
159
160
 
161
+ ### Moneta
162
+
163
+ [Moneta](https://github.com/moneta-rb/moneta) is a key/value store wrapper
164
+ around many different storage backends. If ActiveRecord or Redis don't suit
165
+ your needs, chances are Moneta will.
166
+
167
+ To use it:
168
+
169
+ ```ruby
170
+ # config/initializers/fmrest.rb
171
+ require "fmrest/token_store/moneta"
172
+
173
+ FmRest.token_store = FmRest::TokenStore::Moneta
174
+ ```
175
+
176
+ By default the `:Memory` moneta backend will be used.
177
+
178
+ You can also initialize it with the following options:
179
+
180
+ * `:backend` - The moneta backend to initialize the store with
181
+ * `:prefix` - The prefix to use for token keys, by default `"fmrest-token:"`
182
+ * Any other options will be passed to `Moneta.new`
183
+
184
+ Examples:
185
+
186
+ ```ruby
187
+ # Using YAML as a backend with a custom prefix
188
+ FmRest.token_store = FmRest::TokenStore::Moneta.new(
189
+ backend: :YAML,
190
+ file: "tmp/tokens.yml",
191
+ prefix: "my-tokens"
192
+ )
193
+ ```
194
+
195
+ **NOTE:** the moneta gem is not included as a dependency of fmrest-ruby, so
196
+ you'll have to add it to your Gemfile.
197
+
160
198
  ## Spyke support (ActiveRecord-like ORM)
161
199
 
162
200
  [Spyke](https://github.com/balvig/spyke) is an ActiveRecord-like gem for
data/fmrest.gemspec CHANGED
@@ -32,4 +32,5 @@ Gem::Specification.new do |spec|
32
32
  spec.add_development_dependency "activerecord"
33
33
  spec.add_development_dependency "sqlite3", "~> 1.3.6"
34
34
  spec.add_development_dependency "mock_redis"
35
+ spec.add_development_dependency "moneta"
35
36
  end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "fmrest/token_store/base"
4
+ require "moneta"
5
+
6
+ module FmRest
7
+ module TokenStore
8
+ class Moneta < Base
9
+ DEFAULT_BACKEND = :Memory
10
+ DEFAULT_PREFIX = "fmrest-token:".freeze
11
+
12
+ attr_reader :moneta
13
+
14
+ # @param options [Hash]
15
+ # Options to pass to `Moneta.new`
16
+ # @option options [Symbol] :backend (:Memory)
17
+ # The Moneta backend to use
18
+ # @option options [String] :prefix (DEFAULT_PREFIX)
19
+ # The prefix to use for keys
20
+ def initialize(options = {})
21
+ options = options.dup
22
+ super(options)
23
+ backend = options.delete(:backend) || DEFAULT_BACKEND
24
+ options[:prefix] ||= DEFAULT_PREFIX
25
+ @moneta = ::Moneta.new(backend, options)
26
+ end
27
+
28
+ def load(key)
29
+ moneta[key]
30
+ end
31
+
32
+ def delete(key)
33
+ moneta.delete(key)
34
+ end
35
+
36
+ def store(key, value)
37
+ moneta[key] = value
38
+ end
39
+ end
40
+ end
41
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FmRest
4
- VERSION = "0.2.5"
4
+ VERSION = "0.3.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fmrest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pedro Carbajal
@@ -176,6 +176,20 @@ dependencies:
176
176
  - - ">="
177
177
  - !ruby/object:Gem::Version
178
178
  version: '0'
179
+ - !ruby/object:Gem::Dependency
180
+ name: moneta
181
+ requirement: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
186
+ type: :development
187
+ prerelease: false
188
+ version_requirements: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
179
193
  description: FileMaker Data API client using Faraday, with optional ActiveRecord-like
180
194
  ORM based on Spyke
181
195
  email:
@@ -215,6 +229,7 @@ files:
215
229
  - lib/fmrest/token_store/active_record.rb
216
230
  - lib/fmrest/token_store/base.rb
217
231
  - lib/fmrest/token_store/memory.rb
232
+ - lib/fmrest/token_store/moneta.rb
218
233
  - lib/fmrest/token_store/redis.rb
219
234
  - lib/fmrest/v1.rb
220
235
  - lib/fmrest/v1/connection.rb