lexicon-common 0.1.0 → 0.2.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.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lexicon-common
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ekylibre developers
@@ -38,6 +38,34 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: concurrent-ruby
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.1'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: corindon
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.8.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.8.0
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: json_schemer
43
71
  requirement: !ruby/object:Gem::Requirement
@@ -165,14 +193,22 @@ files:
165
193
  - lib/lexicon/common/mixin/container_aware.rb
166
194
  - lib/lexicon/common/mixin/finalizable.rb
167
195
  - lib/lexicon/common/mixin/logger_aware.rb
196
+ - lib/lexicon/common/mixin/nameable.rb
168
197
  - lib/lexicon/common/mixin/schema_namer.rb
169
198
  - lib/lexicon/common/package/directory_package_loader.rb
170
199
  - lib/lexicon/common/package/package.rb
171
- - lib/lexicon/common/package/package_builder.rb
200
+ - lib/lexicon/common/package/package_file.rb
172
201
  - lib/lexicon/common/package/package_integrity_validator.rb
173
- - lib/lexicon/common/package/source_file_set.rb
202
+ - lib/lexicon/common/package/v1/package.rb
203
+ - lib/lexicon/common/package/v1/package_builder.rb
204
+ - lib/lexicon/common/package/v1/source_file_set.rb
205
+ - lib/lexicon/common/package/v2/package.rb
206
+ - lib/lexicon/common/package/v2/package_builder.rb
207
+ - lib/lexicon/common/package/v2/source_file_set.rb
174
208
  - lib/lexicon/common/production/datasource_loader.rb
175
209
  - lib/lexicon/common/production/file_loader.rb
210
+ - lib/lexicon/common/production/table_locker.rb
211
+ - lib/lexicon/common/psql.rb
176
212
  - lib/lexicon/common/remote/package_downloader.rb
177
213
  - lib/lexicon/common/remote/package_uploader.rb
178
214
  - lib/lexicon/common/remote/remote_base.rb
@@ -1,68 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lexicon
4
- module Common
5
- module Package
6
- class PackageBuilder < Package
7
- def initialize(version:, dir:)
8
- super(
9
- file_sets: [],
10
- version: version,
11
- dir: dir,
12
- checksum_file: dir.join(CHECKSUM_FILE_NAME),
13
- spec_file: dir.join(SPEC_FILE_NAME)
14
- )
15
-
16
- FileUtils.mkdir_p(data_dir)
17
- end
18
-
19
- # @param [String] id
20
- # @param [String] name
21
- # @param [Pathname] structure
22
- # Takes ownership of the file (moves it to the correct folder)
23
- # @param [Array<String>] tables
24
- # @param [Pathname] data
25
- # Takes ownership of the file (moves it to the correct folder)
26
- # @param [String] data_ext
27
- def add_file_set(id, name:, structure:, tables:, data: nil, data_ext: '.sql')
28
- # @type [Pathname] structure_file_path
29
- structure_file_path = data_dir.join(structure_file_name(id))
30
- FileUtils.mv(structure.to_s, structure_file_path.to_s)
31
-
32
- # @type [Pathname] data_file_path
33
- data_name = if data.nil?
34
- nil
35
- else
36
- dname = data_file_name(id, data_ext)
37
- path = data_dir.join(dname)
38
- FileUtils.mv(data, path)
39
-
40
- dname
41
- end
42
-
43
- file_sets << SourceFileSet.new(
44
- id: id,
45
- name: name,
46
- structure: structure_file_name(id),
47
- data: data.nil? ? nil : data_name,
48
- tables: tables
49
- )
50
- end
51
-
52
- def as_package
53
- Package.new(version: version, dir: dir, file_sets: file_sets, checksum_file: checksum_file, spec_file: spec_file)
54
- end
55
-
56
- private
57
-
58
- def data_file_name(id, ext)
59
- "#{id}#{ext}"
60
- end
61
-
62
- def structure_file_name(id)
63
- "#{id}__structure.sql"
64
- end
65
- end
66
- end
67
- end
68
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lexicon
4
- module Common
5
- module Package
6
- class SourceFileSet
7
- attr_reader :id, :name, :structure_path, :data_path, :tables
8
-
9
- # @param [String] id
10
- # @param [String] name
11
- # @param [String] structure
12
- # @param [String] data
13
- # @param [Array<String>] tables
14
- def initialize(id:, name:, structure:, data:, tables:)
15
- @id = id
16
- @name = name
17
- @structure_path = structure
18
- @data_path = data
19
- @tables = tables
20
- end
21
- end
22
- end
23
- end
24
- end