consyncful 0.6.1 → 0.7.1

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: 6a8f36ac50a10800cbce6e6b9d086e346b1e7362e422080d532a87bb981d8135
4
- data.tar.gz: 6df1ea6cf1cb05f405938d83e09436927e21b7828424f33c79a105e4c11da127
3
+ metadata.gz: c882690a75c66e0d0045caf2c574e04c6eb1c86160f767db1d5d1ef309cffc22
4
+ data.tar.gz: 8223e7a016e55b6ee64b80bb0979eaa4f646d84dbcfb157fdd3fffe2ff30822e
5
5
  SHA512:
6
- metadata.gz: bdebe27350c747d4d3d02e290c5971d2b295815741e887ad658a09248f0d7d0a798a4060d5500c99d2f18e4b7f920d98e32bc0f0d49bbdea488ded106bda53d7
7
- data.tar.gz: 034ec0cbec2265225f48bbd52d6412fe238ee026b78827bfacec54e8a31c42f9786495709c7dcea1e4ecf261761897f99a8417e4bea09149296c6cc51c9f789b
6
+ metadata.gz: 1883a3eba634425d4579d734046e2f44e2bd1798ee4c0ff7e0b4d911df3afb40760aa29bfb78cf1ba770fcf7f1b84a76833e1925a31c50c1e3c108462731f5dc
7
+ data.tar.gz: da8df93ab4487b5ffb8d626781338a623a988d568b3d0445b357e44adeb5021c8bcbe3c7a14daec9e0c0f37cd5626ee172986d420f7ea28b5ef4d872deb07722
@@ -0,0 +1,45 @@
1
+ name: CI
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches:
7
+ - master
8
+
9
+ jobs:
10
+ ci_checks:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ ruby:
15
+ - 2.7.5
16
+ - 3.0.3
17
+ - 3.1.1
18
+ mongodb:
19
+ - 4.2
20
+ - 4.4
21
+ - 5.0
22
+
23
+ name: Ruby ${{ matrix.ruby }} sample
24
+
25
+ steps:
26
+ - name: Checkout this repo
27
+ uses: actions/checkout@v2
28
+
29
+ - name: Install Ruby and Bundler
30
+ uses: ruby/setup-ruby@v1
31
+ with:
32
+ bundler-cache: true
33
+ ruby-version: ${{ matrix.ruby }}
34
+
35
+ - name: Start MongoDB
36
+ uses: supercharge/mongodb-github-action@1.7.0
37
+ with:
38
+ mongodb-version: ${{ matrix.mongodb }}
39
+
40
+ - name: Run rubocop
41
+ run: |
42
+ bundle exec rubocop
43
+ - name: Run tests
44
+ run: |
45
+ bundle exec rspec
data/.rubocop.yml CHANGED
@@ -1 +1,5 @@
1
1
  inherit_from: .rubocop_todo.yml
2
+
3
+ AllCops:
4
+ TargetRubyVersion: 2.7
5
+ NewCops: enable
data/.rubocop_todo.yml CHANGED
@@ -1,48 +1,50 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2021-03-01 10:54:42 +1300 using RuboCop version 0.79.0.
3
+ # on 2022-05-03 22:33:33 UTC using RuboCop version 1.28.2.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
- # Offense count: 1
10
- # Cop supports --auto-correct.
11
- # Configuration parameters: AllowInHeredoc.
12
- Layout/TrailingWhitespace:
9
+ # Offense count: 3
10
+ # Configuration parameters: AllowedMethods.
11
+ # AllowedMethods: enums
12
+ Lint/ConstantDefinitionInBlock:
13
13
  Exclude:
14
- - 'lib/consyncful/item_mapper.rb'
14
+ - 'spec/consyncful/base_spec.rb'
15
+ - 'spec/consyncful/persisted_item_spec.rb'
15
16
 
16
17
  # Offense count: 1
18
+ # Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
17
19
  Metrics/AbcSize:
18
20
  Max: 19
19
21
 
20
- # Offense count: 10
21
- # Configuration parameters: CountComments, ExcludedMethods.
22
- # ExcludedMethods: refine
22
+ # Offense count: 12
23
+ # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
24
+ # IgnoredMethods: refine
23
25
  Metrics/BlockLength:
