crystalruby 0.2.1 → 0.2.2

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: eeae38802618342fade685584872134cd905229adfe493619130bf008c649390
4
- data.tar.gz: ff35b13a1ff26f2aa42063a91ebfea888efd03ffd4fabb32911baf70557a3cdb
3
+ metadata.gz: a42a64a49b31ff6fe0ca8e300eba350d73e0b5b0f8c3e2ebbaf69f042f870987
4
+ data.tar.gz: be38f7bd47ed57ff0bed8b44c5ca110aeaef3188ff3e87e2c916f28e2a0ffb13
5
5
  SHA512:
6
- metadata.gz: 43b28e5a1739a80ebe77064612fbf11024d9b6f7a9e3fd4357a0d3c6d99f90322953b34b484d7b8c010e40336fa1ba2d64bb4c59ec59bd0cef2ebaaea1fefd65
7
- data.tar.gz: 70a9068038a5bc107ab6beb398491dd04cec70c2bf402dda35c80e70282033c2a1e7da482a15a0f378676835daee3eb220af66d02ab98a4d2be7991fb18d818d
6
+ metadata.gz: d0b9a4328268e9e73d03ca080697e1296f0a8d491a78212c8dd39f1d54f3bee03f31dc4d0eac03426b109d8ccbd6ae77948ac137303953b5bd7257420c085b6b
7
+ data.tar.gz: 74f3843047960b390647a097ba44480db4b25d207ebfe27bb51a2eb5ce35d97bec1ef458dbdcaa75574506da5cfb5fa1b76958a28828b563f50c33133bcec410
@@ -81,7 +81,7 @@ module CrystalRuby
81
81
  end
82
82
 
83
83
  def lib_file
84
- lib_dir / "#{name}_#{digest}"
84
+ lib_dir / FFI::LibraryPath.new("#{name}#{config.debug ? "-debug" : ""}", abi_number: digest).to_s
85
85
  end
86
86
 
87
87
  def shard_file
@@ -168,15 +168,20 @@ module CrystalRuby
168
168
  chunks.delete_if { |chnk| chnk[:module_name] == module_name && chnk[:chunk_name] == chunk_name }
169
169
  chunks << { module_name: module_name, chunk_name: chunk_name, body: body }
170
170
  existing = Dir.glob(codegen_dir / "**/*.cr")
171
+
172
+ current_index_contents = index_contents
171
173
  chunks.each do |chunk|
172
174
  module_name, chunk_name, body = chunk.values_at(:module_name, :chunk_name, :body)
173
175
 
174
176
  file_digest = Digest::MD5.hexdigest body
175
177
  filename = (codegen_dir / module_name / "#{chunk_name}_#{file_digest}.cr").to_s
176
178
 
177
- unless existing.delete(filename)
179
+ unless current_index_contents.include?("#{module_name}/#{chunk_name}_#{file_digest}.cr")
178
180
  methods.each_value(&:unattach!)
179
181
  @compiled = false
182
+ end
183
+
184
+ unless existing.delete(filename)
180
185
  FileUtils.mkdir_p(codegen_dir / module_name)
181
186
  File.write(filename, body)
182
187
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Crystalruby
4
- VERSION = "0.2.1"
4
+ VERSION = "0.2.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crystalruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wouter Coppieters