fast_gettext 2.3.0 → 4.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fd142399ba76554f219419441c5591bcbaec03952fd4e9c78fe10d3a4853f13e
4
- data.tar.gz: f2bced062cbea2a26a5f516a827919d9b6a5851ac8cecd90fed2d1d3196d7f4b
3
+ metadata.gz: 4acb7c755790ac702f8f472e8fd137ea5f5941d7a84d558ae6c7b6895c28ee1d
4
+ data.tar.gz: 1f79c48bb9b42ca9ea1751603518e495566c2f324bacfecec63c7042e1b43033
5
5
  SHA512:
6
- metadata.gz: 4de75b912d96f43333ad82b6e4d6a185d883b23ace4d278ecd9aaca7670d751d17be1ed0413482f72296034b61b5cb1fe05261715f233cce07da5e776681fd13
7
- data.tar.gz: a6ae68e754d3d99cd9ecc2f9337683adc6883b13dbd21f74e8135eb41a6d3d94764b583383642b68dda890a0ca6979b688e23df243aad99dd28ab696d3a7eb56
6
+ metadata.gz: 2d101d14e01c57b78d1d1f2d4b1850b74b4c7e274e76beecee7c7e6b5bc517bab2a902dae7c59973c2cd9714a1d206c753bb8bd4d87a5588d6f816406db2ac1f
7
+ data.tar.gz: b1ae7b2d44cd33537bcd57f2453aa972aa72c60afac4f2cd124c69b6f00ce675d29669506508d170ab0a9ac8558cf40173311798bd30b8485c169745dc998d29
data/CHANGELOG CHANGED
@@ -1,3 +1,10 @@
1
+ 4.1.0 -- drop EOL rubies + add racc dependency
2
+ 4.0.0 -- Remove String#% hack that would make it not blow up when using invalid keys, can temporarily restore with `FastGettext.allow_invalid_keys!`
3
+ 3.1.0 -- Work with frozen strings
4
+ 3.0.0 -- Drop ruby 2.x support
5
+ 2.4.0 -- Depend on prime gem
6
+ 2.3.0 -- Load empty mo file only once
7
+ 2.2.0 -- Use update instead of update_attributes
1
8
  2.1.0 -- Remove taint checking https://github.com/grosser/fast_gettext/pull/133
2
9
  2.0.0 -- Changed p_ separator to \0004 https://github.com/grosser/fast_gettext/pull/107 add np and add gettext aliases
3
10
  1.6.0 -- Remove restrictions around yaml file names