24
- Max: 175
26
+ Max: 220
25
27
 
26
28
  # Offense count: 3
27
- # Cop supports --auto-correct.
28
- # Configuration parameters: AutoCorrect, EnforcedStyle.
29
+ # This cop supports safe auto-correction (--auto-correct).
30
+ # Configuration parameters: EnforcedStyle.
29
31
  # SupportedStyles: nested, compact
30
32
  Style/ClassAndModuleChildren:
31
33
  Exclude:
32
34
  - 'lib/consyncful/railtie.rb'
33
35
  - 'spec/consyncful/base_spec.rb'
34
36
 
35
- # Offense count: 3
37
+ # Offense count: 1
38
+ # Configuration parameters: AllowedConstants.
36
39
  Style/Documentation:
37
40
  Exclude:
38
41
  - 'spec/**/*'
39
42
  - 'test/**/*'
40
43
  - 'lib/consyncful.rb'
41
- - 'lib/consyncful/railtie.rb'
42
44
 
43
- # Offense count: 56
44
- # Cop supports --auto-correct.
45
- # Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
45
+ # Offense count: 9
46
+ # This cop supports safe auto-correction (--auto-correct).
47
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, IgnoredPatterns.
46
48
  # URISchemes: http, https
47
49
  Layout/LineLength:
48
50
  Max: 226
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.7.1
1
+ 3.0.3
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- consyncful (0.6.1)
4
+ consyncful (0.7.1)
5
5
  contentful (>= 2.11.1, < 3.0.0)
6
6
  hooks (>= 0.4.1)
7
7
  mongoid (>= 7.0.2, < 8.0.0)
@@ -10,27 +10,26 @@ PATH
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- activemodel (6.1.3.1)
14
- activesupport (= 6.1.3.1)
15
- activesupport (6.1.3.1)
13
+ activemodel (7.0.3)
14
+ activesupport (= 7.0.3)
15
+ activesupport (7.0.3)
16
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
17
17
  i18n (>= 1.6, < 2)
18
18
  minitest (>= 5.1)
19
19
  tzinfo (~> 2.0)
20
- zeitwerk (~> 2.3)
21
- addressable (2.7.0)
20
+ addressable (2.8.0)
22
21
  public_suffix (>= 2.0.2, < 5.0)
23
- ast (2.4.0)
24
- bson (4.12.0)
25
- concurrent-ruby (1.1.8)
26
- contentful (2.16.0)
22
+ ast (2.4.2)
23
+ bson (4.15.0)
24
+ concurrent-ruby (1.1.10)
25
+ contentful (2.16.3)
27
26
  http (> 0.8, < 5.0)
28
27
  multi_json (~> 1)
29
28
  database_cleaner (1.8.3)
30
29
  diff-lcs (1.3)
31
30
  domain_name (0.5.20190701)
32
31
  unf (>= 0.0.5, < 1.0.0)
33
- ffi (1.15.0)
32
+ ffi (1.15.5)
34
33
  ffi-compiler (1.0.1)
35
34
  ffi (>= 1.0.0)
36
35
  rake
@@ -41,27 +40,29 @@ GEM
41
40
  http-cookie (~> 1.0)
42
41
  http-form_data (~> 2.2)
43
42
  http-parser (~> 1.2.0)
44
- http-cookie (1.0.3)
43
+ http-cookie (1.0.5)
45
44
  domain_name (~> 0.5)
46
45
  http-form_data (2.3.0)
47
46
  http-parser (1.2.3)
48
47
  ffi-compiler (>= 1.0, < 2.0)
49
- i18n (1.8.10)
48
+ i18n (1.10.0)
50
49
  concurrent-ruby (~> 1.0)
51
- jaro_winkler (1.5.4)
52
- minitest (5.14.4)
53
- mongo (2.14.0)
50
+ minitest (5.16.2)
51
+ mongo (2.17.1)
54
52
  bson (>= 4.8.2, < 5.0.0)
