qravan 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +7 -0
  2. data/.gitattributes +2 -0
  3. data/.gitignore +61 -0
  4. data/.rspec +3 -0
  5. data/.rspec_status +4 -0
  6. data/.rubocop.yml +13 -0
  7. data/CHANGELOG.md +5 -0
  8. data/Gemfile +5 -0
  9. data/Gemfile.lock +143 -0
  10. data/LICENSE +5 -0
  11. data/README.md +191 -0
  12. data/Rakefile +39 -0
  13. data/assets/images/qravan.png +0 -0
  14. data/assets/images/qravan_repo.png +0 -0
  15. data/bin/console +15 -0
  16. data/bin/setup +8 -0
  17. data/config.ru +46 -0
  18. data/examples/queries.md +114 -0
  19. data/exe/qravan +7 -0
  20. data/ext/qravan/extconf.rb +5 -0
  21. data/ext/qravan/qravan.c +9 -0
  22. data/ext/qravan/qravan.h +6 -0
  23. data/falcon.rb +12 -0
  24. data/lib/qravan/async_loader.rb +33 -0
  25. data/lib/qravan/cargo.rb +80 -0
  26. data/lib/qravan/credentials/request.rb +54 -0
  27. data/lib/qravan/credentials/response.rb +41 -0
  28. data/lib/qravan/credentials/signature.rb +30 -0
  29. data/lib/qravan/credentials/system.rb +33 -0
  30. data/lib/qravan/credentials.rb +29 -0
  31. data/lib/qravan/model.rb +20 -0
  32. data/lib/qravan/qravan.bundle +0 -0
  33. data/lib/qravan/query/request.rb +40 -0
  34. data/lib/qravan/query/response.rb +26 -0
  35. data/lib/qravan/query.rb +30 -0
  36. data/lib/qravan/resource/resource.rb +35 -0
  37. data/lib/qravan/source/db.rb +35 -0
  38. data/lib/qravan/source/rest.rb +36 -0
  39. data/lib/qravan/source.rb +27 -0
  40. data/lib/qravan/version.rb +35 -0
  41. data/lib/qravan.rb +25 -0
  42. data/logs/db.log +2660 -0
  43. data/models/base/1.0/model.yaml +32 -0
  44. data/models/base/current +1 -0
  45. data/models/current/.keep +0 -0
  46. data/models/current/model.yaml +158 -0
  47. data/models/vehicles/1.0/model.yaml +126 -0
  48. data/qravan.gemspec +48 -0
  49. data/sources/base/1.0/source.yaml +9 -0
  50. data/sources/base/current +1 -0
  51. data/sources/postgres/1.0/source.yaml +10 -0
  52. data/sources/postgres/current +1 -0
  53. data/sources/prostore/1.0/source.yaml +13 -0
  54. data/sources/prostore/current +1 -0
  55. metadata +296 -0