data/Readme.md CHANGED
@@ -418,6 +418,7 @@ Mo/Po-file parsing from Masao Mutoh, see vendor/README
418
418
  - [morcoteg](https://github.com/morcoteg)
419
419
  - [Daniel Schepers](https://github.com/tall-dan)
420
420
  - [Robert Graff](https://github.com/rgraff)
421
+ - [Peter Leitzen](https://github.com/splattael)
421
422
 
422
423
  [Michael Grosser](http://grosser.it)<br/>
423
424
  michael@grosser.it<br/>
@@ -20,6 +20,7 @@
20
20
  # Changes: Namespaced + uses FastGettext::Icvon
21
21
 
22
22
  require 'stringio'
23
+ require 'prime'
23
24
 
24
25
  module FastGettext
25
26
  module GetText
@@ -46,8 +47,8 @@ module FastGettext
46
47
  :trans_sysdep_tab_offset
47
48
  end
48
49
 
49
- MAGIC_BIG_ENDIAN = "\x95\x04\x12\xde"
50
- MAGIC_LITTLE_ENDIAN = "\xde\x12\x04\x95"
50
+ MAGIC_BIG_ENDIAN = +"\x95\x04\x12\xde"
51
+ MAGIC_LITTLE_ENDIAN = +"\xde\x12\x04\x95"
51
52
  if "".respond_to?(:force_encoding)
52
53
  MAGIC_BIG_ENDIAN.force_encoding("ASCII-8BIT")
53
54
  MAGIC_LITTLE_ENDIAN.force_encoding("ASCII-8BIT")
@@ -167,19 +168,8 @@ module FastGettext
167
168
  ('1' * number) !~ /^1?$|^(11+?)\1+$/
168
169
  end
169
170
 
170
- begin
171
- require 'prime'
172
- def next_prime(seed)
173
- Prime.instance.find{|x| x > seed }
174
- end
175
- rescue LoadError
176
- def next_prime(seed)
177
- require 'mathn'
178
- prime = Prime.new
179
- while current = prime.succ
180
- return current if current > seed
181
- end
182
- end
171
+ def next_prime(seed)
172
+ Prime.instance.find{|x| x > seed }
183
173
  end
184
174
 
185
175
  HASHWORDBITS = 32
@@ -58,19 +58,3 @@ rescue ArgumentError
58
58
  end
59
59
  end
60
60
  end
61
-
62
- # 1.9.1 if you misspell a %{key} your whole page would blow up, no thanks...
63
- begin
64
- ("%{b}" % {:a=>'b'})
65
- rescue KeyError
66
- class String
67
- alias :_fast_gettext_old_format_m :%
68
- def %(*args)
69
- begin
70
- _fast_gettext_old_format_m(*args)
71
- rescue KeyError
72
- self
73
- end
74
- end
75
- end
76
- end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FastGettext
4
- VERSION = Version = '2.3.0' # rubocop:disable Naming/ConstantName
4
+ VERSION = Version = '4.1.0' # rubocop:disable Naming/ConstantName
5
5
  end
data/lib/fast_gettext.rb CHANGED
@@ -28,6 +28,22 @@ module FastGettext
28
28
  translation_repositories[name] = TranslationRepository.build(name, options)
29
29
  end
30
30
 
31
+ # deprecated, just a crutch to migrate to new api
32
+ def self.allow_invalid_keys!
33
+ eval(<<~CODE)
34
+ class ::String
35
+ alias :_fast_gettext_old_format_m :%
36
+ def %(*args)
37
+ begin
38
+ _fast_gettext_old_format_m(*args)
39
+ rescue KeyError
40
+ self
41
+ end
42
+ end
43
+ end
44
+ CODE
45
+ end
46
+
31
47
  # some repositories know where to store their locales
32
48
  def self.locale_path
33
49
  translation_repositories[text_domain].instance_variable_get(:@options)[:path]
metadata CHANGED
@@ -1,23 +1,22 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fast_gettext
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-02-16 00:00:00.000000000 Z
10
+ date: 2025-01-06 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: rake
13
+ name: prime
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
18
  version: '0'
20
- type: :development
19
+ type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
@@ -25,7 +24,21 @@ dependencies:
25
24
  - !ruby/object:Gem::Version
26
25
  version: '0'
27
26
  - !ruby/object:Gem::Dependency
28
- name: sqlite3
27
+ name: racc
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: rake
29
42
  requirement: !ruby/object:Gem::Requirement
30
43
  requirements:
31
44
  - - ">="
@@ -38,6 +51,20 @@ dependencies:
38
51
  - - ">="
39
52
  - !ruby/object:Gem::Version
40
53
  version: '0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: sqlite3
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '2.1'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '2.1'
41
68
  - !ruby/object:Gem::Dependency
42
69
  name: rspec
43
70
  requirement: !ruby/object:Gem::Requirement
@@ -150,7 +177,6 @@ dependencies:
150
177
  - - ">="
151
178
  - !ruby/object:Gem::Version
152
179
  version: '0'
153
- description:
154
180
  email: michael@grosser.it
155
181
  executables: []
156
182
  extensions: []
@@ -188,7 +214,6 @@ licenses:
188
214
  - MIT
189
215
  - Ruby
190
216
  metadata: {}
191
- post_install_message:
192
217
  rdoc_options: []
193
218
  require_paths:
194
219
  - lib
@@ -196,15 +221,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
196
221
  requirements:
197
222
  - - ">="
198
223
  - !ruby/object:Gem::Version
199
- version: 2.5.0
224
+ version: 3.2.0
200
225
  required_rubygems_version: !ruby/object:Gem::Requirement
201
226
  requirements:
202
227
  - - ">="
203
228
  - !ruby/object:Gem::Version
204
229
  version: '0'
205
230
  requirements: []
206
- rubygems_version: 3.3.3
207
- signing_key:
231
+ rubygems_version: 3.6.2
208
232
  specification_version: 4
209
233
  summary: A simple, fast, memory-efficient and threadsafe implementation of GetText
210
234
  test_files: []