@@ -87,7 +87,7 @@ def build_result(force_rebuild: false)
87
87
else
88
88
ts = Time . now . iso8601
89
89
versions_file . create (
90
- compact_index_public_versions ( ts ) , ts
90
+ compact_index_public_versions ( ts ) , ts . to_s . sub ( / \+ 00:00 \z / , "Z" )
91
91
)
92
92
@result = file . read
93
93
resource . save ( "versions.list" => @result )
@@ -176,14 +176,11 @@ def fetch_resource
176
176
177
177
def build_result
178
178
@result = CompactIndex . info ( requirements_and_dependencies )
179
- rescue Sequel ::DatabaseError => e
180
- raise "Error building info for #{ @name } \n \n ```sql\n #{ e . sql } \n ```\n "
181
179
end
182
180
183
181
private
184
182
185
183
def requirements_and_dependencies
186
- db_type = DB ::Rubygem . db . database_type
187
184
DB ::Rubygem . association_left_join ( versions : :dependencies ) .
188
185
where ( name : @name ) .
189
186
where { versions [ :indexed ] } .
@@ -192,24 +189,17 @@ def requirements_and_dependencies
192
189
[ versions [ :number ] , versions [ :platform ] , versions [ :sha256 ] , versions [ :info_checksum ] , versions [ :required_ruby_version ] , versions [ :required_rubygems_version ] , versions [ :created_at ] ]
193
190
end . # rubocop:disable Style/MultilineBlockChain
194
191
select_more do
195
- sa = case db_type
196
- when :sqlite then -> ( a , b ) { string_agg ( a , b ) }
197
- else -> ( a , b ) { Sequel . string_agg ( a , b ) }
198
- end
199
- [ sa . call ( dependencies [ :requirements ] , "@" ) . order ( dependencies [ :rubygem_name ] , dependencies [ :id ] ) . as ( :dep_req_agg ) ,
200
- sa . call ( dependencies [ :rubygem_name ] , "," ) . order ( dependencies [ :rubygem_name ] ) . as ( :dep_name_agg ) ]
192
+ [ coalesce ( Sequel . string_agg ( dependencies [ :requirements ] , "@" ) . order ( dependencies [ :rubygem_name ] , dependencies [ :id ] ) , "" ) . as ( :dep_req_agg ) ,
193
+ coalesce ( Sequel . string_agg ( dependencies [ :rubygem_name ] , "," ) . order ( dependencies [ :rubygem_name ] ) , "" ) . as ( :dep_name_agg ) ]
201
194
end . # rubocop:disable Style/MultilineBlockChain
202
195
map do |row |
203
- reqs = row [ :dep_req_agg ] & .split ( "@" )
204
- dep_names = row [ :dep_name_agg ] & .split ( "," )
196
+ reqs = row [ :dep_req_agg ] . split ( "@" )
197
+ dep_names = row [ :dep_name_agg ] . split ( "," )
205
198
206
- raise "Dependencies and requirements are not the same size:\n reqs: #{ reqs . inspect } \n dep_names: #{ dep_names . inspect } \n row: #{ row . inspect } " if dep_names & .size != reqs & .size
199
+ raise "Dependencies and requirements are not the same size:\n reqs: #{ reqs . inspect } \n dep_names: #{ dep_names . inspect } \n row: #{ row . inspect } " if dep_names . size != reqs . size
207
200
208
- deps = [ ]
209
- if reqs
210
- dep_names . zip ( reqs ) . each do |name , req |
211
- deps << CompactIndex ::Dependency . new ( name , req )
212
- end
201
+ deps = dep_names . zip ( reqs ) . map! do |name , req |
202
+ CompactIndex ::Dependency . new ( name , req )
213
203
end
214
204
215
205
CompactIndex ::GemVersion . new (
0 commit comments