spellr 0.9.0 → 0.9.1

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: 60659d04d7461c60fc7880fe44fa4af1d6b852511affaef3722d8bca7902bebe
4
- data.tar.gz: 6327cb52ae02517918e886b774311f09270dc1e96166361962c49f9f01f28506
3
+ metadata.gz: 901a89f14415b3993f210ac2f0f94cb82efdbfc55565f8e1c9fd51347790b3d6
4
+ data.tar.gz: 113d25fcdfc5d70c9e50f4a061092728c1349452e88e0dd0d6268d10851c47b9
5
5
  SHA512:
6
- metadata.gz: 1aadb5c07c9ce3fa8899be299810480034d1bfed1e93aa9fe0e07192edb9cac21e8c505908da7757badb0190da5d0251c47cf135306aa60cde8abbee2a4e3db8
7
- data.tar.gz: 7fc321f6665f93c4093a46748781eb59ce56930c334298670e5592d63887e97092bc2ab49394ab08f143d8a84a213e4df76a149b6f97065b51f78feebc56e91c
6
+ metadata.gz: adcfec5ea17125517f445fb7e895b5ee049d1540f7626ab5c55d835d600b149d844b9a052f2324784038f5098a392a8f51b16d01c56ace9cffa773b34e27bbca
7
+ data.tar.gz: 922c16526b3e0dd8600ca5ef836de2419dda0237e3b3c2d8a2674d1ca7b0f0dcebf1fe0d0deded671522ee526c7e185a338ef98e762c4385e00b25f8e3ae94e8
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ # v0.9.1
2
+ - Assume all files are utf8, more comprehensively. (Sets ::Encoding.default_external and default_internal while running)
3
+
1
4
  # v0.9.0
2
5
  - Recognize url with _ in query string and zero length path
3
6
  - Assume all files are utf8
data/exe/spellr CHANGED
@@ -3,4 +3,7 @@
3
3
 
4
4
  require_relative '../lib/spellr/cli'
5
5
 
6
+ ::Encoding.default_external = ::Encoding::UTF_8
7
+ ::Encoding.default_internal = ::Encoding::UTF_8
8
+
6
9
  exit Spellr::CLI.new(ARGV).run
@@ -32,7 +32,7 @@ module Spellr
32
32
  def load_yaml(path)
33
33
  return {} unless ::File.exist?(path)
34
34
 
35
- YAML.safe_load(::File.read(path, encoding: ::Encoding::UTF_8), symbolize_names: true)
35
+ YAML.safe_load(::File.read(path), symbolize_names: true)
36
36
  end
37
37
 
38
38
  def merge_config(default, project) # rubocop:disable Metrics/MethodLength
data/lib/spellr/file.rb CHANGED
@@ -34,7 +34,7 @@ module Spellr
34
34
  end
35
35
 
36
36
  def read_write
37
- write(yield(read(encoding: ::Encoding::UTF_8)), encoding: ::Encoding::UTF_8)
37
+ write(yield read)
38
38
  end
39
39
  end
40
40
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'rake'
4
- require 'spellr/cli'
5
4
  require 'shellwords'
6
5
 
7
6
  module Spellr
@@ -36,11 +35,13 @@ module Spellr
36
35
  desc("Run spellr (default args: #{escaped_argv})")
37
36
  end
38
37
 
39
- def define_task
38
+ def define_task # rubocop:disable Metrics/MethodLength
40
39
  task(@name, :'*args') do |_, task_argv|
41
- argv = argv_or_default(task_argv)
42
- write_cli_cmd(argv)
43
- run(argv)
40
+ with_utf_8 do
41
+ argv = argv_or_default(task_argv)
42
+ write_cli_cmd(argv)
43
+ run(argv)
44
+ end
44
45
  end
45
46
  end
46
47
 
@@ -49,6 +50,7 @@ module Spellr
49
50
  end
50
51
 
51
52
  def run(argv)
53
+ require 'spellr/cli'
52
54
  status = Spellr::CLI.new(argv).run
53
55
  exit 1 unless status == 0
54
56
  end
@@ -57,5 +59,15 @@ module Spellr
57
59
  task_argv = task_argv.to_a.compact
58
60
  task_argv.empty? ? @default_argv : task_argv
59
61
  end
62
+
63
+ def with_utf_8 # rubocop:disable Metrics/MethodLength
64
+ old_default_external = ::Encoding.default_external
65
+ old_default_internal = ::Encoding.default_internal
66
+ ::Encoding.default_external = ::Encoding::UTF_8
67
+ ::Encoding.default_internal = ::Encoding::UTF_8
68
+ yield
69
+ ::Encoding.default_external = old_default_external
70
+ ::Encoding.default_internal = old_default_internal
71
+ end
60
72
  end
61
73
  end
@@ -27,7 +27,7 @@ module Spellr
27
27
  end
28
28
 
29
29
  def each_term(&block)
30
- file.each_line(encoding: ::Encoding::UTF_8) do |line|
30
+ file.each_line do |line|
31
31
  prepare_tokenizer_for_line(line)&.each_term(&block)
32
32
  end
33
33
  ensure
@@ -56,14 +56,12 @@ module Spellr
56
56
  char_offset = @start_at.line_location.char_offset
57
57
  byte_offset = @start_at.line_location.byte_offset
58
58
 
59
- file
60
- .each_line(encoding: ::Encoding::UTF_8)
61
- .with_index(@start_at.line_location.line_number) do |line, line_number|
62
- yield line, line_number, char_offset, byte_offset
59
+ file.each_line.with_index(@start_at.line_location.line_number) do |line, line_number|
60
+ yield line, line_number, char_offset, byte_offset
63
61
 
64
- char_offset += line.length
65
- byte_offset += line.bytesize
66
- end
62
+ char_offset += line.length
63
+ byte_offset += line.bytesize
64
+ end
67
65
  ensure
68
66
  file.close
69
67
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Spellr
4
- VERSION = '0.9.0'
4
+ VERSION = '0.9.1'
5
5
  end
@@ -41,7 +41,7 @@ module Spellr
41
41
  touch
42
42
  @include[term] = true
43
43
  insert_sorted(term)
44
- @path.write(words.join, encoding: ::Encoding::UTF_8) # we don't need to clear the cache
44
+ @path.write(words.join) # we don't need to clear the cache
45
45
  end
46
46
 
47
47
  def words
@@ -55,7 +55,7 @@ module Spellr
55
55
  end
56
56
 
57
57
  def write(content)
58
- @path.write(content, encoding: ::Encoding::UTF_8)
58
+ @path.write(content)
59
59
 
60
60
  clear_cache
61
61
  end
@@ -70,7 +70,7 @@ module Spellr
70
70
  return if exist?
71
71
 
72
72
  @path.dirname.mkpath
73
- @path.write('', encoding: ::Encoding::UTF_8)
73
+ @path.write('')
74
74
  clear_cache
75
75
  end
76
76
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spellr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dana Sherson
@@ -266,7 +266,6 @@ files:
266
266
  - lib/spellr/rake_task.rb
267
267
  - lib/spellr/reporter.rb
268
268
  - lib/spellr/string_format.rb
269
- - lib/spellr/stringio_with_encoding.rb
270
269
  - lib/spellr/token.rb
271
270
  - lib/spellr/token_regexps.rb
272
271
  - lib/spellr/tokenizer.rb
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Spellr
4
- class StringIOWithEncoding < ::StringIO
5
- def each_line(*args, encoding: nil, **kwargs, &block)
6
- string.force_encoding(encoding) if encoding && !string.frozen?
7
-
8
- super(*args, **kwargs, &block)
9
- end
10
- end
11
- end