@@ -0,0 +1,32 @@
1
+ default_string: &ds
2
+ name: Строка
3
+ type:
4
+ - string
5
+ - STRING
6
+ length: 0
7
+ nullable: NULL
8
+ key: NONE
9
+ source: NONE
10
+
11
+ default_number: &dn
12
+ name: Число
13
+ type:
14
+ - integer
15
+ - INTEGER
16
+ length: 0
17
+ nullable: NULL
18
+ key: NONE
19
+ source: NONE
20
+
21
+ primary_key: &pk
22
+ name: Ключ
23
+ type:
24
+ - string
25
+ - STRING
26
+ length: 0
27
+ nullable: NULL
28
+ key: PRIMAY
29
+ source: NONE
30
+
31
+ base_model: &base_model
32
+ default_fields: &default_fields
@@ -0,0 +1 @@
1
+ models/base/1.0
File without changes
@@ -0,0 +1,158 @@
1
+ default_string: &ds
2
+ name: Строка
3
+ type:
4
+ - string
5
+ - STRING
6
+ length: 0
7
+ nullable: NULL
8
+ key: NONE
9
+ source: NONE
10
+
11
+ default_number: &dn
12
+ name: Число
13
+ type:
14
+ - integer
15
+ - INTEGER
16
+ length: 0
17
+ nullable: NULL
18
+ key: NONE
19
+ source: NONE
20
+
21
+ primary_key: &pk
22
+ name: Ключ
23
+ type:
24
+ - string
25
+ - STRING
26
+ length: 0
27
+ nullable: NULL
28
+ key: PRIMAY
29
+ source: NONE
30
+
31
+ base_model: &base_model
32
+ default_fields: &default_fields
33
+ resources:
34
+ # Водитель ---------------------
35
+ - driver: *base_model
36
+ name: Водитель
37
+ fields:
38
+ <<: *default_fields
39
+ Lastname: *ds
40
+ Firstname: *ds
41
+ Middlename: *ds
42
+ BirthDate: *ds
43
+ BirthRegionId: *ds
44
+ BirthRegion: *ds
45
+ BirthPlace: *ds
46
+ connections:
47
+ has_many:
48
+ - driver_license:
49
+ primary_key: [ LastName, FirstName, MiddleName, BirthDay ]
50
+ foreign_key: [ LastName, FirstName, MiddleName, BirthDay ]
51
+ - reason_document:
52
+ primary_key: [ LastName, FirstName, MiddleName, BirthDay ]
53
+ foreign_key: [ LastName, FirstName, MiddleName, BirthDay ]
54
+ - restriction:
55
+ primary_key: [ LastName, FirstName, MiddleName, BirthDay ]
56
+ foreign_key: [ LastName, FirstName, MiddleName, BirthDay ]
57
+ extract:
58
+ source:
59
+ name: prostore
60
+ table: smevql1.driverlicenseql3
61
+ # Водительское удостоверение ----------------------
62
+ - driver_license: *base_model
63
+ name: Водительское удостоверение
64
+ fields:
65
+ <<: *default_fields
66
+ LastName: *ds
67
+ FirstName: *ds
68
+ MiddleName: *ds
69
+ BirthDay: *ds
70
+ TypeId: *dn
71
+ Type: *ds
72
+ SerNum: *ds
73
+ LicenseSerNum: *ds
74
+ IssueDate: *ds
75
+ DueDate: *ds
76
+ Issuer: *ds
77
+ IssuerRegion: *ds
78
+ Categories: *ds
79
+ Experience: *ds
80
+ SpecMark: *ds
81
+ Photo: *ds
82
+ Status: *ds
83
+ OperationCode: *ds
84
+ OperationName: *ds
85
+ Id: *dn
86
+ IssuerCode: *ds
87
+ Region: *ds
88
+ CategoriesFull: *ds
89
+ DeprivationStatus: *ds
90
+ Qr: *ds
91
+ connections:
92
+ belongs_to:
93
+ - driver:
94
+ primary_key: [ LastName, FirstName, MiddleName, BirthDay ]
95
+ foreign_key: [ LastName, FirstName, MiddleName, BirthDay ]
96
+ - reason_document:
97
+ primary_key: SerNum
98
+ foreign_key: SerNum
99
+ extract:
100
+ source:
101
+ name: postgres
102
+ table: DriverLicense
103
+ # Документ-основание ----------------------
104
+ - reason_document: *base_model
105
+ name: Документ-основание
106
+ fields:
107
+ DocTypeId: *ds
108
+ DocType: *ds
109
+ SerNum: *ds
110
+ Issuer: *ds
111
+ IssueDate: *ds
112
+ DueDate: *ds
113
+ extract:
114
+ source: prostore
115
+ table: DriverLicense
116
+ # Документ удостоверяющий личность ----------------------
117
+ - identity_document: *base_model
118
+ name: Документ удостоверяющий личность
119
+ fields:
120
+ TypeId: *ds
121
+ Type: *ds
122
+ SerNum: *ds
123
+ IssueDate: *ds
124
+ extract:
125
+ source:
126
+ name: prostore
127
+ table: DriverLicense
128
+
129
+ # Ограничение
130
+ - restriction: *base_model
131
+ fields:
132
+ LastName: *ds
133
+ FirstName: *ds
134
+ MiddleName: *ds
135
+ LastNameNorm: *ds
136
+ FirstNameNorm: *ds
137
+ MiddleNameNorm: *ds
138
+ BirthDate: *ds
139
+ BirthPlace: *ds
140
+ DecreeDate: *ds
141
+ DecreeDeprivation: *ds
142
+ DecreeLawOrgan: *ds
143
+ DecreeInspector: *ds
144
+ DecreeLawDate: *ds
145
+ UnicNumber: *ds
146
+ Department: *ds
147
+ LastStageCode: *ds
148
+ LastStageName: *ds
149
+ LastStageDate: *ds
150
+ connections:
151
+ belongs_to:
152
+ - driver:
153
+ primary_key: [ LastName, FirstName, MiddleName, BirthDay ]
154
+ foreign_key: [ LastName, FirstName, MiddleName, BirthDay ]
155
+ extract:
156
+ source:
157
+ name: prostore
158
+ table: apn
@@ -0,0 +1,126 @@
1
+ resources:
2
+ # Водитель ---------------------
3
+ - driver: *base_model
4
+ name: Водитель
5
+ fields:
6
+ <<: *default_fields
7
+ Lastname: *ds
8
+ Firstname: *ds
9
+ Middlename: *ds
10
+ BirthDate: *ds
11
+ BirthRegionId: *ds
12
+ BirthRegion: *ds
13
+ BirthPlace: *ds
14
+ connections:
15
+ has_many:
16
+ - driver_license:
17
+ primary_key: [ LastName, FirstName, MiddleName, BirthDay ]
18
+ foreign_key: [ LastName, FirstName, MiddleName, BirthDay ]
19
+ - reason_document:
20
+ primary_key: [ LastName, FirstName, MiddleName, BirthDay ]
21
+ foreign_key: [ LastName, FirstName, MiddleName, BirthDay ]
22
+ - restriction:
23
+ primary_key: [ LastName, FirstName, MiddleName, BirthDay ]
24
+ foreign_key: [ LastName, FirstName, MiddleName, BirthDay ]
25
+ extract:
26
+ source:
27
+ name: prostore
28
+ table: smevql1.driverlicenseql3
29
+ # Водительское удостоверение ----------------------
30
+ - driver_license: *base_model
31
+ name: Водительское удостоверение
32
+ fields:
33
+ <<: *default_fields
34
+ LastName: *ds
35
+ FirstName: *ds
36
+ MiddleName: *ds
37
+ BirthDay: *ds
38
+ TypeId: *dn
39
+ Type: *ds
40
+ SerNum: *ds
41
+ LicenseSerNum: *ds
42
+ IssueDate: *ds
43
+ DueDate: *ds
44
+ Issuer: *ds
45
+ IssuerRegion: *ds
46
+ Categories: *ds
47
+ Experience: *ds
48
+ SpecMark: *ds
49
+ Photo: *ds
50
+ Status: *ds
51
+ OperationCode: *ds
52
+ OperationName: *ds
53
+ Id: *dn
54
+ IssuerCode: *ds
55
+ Region: *ds
56
+ CategoriesFull: *ds
57
+ DeprivationStatus: *ds
58
+ Qr: *ds
59
+ connections:
60
+ belongs_to:
61
+ - driver:
62
+ primary_key: [ LastName, FirstName, MiddleName, BirthDay ]
63
+ foreign_key: [ LastName, FirstName, MiddleName, BirthDay ]
64
+ - reason_document:
65
+ primary_key: SerNum
66
+ foreign_key: SerNum
67
+ extract:
68
+ source:
69
+ name: postgres
70
+ table: DriverLicense
71
+ # Документ-основание ----------------------
72
+ - reason_document: *base_model
73
+ name: Документ-основание
74
+ fields:
75
+ DocTypeId: *ds
76
+ DocType: *ds
77
+ SerNum: *ds
78
+ Issuer: *ds
79
+ IssueDate: *ds
80
+ DueDate: *ds
81
+ extract:
82
+ source: prostore
83
+ table: DriverLicense
84
+ # Документ удостоверяющий личность ----------------------
85
+ - identity_document: *base_model
86
+ name: Документ удостоверяющий личность
87
+ fields:
88
+ TypeId: *ds
89
+ Type: *ds
90
+ SerNum: *ds
91
+ IssueDate: *ds
92
+ extract:
93
+ source:
94
+ name: prostore
95
+ table: DriverLicense
96
+
97
+ # Ограничение
98
+ - restriction: *base_model
99
+ fields:
100
+ LastName: *ds
101
+ FirstName: *ds
102
+ MiddleName: *ds
103
+ LastNameNorm: *ds
104
+ FirstNameNorm: *ds
105
+ MiddleNameNorm: *ds
106
+ BirthDate: *ds
107
+ BirthPlace: *ds
108
+ DecreeDate: *ds
109
+ DecreeDeprivation: *ds
110
+ DecreeLawOrgan: *ds
111
+ DecreeInspector: *ds
112
+ DecreeLawDate: *ds
113
+ UnicNumber: *ds
114
+ Department: *ds
115
+ LastStageCode: *ds
116
+ LastStageName: *ds
117
+ LastStageDate: *ds
118
+ connections:
119
+ belongs_to:
120
+ - driver:
121
+ primary_key: [ LastName, FirstName, MiddleName, BirthDay ]
122
+ foreign_key: [ LastName, FirstName, MiddleName, BirthDay ]
123
+ extract:
124
+ source:
125
+ name: prostore
126
+ table: apn
data/qravan.gemspec ADDED
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/qravan/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "qravan"
7
+ spec.version = Qravan::VERSION
8
+ spec.authors = ["apanasenkov@capaa.ru"]
9
+ spec.email = ["apanasenkov@capaa.ru"]
10
+
11
+ spec.summary = "Qravan simple API server for data requests."
12
+ spec.homepage = "https://qravan.ru"
13
+ spec.required_ruby_version = ">= 3.0.2"
14
+
15
+ spec.metadata["homepage_uri"] = spec.homepage
16
+ spec.metadata["source_code_uri"] = "https://github.com/capaas/qravan"
17
+ spec.metadata["changelog_uri"] = "https://github.com/capaas/qravan/CHANGELOG.md"
18
+
19
+ # Specify which files should be added to the gem when it is released.
20
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
21
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
22
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
23
+ end
24
+ spec.bindir = "exe"
25
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
26
+ spec.require_paths = ["lib"]
27
+ spec.extensions = ["ext/qravan/extconf.rb"]
28
+
29
+ # Uncomment to register a new dependency of your gem
30
+ spec.add_dependency "rack", "~> 3.0.2"
31
+ spec.add_dependency "rack-unreloader", ">= 1.8"
32
+
33
+ spec.add_dependency "async", "~> 1.30.1"
34
+ spec.add_dependency "async-http", "~> 0.59.2"
35
+ spec.add_dependency "async-io", "~> 1.34.1"
36
+ spec.add_dependency "async-sequel", "~> 0.1.0"
37
+ spec.add_dependency "falcon", "~> 0.42.3"
38
+ spec.add_dependency "logger", ">=1.5.3"
39
+ spec.add_dependency "rake", "~> 13.0"
40
+ spec.add_dependency "redis", "~>5.0.5"
41
+ spec.add_dependency "rspec", "~> 3.0"
42
+ spec.add_dependency "rubocop", "~> 1.7"
43
+ spec.add_dependency "sequel", ">= 5.62"
44
+ spec.add_dependency "sequel_pg", ">= 1.8"
45
+
46
+ # For more information and examples about making a new gem, checkout our
47
+ # guide at: https://bundler.io/guides/creating_gem.html
48
+ end
@@ -0,0 +1,9 @@
1
+ default_source: &default_source
2
+ type: db
3
+ adapter: postgres
4
+ user: smevql
5
+ password: smevql
6
+ host: localhost
7
+ port: 5432
8
+ database: smevql
9
+ max_connections: 150
@@ -0,0 +1 @@
1
+ sources/base/1.0
@@ -0,0 +1,10 @@
1
+ postgres_source:
2
+ type: db
3
+ version: 1.0
4
+ adapter: postgres
5
+ user: smevql
6
+ password: smevql
7
+ host: localhost
8
+ port: 5432
9
+ database: smevql
10
+ max_connections: 10
@@ -0,0 +1 @@
1
+ sources/postgres/1.0
@@ -0,0 +1,13 @@
1
+ prostore_source:
2
+ type: rest
3
+ version: 1.0
4
+ adapter: prostore
5
+ protocol: http
6
+ host: localhost
7
+ port: 9090
8
+ path: api/v1/datamarts/query?format=json
9
+ template: '{ "query": "%{request}" }'
10
+ payload-path: result
11
+ headers:
12
+ - accept: application/json
13
+ - content-type: application/json
@@ -0,0 +1 @@
1
+ sources/prostore/1.0
metadata ADDED
@@ -0,0 +1,296 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: qravan
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - apanasenkov@capaa.ru
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2023-01-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rack
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 3.0.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 3.0.2
27
+ - !ruby/object:Gem::Dependency
28
+ name: rack-unreloader
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '1.8'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '1.8'
41
+ - !ruby/object:Gem::Dependency
42
+ name: async
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 1.30.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.30.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: async-http
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.59.2
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.59.2
69
+ - !ruby/object:Gem::Dependency
70
+ name: async-io
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 1.34.1
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 1.34.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: async-sequel
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.1.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.1.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: falcon
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.42.3
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.42.3
111
+ - !ruby/object:Gem::Dependency
112
+ name: logger
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: 1.5.3
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: 1.5.3
125
+ - !ruby/object:Gem::Dependency
126
+ name: rake
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '13.0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '13.0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: redis
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 5.0.5
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 5.0.5
153
+ - !ruby/object:Gem::Dependency
154
+ name: rspec
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '3.0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '3.0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: rubocop
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '1.7'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '1.7'
181
+ - !ruby/object:Gem::Dependency
182
+ name: sequel
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '5.62'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '5.62'
195
+ - !ruby/object:Gem::Dependency
196
+ name: sequel_pg
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '1.8'
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '1.8'
209
+ description:
210
+ email:
211
+ - apanasenkov@capaa.ru
212
+ executables:
213
+ - qravan
214
+ extensions:
215
+ - ext/qravan/extconf.rb
216
+ extra_rdoc_files: []
217
+ files:
218
+ - ".gitattributes"
219
+ - ".gitignore"
220
+ - ".rspec"
221
+ - ".rspec_status"
222
+ - ".rubocop.yml"
223
+ - CHANGELOG.md
224
+ - Gemfile
225
+ - Gemfile.lock
226
+ - LICENSE
227
+ - README.md
228
+ - Rakefile
229
+ - assets/images/qravan.png
230
+ - assets/images/qravan_repo.png
231
+ - bin/console
232
+ - bin/setup
233
+ - config.ru
234
+ - examples/queries.md
235
+ - exe/qravan
236
+ - ext/qravan/extconf.rb
237
+ - ext/qravan/qravan.c
238
+ - ext/qravan/qravan.h
239
+ - falcon.rb
240
+ - lib/qravan.rb
241
+ - lib/qravan/async_loader.rb
242
+ - lib/qravan/cargo.rb
243
+ - lib/qravan/credentials.rb
244
+ - lib/qravan/credentials/request.rb
245
+ - lib/qravan/credentials/response.rb
246
+ - lib/qravan/credentials/signature.rb
247
+ - lib/qravan/credentials/system.rb
248
+ - lib/qravan/model.rb
249
+ - lib/qravan/qravan.bundle
250
+ - lib/qravan/query.rb
251
+ - lib/qravan/query/request.rb
252
+ - lib/qravan/query/response.rb
253
+ - lib/qravan/resource/resource.rb
254
+ - lib/qravan/source.rb
255
+ - lib/qravan/source/db.rb
256
+ - lib/qravan/source/rest.rb
257
+ - lib/qravan/version.rb
258
+ - logs/db.log
259
+ - models/base/1.0/model.yaml
260
+ - models/base/current
261
+ - models/current/.keep
262
+ - models/current/model.yaml
263
+ - models/vehicles/1.0/model.yaml
264
+ - qravan.gemspec
265
+ - sources/base/1.0/source.yaml
266
+ - sources/base/current
267
+ - sources/postgres/1.0/source.yaml
268
+ - sources/postgres/current
269
+ - sources/prostore/1.0/source.yaml
270
+ - sources/prostore/current
271
+ homepage: https://qravan.ru
272
+ licenses: []
273
+ metadata:
274
+ homepage_uri: https://qravan.ru
275
+ source_code_uri: https://github.com/capaas/qravan
276
+ changelog_uri: https://github.com/capaas/qravan/CHANGELOG.md
277
+ post_install_message:
278
+ rdoc_options: []
279
+ require_paths:
280
+ - lib
281
+ required_ruby_version: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: 3.0.2
286
+ required_rubygems_version: !ruby/object:Gem::Requirement
287
+ requirements:
288
+ - - ">="
289
+ - !ruby/object:Gem::Version
290
+ version: '0'
291
+ requirements: []
292
+ rubygems_version: 3.2.22
293
+ signing_key:
294
+ specification_version: 4
295
+ summary: Qravan simple API server for data requests.
296
+ test_files: []