buttercms-ruby 2.3 → 2.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 71c6d2ca16fa0a3f309ca70b3621a3a120037d0ce4928d1b5ebe8752e5e616b5
4
- data.tar.gz: 8cdaeb87ff156acb02484dc1aa25f5d05a4a039d699a08a2f6a2206d8b792ee3
3
+ metadata.gz: 66bbe24c7759a4bbf8c026d8f70f42888e71ef2733cfcc0d02917c0e4049231b
4
+ data.tar.gz: 2bcbeb00f46e7f8e5039528a7c4cda0d84c12eb26b8af4bfcc40495c83ba4783
5
5
  SHA512:
6
- metadata.gz: aee2d3b066ec054493e4a130fbc1e4504609972b537e41630bfc6c58014514405437910c759fe06f3e1380843a230baeb9b8457ea94d9c015708d0507a387599
7
- data.tar.gz: 73c8720bebf9154a7b18bc1fc07d49937f5fa92a5114842141a0f249e747b03c1f88e8c275f276dc1110b01ff9a3a09f1c5ab3c7e66fc3854d5543fe1a709576
6
+ metadata.gz: eb1dab8986628b6a84233d826e1116f2dad712715c0cfd068e796f7ce1b6f8b124bdbe3324e444f3a9ecea33025a1ba22892cf283ebaabcaba3b052c73bc94e2
7
+ data.tar.gz: 7b3345cad1de8da899afa6e4cd14acc7e3d0bc09f5a19c6a0798ed7b21fd86ef55d8a08b239811cb1c0a6728e05318605aebcee74ee03ee860accce13d67330a
data/README.md CHANGED
@@ -134,6 +134,9 @@ ButterCMS::data_store = :yaml, "/File/Path/For/buttercms.store"
134
134
  # Use Redis
135
135
  ButterCMS::data_store = :redis, ENV['REDIS_URL']
136
136
 
137
+ # Use Redis over ssl store
138
+ ButterCMS.data_store = :redis_ssl, ENV["REDIS_URL"], { ca_file: "/path/to/ca.crt" }
139
+
137
140
  # Set logger (optional)
138
141
  ButterCMS::logger = MyLogger.new
139
142
  ```
@@ -0,0 +1,27 @@
1
+ begin
2
+ require 'redis'
3
+ rescue LoadError
4
+ puts "WARNING: redis >= 3.0.0 is required to use the redis data store."
5
+ raise
6
+ end
7
+
8
+ module ButterCMS
9
+ module DataStoreAdapters
10
+ class RedisSSL
11
+ def initialize(options)
12
+ redis_url = options.first
13
+ ssl_params = options.second && Hash[options.second]
14
+
15
+ @redis = ::Redis.new(url: redis_url, ssl_params:)
16
+ end
17
+
18
+ def set(key, value)
19
+ @redis.set(key, value)
20
+ end
21
+
22
+ def get(key)
23
+ @redis.get(key)
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,3 +1,3 @@
1
1
  module ButterCMS
2
- VERSION = '2.3'
2
+ VERSION = '2.4'
3
3
  end
@@ -59,6 +59,9 @@ module ButterCMS
59
59
  when :redis
60
60
  require_relative 'buttercms/data_store_adapters/redis'
61
61
  @data_store = ButterCMS::DataStoreAdapters::Redis.new(options)
62
+ when :redis_ssl
63
+ require_relative 'buttercms/data_store_adapters/redis_ssl'
64
+ @data_store = ButterCMS::DataStoreAdapters::RedisSSL.new(options)
62
65
  else
63
66
  raise ArgumentError.new "Invalid ButterCMS data store #{strategy}"
64
67
  end
@@ -132,14 +135,14 @@ module ButterCMS
132
135
 
133
136
  return JSON.parse(result)
134
137
  end
135
-
138
+
136
139
  def self.write_request(path, options = {})
137
140
  raise ArgumentError.new "Please set your write API token" unless write_api_token
138
141
  result = write_api_request(path, options)
139
142
 
140
143
  return JSON.parse(result)
141
144
  end
142
-
145
+
143
146
  def self.write_api_request(path, options = {})
144
147
  query = options.dup
145
148
  token_for_request = query.delete(:auth_token) || write_api_token
@@ -177,9 +180,9 @@ module ButterCMS
177
180
 
178
181
  response.body
179
182
  end
180
-
183
+
181
184
  private
182
-
185
+
183
186
  def self.http_options
184
187
  {
185
188
  open_timeout: open_timeout || 2.0,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: buttercms-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: '2.3'
4
+ version: '2.4'
5
5
  platform: ruby
6
6
  authors:
7
7
  - ButterCMS
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-05 00:00:00.000000000 Z
11
+ date: 2023-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -60,6 +60,7 @@ files:
60
60
  - lib/buttercms/category.rb
61
61
  - lib/buttercms/content.rb
62
62
  - lib/buttercms/data_store_adapters/redis.rb
63
+ - lib/buttercms/data_store_adapters/redis_ssl.rb
63
64
  - lib/buttercms/data_store_adapters/yaml.rb
64
65
  - lib/buttercms/errors.rb
65
66
  - lib/buttercms/feed.rb
@@ -95,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
96
  - !ruby/object:Gem::Version
96
97
  version: '0'
97
98
  requirements: []
98
- rubygems_version: 3.0.3
99
+ rubygems_version: 3.0.3.1
99
100
  signing_key:
100
101
  specification_version: 4
101
102
  summary: Ruby API client for ButterCMS