ecfr 1.0.2 → 1.0.4

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: 4403d0c730758c718692d944b2703b0630f7d00f1e22d710909a32f12864a136
4
- data.tar.gz: 2c80c63a113fe62b20b546b5338aada5a593ce1cc73c827e38e6f81b7dfb9e98
3
+ metadata.gz: 9a461ee470f942857af590c19d394480c9fae9120f34d350177c2cfcdde01afa
4
+ data.tar.gz: c5e33627c9a6de6cc626588dc5772c9e51276aab272293960f85672c7e2c30d4
5
5
  SHA512:
6
- metadata.gz: aa1c12695b6cc9c382589e612a4fc410c5bba3ee4b56f38d47b0d68303e576df5c364d65486b61439c0777dc09bcd527fe5359d937654bdc10ea3d7dce9ed45b
7
- data.tar.gz: 5f0d2e11bfc54ac1b578170be9a23d8dc6b7a7a89f979795d3664761c9033b6c8a351e16dc8f80dace862b5dd6f9ef16d675fbbb76ae3c213db03958db04fc83
6
+ metadata.gz: 5f1289d6881ae12c16bf38d3f6f19b4d62690f8fd651273b2146a08a2c8e6c1e715f279f71dee059ff7304c5f2e4b092cc95b003fbfacd84c6bd712616ba7ce8
7
+ data.tar.gz: feb036c209435977e25198394deb3a814d76f821ee560d643bf5c4dcd1a0bf0f4abc649921d8fbd9dce11d467c07eb2660319149aa1343e8351d494348cbbf14
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [1.0.4] - 2023-04-24
4
+ ### Additions
5
+ - Add Ecfr::VarnishCacheService for clearing of cache
6
+
7
+ ## [1.0.3] - 2023-04-21
8
+ ### Changes
9
+ - Adjust PDF service name and set url default
10
+
3
11
  ## [1.0.2] - 2023-04-17
4
12
  ### Additions
5
13
  - Add support for `display_name` and `sortable_name` attributes to the agency API response
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ecfr (1.0.0)
4
+ ecfr (1.0.2)
5
5
  activemodel (~> 6.0)
6
6
  activesupport (~> 6.0)
7
7
  faraday (~> 2.0)
@@ -17,6 +17,7 @@ module Ecfr
17
17
  renderer_service_url: nil,
18
18
  search_service_url: nil,
19
19
  subscriptions_service_url: nil,
20
+ varnish_cache_service_url: nil,
20
21
  versioner_service_url: nil,
21
22
  # basic auth - some endpoints require auth
22
23
  ecfr_basic_auth_username: nil,
@@ -6,11 +6,11 @@ module Ecfr
6
6
  SERVICE_PATH = ""
7
7
 
8
8
  def self.base_url
9
- Ecfr.config.prince_xml_service_url
9
+ Ecfr.config.prince_xml_service_url || Ecfr.config.base_url
10
10
  end
11
11
 
12
12
  def self.service_name
13
- "PrinceXML Service"
13
+ "Prince XML Service"
14
14
  end
15
15
  end
16
16
  end
@@ -38,7 +38,10 @@ module Ecfr
38
38
  ORIGIN_PATH = "v1/origin"
39
39
 
40
40
  def self.find(date, title_number, params = {})
41
- supported_params = (Ecfr::Constants::Hierarchy::HIERARCHY_LEVELS[1, 8] + [:build_id]).map(&:to_sym)
41
+ supported_params = (
42
+ Ecfr::Constants::Hierarchy::HIERARCHY_LEVELS[1, 8] +
43
+ [:build_id]
44
+ ).map(&:to_sym)
42
45
 
43
46
  perform(
44
47
  :get,
@@ -0,0 +1,25 @@
1
+ module Ecfr
2
+ #
3
+ # Varnish is used to provide cache based on an expires header set by
4
+ # various service endpoints. Varnish is only routable internally.
5
+ #
6
+ module VarnishCacheService
7
+ class Base < Ecfr::Base
8
+ def self.base_url
9
+ Ecfr.config.varnish_cache_service_url
10
+ end
11
+
12
+ def self.service_name
13
+ "Varnish Cache Service"
14
+ end
15
+
16
+ def self.expire(path)
17
+ purge(path)
18
+ end
19
+
20
+ def self.expire_everything
21
+ expire("/.*")
22
+ end
23
+ end
24
+ end
25
+ end
data/lib/ecfr/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ecfr
4
- VERSION = "1.0.2"
4
+ VERSION = "1.0.4"
5
5
  end
data/lib/ecfr.rb CHANGED
@@ -56,6 +56,7 @@ module Ecfr
56
56
  Ecfr::RendererService,
57
57
  Ecfr::SearchService,
58
58
  Ecfr::SubscriptionsService,
59
+ Ecfr::VarnishCacheService,
59
60
  Ecfr::VersionerService
60
61
  ]
61
62
  end
@@ -87,4 +88,5 @@ require_relative "ecfr/prince_xml_service/base"
87
88
  require_relative "ecfr/renderer_service/base"
88
89
  require_relative "ecfr/search_service/base"
89
90
  require_relative "ecfr/subscriptions_service/base"
91
+ require_relative "ecfr/varnish_cache_service/base"
90
92
  require_relative "ecfr/versioner_service/base"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecfr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peregrinator
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-04-17 00:00:00.000000000 Z
11
+ date: 2023-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -341,6 +341,7 @@ files:
341
341
  - lib/ecfr/testing/factory_bot_helpers/ecfr_gem_initialize_helpers.rb
342
342
  - lib/ecfr/testing/helpers/response_helper.rb
343
343
  - lib/ecfr/testing/strategies/ecfr_attribute_hash_strategy.rb
344
+ - lib/ecfr/varnish_cache_service/base.rb
344
345
  - lib/ecfr/version.rb
345
346
  - lib/ecfr/versioner_service/ancestors.rb
346
347
  - lib/ecfr/versioner_service/ancestors/metadata_node_info.rb