55
- mongoid (7.2.2)
56
- activemodel (>= 5.1, < 6.2)
53
+ mongoid (7.4.0)
54
+ activemodel (>= 5.1, < 7.1, != 7.0.0)
57
55
  mongo (>= 2.10.5, < 3.0.0)
56
+ ruby2_keywords (~> 0.0.5)
58
57
  multi_json (1.15.0)
59
- parallel (1.19.1)
60
- parser (2.7.0.2)
61
- ast (~> 2.4.0)
62
- public_suffix (4.0.6)
63
- rainbow (3.0.0)
58
+ parallel (1.22.1)
59
+ parser (3.1.2.0)
60
+ ast (~> 2.4.1)
61
+ public_suffix (4.0.7)
62
+ rainbow (3.1.1)
64
63
  rake (13.0.1)
64
+ regexp_parser (2.3.1)
65
+ rexml (3.2.5)
65
66
  rspec (3.9.0)
66
67
  rspec-core (~> 3.9.0)
67
68
  rspec-expectations (~> 3.9.0)
@@ -75,22 +76,30 @@ GEM
75
76
  diff-lcs (>= 1.2.0, < 2.0)
76
77
  rspec-support (~> 3.9.0)
77
78
  rspec-support (3.9.2)
78
- rubocop (0.79.0)
79
- jaro_winkler (~> 1.5.1)
79
+ rubocop (1.28.2)
80
80
  parallel (~> 1.10)
81
- parser (>= 2.7.0.1)
81
+ parser (>= 3.1.0.0)
82
82
  rainbow (>= 2.2.2, < 4.0)
83
+ regexp_parser (>= 1.8, < 3.0)
84
+ rexml
85
+ rubocop-ast (>= 1.17.0, < 2.0)
83
86
  ruby-progressbar (~> 1.7)
84
- unicode-display_width (>= 1.4.0, < 1.7)
85
- ruby-progressbar (1.10.1)
87
+ unicode-display_width (>= 1.4.0, < 3.0)
88
+ rubocop-ast (1.17.0)
89
+ parser (>= 3.1.1.0)
90
+ rubocop-rake (0.6.0)
91
+ rubocop (~> 1.0)
92
+ rubocop-rspec (2.10.0)
93
+ rubocop (~> 1.19)
94
+ ruby-progressbar (1.11.0)
95
+ ruby2_keywords (0.0.5)
86
96
  tzinfo (2.0.4)
87
97
  concurrent-ruby (~> 1.0)
88
98
  uber (0.0.15)
89
99
  unf (0.1.4)
90
100
  unf_ext
91
- unf_ext (0.0.7.7)
92
- unicode-display_width (1.6.1)
93
- zeitwerk (2.4.2)
101
+ unf_ext (0.0.8.2)
102
+ unicode-display_width (2.1.0)
94
103
 
95
104
  PLATFORMS
96
105
  ruby
@@ -101,7 +110,9 @@ DEPENDENCIES
101
110
  database_cleaner
102
111
  rake (~> 13.0)
103
112
  rspec (~> 3.0)
104
- rubocop (= 0.79.0)
113
+ rubocop
114
+ rubocop-rake
115
+ rubocop-rspec
105
116
 
106
117
  BUNDLED WITH
