tins 1.48.0 → 1.49.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: e6498c3e89e39b8351e408abc526110d4a67b7666990a100657ebcb30d626312
4
- data.tar.gz: a131c7c65f440c56fbfd295478acb9400ccaf27e2b07e43ea8e4e6b17f89bdd9
3
+ metadata.gz: fa1d017de1e131e88ad3f54ae37abc4ff5020399f48a5fd97d3fd19a3ffca6e9
4
+ data.tar.gz: 50233d748b6362c332e51089923a6ef49f7e2e07044fa7f5843761adac219b0f
5
5
  SHA512:
6
- metadata.gz: 2905a2fa59926a1406cbbfc2ffcf5d68f536558287e852a701b61f9df0f7dfd4e9cd98e62113806cd44015ac26bb0187a55314f6a0246c97baa4ec9bb2aad848
7
- data.tar.gz: c5bbe5c05a230bcf2127355e021ca2c90d72ccab8260543b11f8dfd9664746ffc1ea667f7cf7433e2a740e60a51aa4b199cd614e0f811f89086bca4adf0112b8
6
+ metadata.gz: 6318e15f121a8924c548d793f92f28b1eaae0688b0c26a347501fd57f0e493c49edeff0501a5bc0b977ecde21d1eadc7a4adae335a3de9f542cedaf6956e2289
7
+ data.tar.gz: 768135b3fc2f635a728fcc14c5fc4d0648cfba85c973072a53557ae5c60fb00587af96944066a4bd9df0773b0dab066d540f0197e040b861064eedceaf27231e
data/lib/tins/unit.rb CHANGED
@@ -26,6 +26,18 @@ module Tins
26
26
  '', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y',
27
27
  ].each_with_index.map { |n, i| Prefix.new(n.freeze, 1024, 1024 ** i, false) }.freeze
28
28
 
29
+ # An array of prefix objects for uppercase binary prefixes (Ki, Mi, Gi...) based
30
+ # on 1024-step increments.
31
+ PREFIX_IEC_UC = [
32
+ '', 'Ki', 'Mi', 'Gi', 'Ti', 'Pi', 'Ei', 'Zi', 'Yi',
33
+ ].each_with_index.map { |n, i| Prefix.new(n.freeze, 1024, 1024 ** i, false) }.freeze
34
+
35
+ # An array of prefix objects for uppercase SI unit prefixes (K, M, G...) based
36
+ # on 1000-step increments.
37
+ PREFIX_SI_UC = [
38
+ '', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y',
39
+ ].each_with_index.map { |n, i| Prefix.new(n.freeze, 1000, 1000 ** i, false) }.freeze
40
+
29
41
  # An array of prefix objects for fractional prefixes (m, µ, n...) based on
30
42
  # 1000-step decrements.
