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 +4 -4
- data/lib/tins/unit.rb +17 -1
- data/lib/tins/version.rb +1 -1
- data/tests/unit_test.rb +18 -0
- data/tins.gemspec +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fa1d017de1e131e88ad3f54ae37abc4ff5020399f48a5fd97d3fd19a3ffca6e9
|
|
4
|
+
data.tar.gz: 50233d748b6362c332e51089923a6ef49f7e2e07044fa7f5843761adac219b0f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
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.
|
|
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.
|
|
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 = "
|
|
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.
|
|
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:
|
|
487
|
+
rubygems_version: 4.0.2
|
|
488
488
|
specification_version: 4
|
|
489
489
|
summary: Useful stuff.
|
|
490
490
|
test_files:
|