107
- 2.1.4
118
+ 2.3.7
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Consyncful [![Build Status](https://travis-ci.org/boost/consyncful.svg?branch=master)](https://travis-ci.org/boost/consyncful)
1
+ # Consyncful
2
2
 
3
3
  Contentful -> local database synchronisation for Rails
4
4
 
@@ -165,6 +165,39 @@ end
165
165
 
166
166
  If fields have multiple locales then the default locale will be mapped to the field name. Additional locales will have a suffix (lower snake case) on the field name. e.g title (default), title_mi_nz (New Zealand Maori mi-NZ)
167
167
 
168
+ ### Preserving Contentful timestamps
169
+
170
+ If you need to access the timestamps from Contentful, you can enable it by setting `preserve_contentful_timestamps` to `true`.
171
+
172
+ ```rb
173
+ Consyncful.configure do |config|
174
+ # Consyncful models will have two extra fields that contains the value of timestamps in Contentful.
175
+ # contentful_created_at
176
+ # contentful_updated_at
177
+ config.preserve_contentful_timestamps = true # defaults to false
178
+ end
179
+ ```
180
+
181
+ ### Sync specific contents using [Contentful Tag](https://www.contentful.com/help/tags/).
182
+ You can configure Consyncful to sync or ignore specific contents using Contentful Tag.
183
+
184
+ ```rb
185
+ Consyncful.configure do |config|
186
+ # Any contents tagged with 'myTag' will be stored in the database.
187
+ # Other contents without 'myTag' would be ignored.
188
+ config.content_tags = ['myTag'] # defaults to []
189
+ end
190
+ ```
191
+
192
+ Also, you can ignore contents with specific Tags.
193
+
194
+ ```rb
195
+ Consyncful.configure do |config|
196
+ # Any contents tagged with 'ignoreTag' won't be stored in the database.
197
+ config.ignore_content_tags = ['ignoreTag'] # defaults to []
198
+ end
199
+ ```
200
+
168
201
  ### Configuring what Mongo database Consyncful uses
169
202
 
170
203
  You can also configure what Mongoid client Consyncful uses and the name of the collection the entries are stored under. This is useful if you want to have your consyncful data hosted in a different mongo database than your application-specific mongo database.
data/consyncful.gemspec CHANGED
@@ -5,14 +5,15 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require 'consyncful/version'
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.name = 'consyncful'
9
- spec.version = Consyncful::VERSION
10
- spec.authors = ['Andy Anastasiadis-Gray', 'Montgomery Anderson', 'Greg Rogan']
11
- spec.email = ['andy@boost.co.nz', 'montgomery@boost.co.nz', 'greg@boost.co.nz']
8
+ spec.name = 'consyncful'
9
+ spec.version = Consyncful::VERSION
10
+ spec.required_ruby_version = '>= 2.7'
11
+ spec.authors = ['Andy Anastasiadis-Gray']
12
+ spec.email = ['andy@boost.co.nz']
12
13
 
13
- spec.summary = 'Contentful to local database synchronisation for Rails'
14
- spec.homepage = 'https://github.com/boost/consyncful'
15
- spec.license = 'MIT'
14
+ spec.summary = 'Contentful to local database synchronisation for Rails'
15
+ spec.homepage = 'https://github.com/boost/consyncful'
16
+ spec.license = 'MIT'
16
17
 
17
18
  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
18
19
  # to allow pushing to a single host or delete this section to allow pushing to any host.
@@ -23,7 +24,7 @@ Gem::Specification.new do |spec|
23
24
  # "public gem pushes."
24
25
  # end
25
26
 
26
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
27
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
27
28
  f.match(%r{^(test|spec|features)/})
28
29
  end
29
30
  spec.bindir = 'exe'
@@ -34,10 +35,13 @@ Gem::Specification.new do |spec|
34
35
  spec.add_development_dependency 'database_cleaner'
35
36
  spec.add_development_dependency 'rake', '~> 13.0'
36
37
  spec.add_development_dependency 'rspec', '~> 3.0'
37
- spec.add_development_dependency 'rubocop', '0.79.0'
38
+ spec.add_development_dependency 'rubocop'
39
+ spec.add_development_dependency 'rubocop-rake'
40
+ spec.add_development_dependency 'rubocop-rspec'
38
41
 
39
42
  spec.add_dependency 'contentful', ['>=2.11.1', '<3.0.0']
40
43
  spec.add_dependency 'hooks', '>=0.4.1'
41
44
  spec.add_dependency 'mongoid', ['>=7.0.2', '<8.0.0']
42
45
  spec.add_dependency 'rainbow'
46
+ spec.metadata['rubygems_mfa_required'] = 'true'
43
47
  end
@@ -13,6 +13,13 @@ module Consyncful
13
13
  @item.is_a?(Contentful::DeletedEntry) || @item.is_a?(Contentful::DeletedAsset)
14
14
  end
15
15
 
16
+ def excluded_by_tag?
17
+ return (Consyncful.configuration.content_tags & item_tag_ids).empty? if Consyncful.configuration.content_tags.any?
18
+ return (Consyncful.configuration.ignore_content_tags & item_tag_ids).any? if Consyncful.configuration.ignore_content_tags.any?
19
+
20
+ false
21
+ end
22
+
16
23
  def type
17
24
  case @item.type
18
25
  when 'Entry' then @item.content_type.id
@@ -29,18 +36,27 @@ module Consyncful
29
36
 
30
37
  fields.merge!(localized_fields(default_locale))
31
38
  fields.merge!(localized_asset_fields(default_locale)) if type == 'asset'
39
+ fields.merge!(contentful_timestamps) if Consyncful.configuration.preserve_contentful_timestamps
32
40
 
33
41
  fields
34
42
  end
35
43
 
36
44
  private
37
45
 
46
+ def item_tag_ids
47
+ return [] if @item.nil?
48
+
49
+ @item._metadata[:tags].map(&:id)
50
+ end
51
+
38
52
  def generic_fields
39
- { created_at: @item.created_at,
53
+ {
54
+ created_at: @item.created_at,
40
55
  updated_at: @item.updated_at,
41
56
  revision: @item.revision,
42
57
  contentful_type: type,
43
- synced_at: Time.current }
58
+ synced_at: Time.current
59
+ }
44
60
  end
45
61
 
46
62
  def localized_fields(default_locale)
@@ -94,11 +110,18 @@ module Consyncful
94
110
  if single_reference?(value)
95
111
  [ActiveSupport::Inflector.foreign_key(field).to_sym, value.id]
96
112
  elsif many_reference?(value)
97
- ids_field_name = field.to_s.singularize + '_ids' # fk field name
113
+ ids_field_name = "#{field.to_s.singularize}_ids" # fk field name
98
114
  [ids_field_name.to_sym, value.map(&:id)]
99
115
  else
100
116
  [field, value]
101
117
  end
102
118
  end
119
+
120
+ def contentful_timestamps
121
+ {
122
+ contentful_created_at: @item.created_at,
123
+ contentful_updated_at: @item.updated_at
124
+ }
125
+ end
103
126
  end
104
127
  end
@@ -15,7 +15,8 @@ module Consyncful
15
15
 
16
16
  def persist
17
17
  puts Rainbow("syncing: #{@item.id}").yellow
18
- if @item.deletion?
18
+
19
+ if @item.deletion? || @item.excluded_by_tag?
19
20
  delete_model(@item.id, @stats)
20
21
  else
21
22
  create_or_update_model(@item, @sync_id, @stats)
@@ -102,10 +102,11 @@ module Consyncful
102
102
  ids
103
103
  end
104
104
 
105
- def sync_item(item, stats)
106
- puts Rainbow("syncing: #{item.id}").yellow
107
- PersistedItem.new(item, id, stats).persist
108
- item.id
105
+ def sync_item(item_mapper, stats)
106
+ puts Rainbow("syncing: #{item_mapper.id}").yellow
107
+ PersistedItem.new(item_mapper, id, stats).persist
108
+
109
+ item_mapper.id
109
110
  end
110
111
  end
111
112
  end
@@ -19,7 +19,7 @@ namespace :consyncful do
19
19
  end
20
20
 
21
21
  task update_model_names: [:environment] do
22
- if Object.const_defined?('Zeitwerk::Loader') && Rails.application.config.autoloader.to_s == 'zeitwerk'
22
+ if Rails.autoloaders.zeitwerk_enabled?
23
23
  Zeitwerk::Loader.eager_load_all
24
24
  else
25
25
  Rails.application.eager_load!
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Consyncful
4
- VERSION = '0.6.1'
4
+ VERSION = '0.7.1'
5
5
  end
data/lib/consyncful.rb CHANGED
@@ -13,8 +13,13 @@ require 'consyncful/railtie' if defined?(Rails)
13
13
  module Consyncful
14
14
  # Handles Rails configurations for Consynful
15
15
  class Configuration
16
- attr_accessor :contentful_client_options, :locale,
17
- :mongo_client, :mongo_collection
16
+ attr_accessor :contentful_client_options,
17
+ :locale,
18
+ :mongo_client,
19
+ :mongo_collection,
20
+ :content_tags,
21
+ :ignore_content_tags,
22
+ :preserve_contentful_timestamps
18
23
 
19
24
  def initialize
20
25
  @contentful_client_options = {
@@ -23,6 +28,9 @@ module Consyncful
23
28
  @locale = 'en-NZ'
24
29
  @mongo_client = :default
25
30
  @mongo_collection = 'contentful_models'
31
+ @content_tags = []
32
+ @ignore_content_tags = []
33
+ @preserve_contentful_timestamps = false
26
34
  end
27
35
  end
28
36
 
metadata CHANGED
@@ -1,16 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: consyncful
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Anastasiadis-Gray
8
- - Montgomery Anderson
9
- - Greg Rogan
10
- autorequire:
8
+ autorequire:
11
9
  bindir: exe
12
10
  cert_chain: []
13
- date: 2021-04-27 00:00:00.000000000 Z
11
+ date: 2022-07-14 00:00:00.000000000 Z
14
12
  dependencies:
15
13
  - !ruby/object:Gem::Dependency
16
14
  name: bundler
@@ -72,16 +70,44 @@ dependencies:
72
70
  name: rubocop
73
71
  requirement: !ruby/object:Gem::Requirement
74
72
  requirements:
75
- - - '='
73
+ - - ">="
76
74
  - !ruby/object:Gem::Version
77
- version: 0.79.0
75
+ version: '0'
78
76
  type: :development
79
77
  prerelease: false
80
78
  version_requirements: !ruby/object:Gem::Requirement
81
79
  requirements:
82
- - - '='
80
+ - - ">="
83
81
  - !ruby/object:Gem::Version
84
- version: 0.79.0
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop-rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop-rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
85
111
  - !ruby/object:Gem::Dependency
86
112
  name: contentful
87
113
  requirement: !ruby/object:Gem::Requirement
@@ -150,21 +176,19 @@ dependencies:
150
176
  - - ">="
151
177
  - !ruby/object:Gem::Version
152
178
  version: '0'
153
- description:
179
+ description:
154
180
  email:
155
181
  - andy@boost.co.nz
156
- - montgomery@boost.co.nz
157
- - greg@boost.co.nz
158
182
  executables: []
159
183
  extensions: []
160
184
  extra_rdoc_files: []
161
185
  files:
186
+ - ".github/workflows/ci.yml"
162
187
  - ".gitignore"
163
188
  - ".rspec"
164
189
  - ".rubocop.yml"
165
190
  - ".rubocop_todo.yml"
166
191
  - ".ruby-version"
167
- - ".travis.yml"
168
192
  - Gemfile
169
193
  - Gemfile.lock
170
194
  - LICENSE.txt
@@ -187,8 +211,9 @@ files:
187
211
  homepage: https://github.com/boost/consyncful
188
212
  licenses:
189
213
  - MIT
190
- metadata: {}
191
- post_install_message:
214
+ metadata:
215
+ rubygems_mfa_required: 'true'
216
+ post_install_message:
192
217
  rdoc_options: []
193
218
  require_paths:
194
219
  - lib
@@ -196,15 +221,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
196
221
  requirements:
197
222
  - - ">="
198
223
  - !ruby/object:Gem::Version
199
- version: '0'
224
+ version: '2.7'
200
225
  required_rubygems_version: !ruby/object:Gem::Requirement
201
226
  requirements:
202
227
  - - ">="
203
228
  - !ruby/object:Gem::Version
204
229
  version: '0'
205
230
  requirements: []
206
- rubygems_version: 3.1.2
207
- signing_key:
231
+ rubygems_version: 3.2.32
232
+ signing_key:
208
233
  specification_version: 4
209
234
  summary: Contentful to local database synchronisation for Rails
210
235
  test_files: []
data/.travis.yml DELETED
@@ -1,14 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.5.1
7
- - 2.6.5
8
- before_install: gem install bundler -v 2.1.4
9
- services:
10
- - mongodb
11
-
12
- script:
13
- - bundle exec rake spec
14
- - bundle exec rubocop -P