31
43
  PREFIX_F = [
@@ -51,10 +63,14 @@ module Tins
51
63
  case identifier
52
64
  when :uppercase, :uc, 1024
53
65
  PREFIX_UC
66
+ when :iec_uppercase, :iec_uc
67
+ PREFIX_IEC_UC
54
68
  when :lowercase, :lc, 1000
55
69
  PREFIX_LC
56
- when :fraction, :f, 0.001
70
+ when :fraction, :f, :si_greek, 0.001
57
71
  PREFIX_F
72
+ when :si_uc, :si_uppercase
73
+ PREFIX_SI_UC
58
74
  when Array
59
75
  identifier
60
76
  end
data/lib/tins/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Tins
2
2
  # Tins version
3
- VERSION = '1.48.0'
3
+ VERSION = '1.49.0'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
data/tests/unit_test.rb CHANGED
@@ -15,6 +15,11 @@ module Tins
15
15
  assert_equal Tins::Unit::PREFIX_F, prefixes(0.001)
16
16
  assert_equal Tins::Unit::PREFIX_F, prefixes(:f)
17
17
  assert_equal Tins::Unit::PREFIX_F, prefixes(:fraction)
18
+ assert_equal Tins::Unit::PREFIX_F, prefixes(:si_greek)
19
+ assert_equal Tins::Unit::PREFIX_SI_UC, prefixes(:si_uc)
20
+ assert_equal Tins::Unit::PREFIX_SI_UC, prefixes(:si_uppercase)
21
+ assert_equal Tins::Unit::PREFIX_IEC_UC, prefixes(:iec_uc)
22
+ assert_equal Tins::Unit::PREFIX_IEC_UC, prefixes(:iec_uppercase)
18
23
  assert_equal nil, prefixes(:nix)
19
24
  end
20
25
 
@@ -42,6 +47,19 @@ module Tins
42
47
  format(0.000_000_123, format: '%.3f %U', prefix: :f, unit: ?F)
43
48
  end
44
49
 
50
+ def test_format_si_multipliers
51
+ assert_equal '23 KHz',
52
+ format(23 * 1000, format: '%d %U', prefix: :si_uc, unit: 'Hz')
53
+ assert_equal '-23 KHz',
54
+ format(-23 * 1000, format: '%d %U', prefix: :si_uc, unit: 'Hz')
55
+ assert_equal '23.1 KHz',
56
+ format(23 * 1000 + 111, format: '%.1f %U', prefix: :si_uc, unit: 'Hz')
57
+ assert_equal 'KHz: 23',
58
+ format(23 * 1000, format: '%U: %d', prefix: :si_uc, unit: 'Hz')
59
+ assert_equal 'KHz: 23.12',
60
+ format(23 * 1000 + 120, prefix: :si_uc, format: '%U: %.2f', unit: 'Hz')
61
+ end
62
+
45
63
  def test_parse
46
64
  assert_in_delta 17_301_504, parse('16.5 Mb').to_i, 1e-5
47
65
  assert_in_delta 16_500_000, parse('16.5 mbps', unit: 'bps').to_i, 1e-5
data/tins.gemspec CHANGED
@@ -1,9 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: tins 1.48.0 ruby lib
2
+ # stub: tins 1.49.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "tins".freeze
6
- s.version = "1.48.0".freeze
6
+ s.version = "1.49.0".freeze
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.licenses = ["MIT".freeze]
18
18
  s.rdoc_options = ["--title".freeze, "Tins - Useful stuff.".freeze, "--main".freeze, "README.md".freeze]
19
19
  s.required_ruby_version = Gem::Requirement.new(">= 3.1".freeze)
20
- s.rubygems_version = "3.7.2".freeze
20
+ s.rubygems_version = "4.0.2".freeze
21
21
  s.summary = "Useful stuff.".freeze
22
22
  s.test_files = ["tests/annotate_test.rb".freeze, "tests/ask_and_send_test.rb".freeze, "tests/attempt_test.rb".freeze, "tests/bijection_test.rb".freeze, "tests/blank_full_test.rb".freeze, "tests/case_predicate_test.rb".freeze, "tests/concern_test.rb".freeze, "tests/date_dummy_test.rb".freeze, "tests/date_time_dummy_test.rb".freeze, "tests/deep_dup_test.rb".freeze, "tests/delegate_test.rb".freeze, "tests/deprecate_test.rb".freeze, "tests/dslkit_test.rb".freeze, "tests/duration_test.rb".freeze, "tests/dynamic_scope_test.rb".freeze, "tests/expose_test.rb".freeze, "tests/extract_last_argument_options_test.rb".freeze, "tests/file_binary_test.rb".freeze, "tests/find_test.rb".freeze, "tests/from_module_test.rb".freeze, "tests/generator_test.rb".freeze, "tests/go_test.rb".freeze, "tests/hash_bfs_test.rb".freeze, "tests/hash_symbolize_keys_recursive_test.rb".freeze, "tests/hash_union_test.rb".freeze, "tests/if_predicate_test.rb".freeze, "tests/implement_test.rb".freeze, "tests/limited_test.rb".freeze, "tests/lines_file_test.rb".freeze, "tests/lru_cache_test.rb".freeze, "tests/memoize_test.rb".freeze, "tests/method_description_test.rb".freeze, "tests/minimize_test.rb".freeze, "tests/module_group_test.rb".freeze, "tests/named_set_test.rb".freeze, "tests/named_test.rb".freeze, "tests/null_test.rb".freeze, "tests/p_test.rb".freeze, "tests/partial_application_test.rb".freeze, "tests/proc_compose_test.rb".freeze, "tests/proc_prelude_test.rb".freeze, "tests/range_plus_test.rb".freeze, "tests/require_maybe_test.rb".freeze, "tests/responding_test.rb".freeze, "tests/rotate_test.rb".freeze, "tests/scope_test.rb".freeze, "tests/secure_write_test.rb".freeze, "tests/sexy_singleton_test.rb".freeze, "tests/string_byte_order_mark_test.rb".freeze, "tests/string_camelize_test.rb".freeze, "tests/string_named_placeholders.rb".freeze, "tests/string_underscore_test.rb".freeze, "tests/string_version_test.rb".freeze, "tests/subhash_test.rb".freeze, "tests/temp_io_test.rb".freeze, "tests/test_helper.rb".freeze, "tests/time_dummy_test.rb".freeze, "tests/time_freezer_test.rb".freeze, "tests/to_test.rb".freeze, "tests/token_test.rb".freeze, "tests/unit_test.rb".freeze, "tests/annotate_test.rb".freeze, "tests/ask_and_send_test.rb".freeze, "tests/attempt_test.rb".freeze, "tests/bijection_test.rb".freeze, "tests/blank_full_test.rb".freeze, "tests/case_predicate_test.rb".freeze, "tests/concern_test.rb".freeze, "tests/date_dummy_test.rb".freeze, "tests/date_time_dummy_test.rb".freeze, "tests/deep_dup_test.rb".freeze, "tests/delegate_test.rb".freeze, "tests/deprecate_test.rb".freeze, "tests/dslkit_test.rb".freeze, "tests/duration_test.rb".freeze, "tests/dynamic_scope_test.rb".freeze, "tests/expose_test.rb".freeze, "tests/extract_last_argument_options_test.rb".freeze, "tests/file_binary_test.rb".freeze, "tests/find_test.rb".freeze, "tests/from_module_test.rb".freeze, "tests/generator_test.rb".freeze, "tests/go_test.rb".freeze, "tests/hash_bfs_test.rb".freeze, "tests/hash_symbolize_keys_recursive_test.rb".freeze, "tests/hash_union_test.rb".freeze, "tests/if_predicate_test.rb".freeze, "tests/implement_test.rb".freeze, "tests/limited_test.rb".freeze, "tests/lines_file_test.rb".freeze, "tests/lru_cache_test.rb".freeze, "tests/memoize_test.rb".freeze, "tests/method_description_test.rb".freeze, "tests/minimize_test.rb".freeze, "tests/module_group_test.rb".freeze, "tests/named_set_test.rb".freeze, "tests/named_test.rb".freeze, "tests/null_test.rb".freeze, "tests/p_test.rb".freeze, "tests/partial_application_test.rb".freeze, "tests/proc_compose_test.rb".freeze, "tests/proc_prelude_test.rb".freeze, "tests/range_plus_test.rb".freeze, "tests/require_maybe_test.rb".freeze, "tests/responding_test.rb".freeze, "tests/rotate_test.rb".freeze, "tests/scope_test.rb".freeze, "tests/secure_write_test.rb".freeze, "tests/sexy_singleton_test.rb".freeze, "tests/string_byte_order_mark_test.rb".freeze, "tests/string_camelize_test.rb".freeze, "tests/string_underscore_test.rb".freeze, "tests/string_version_test.rb".freeze, "tests/subhash_test.rb".freeze, "tests/temp_io_test.rb".freeze, "tests/time_dummy_test.rb".freeze, "tests/time_freezer_test.rb".freeze, "tests/to_test.rb".freeze, "tests/token_test.rb".freeze, "tests/unit_test.rb".freeze]
23
23
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tins
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.48.0
4
+ version: 1.49.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
@@ -484,7 +484,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
484
484
  - !ruby/object:Gem::Version
485
485
  version: '0'
486
486
  requirements: []
487
- rubygems_version: 3.7.2
487
+ rubygems_version: 4.0.2
488
488
  specification_version: 4
489
489
  summary: Useful stuff.
490
490
  test_files: