tins 1.37.0 → 1.37.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: '049e3bf81de447eec53664f5555656602906bbd44a5f98b2e0e953318aadff77'
4
- data.tar.gz: 14debef966e248366ec1ef72b39b8ccc094a91049ed6cd44e9ee2550c607ae02
3
+ metadata.gz: 45cdce796cfd7bd217b41dde419d3a3399e6b06a71a3aad809ed1ffd81fee1b6
4
+ data.tar.gz: cc3474c0776f6feaa025dedf5ae466bad277de63b9ba34343a43e8c5e281c531
5
5
  SHA512:
6
- metadata.gz: c93d9b5b23c3305f422f0efd81e0828591682331532b51f4de1a84e305f77bb3f9374abcf8b725cd665a74ef352cabb525f49b4dfa68fc78f5568e87a5e78012
7
- data.tar.gz: 4b8d5d1da5bffb1b26449f96aa0f292a28582e5409d734ba5cdc18c428a2e6b57f577662773b776abcbb5464d505ae6726b60bba54f2142ddf5a32faae5fd9e9
6
+ metadata.gz: 9506088d3c0c744bc706753accf329f2995d20400a43fdc738c31d4965ff66266d2d2143796f2812daa3adefedcdf49281eb0ba209f7b0d474c857ca707c4d82
7
+ data.tar.gz: af4c092a1bf371da47fa061565d3fed7a65132231762bfefb566c126137febf4fb212535581928d068ac607beb5cd83a55f338ef345dfcca2a59e443f9ce7a23
data/CHANGES.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changes
2
2
 
3
+ ## 2024-12-13 v1.37.1
4
+
5
+ * Renamed `ZERO` and `BINARY` constants to `ZERO_RE` and `BINARY_RE` to avoid
6
+ collisions with Logger/File constants.
7
+
3
8
  ## 2024-10-19 v1.37.0
4
9
 
5
10
  * Add support for module prepended blocks in **Tins::Concern**:
data/README.md CHANGED
@@ -10,87 +10,6 @@ Non yet.
10
10
 
11
11
  [![Code Coverage](https://codeclimate.com/github/flori/tins/coverage.png)](https://codeclimate.com/github/flori/tins)
12
12
 
13
- ## Changes
14
-
15
- * 2018-11-14 Release 1.20.2
16
- - Fix ~x options
17
- * 2018-11-14 Release 1.20.1
18
- - Add disabling boolean options in Tins::GO#go method.
19
- * 2018-11-14 Release 1.20.0
20
- - Support default arguments in Tins::GO#go method.
21
- * 2018-11-07 Release 1.19.0
22
- - Allow annotations without arguments
23
- * 2018-11-02 Release 1.18.0
24
- - `thread_local` and `thread_global` with default block
25
- * 2018-10-15 Release 1.17.0
26
- - Add Tins::TempIO::Enum class to wrap `temp_io` into Enumerator.
27
- * 2017-12-05 Release 1.16.3
28
- - Improve `temp_io` method by not changing working dir.
29
- * 2017-12-05 Release 1.16.2
30
- - Improve `temp_io` method with a given name.
31
- * 2017-12-05 Release 1.16.1
32
- - Improve `temp_io` method with block
33
- * 2017-11-29 Release 1.16.0
34
- - Prove `temp_io` method with block
35
- * 2017-06-29 Release 1.15.0
36
- - Add support for smart duration formats with %D directive
37
- * 2017-05-16 Release 1.14.0
38
- - Add visit proc to determine if file should be visited.
39
- * 2017-05-14 Release 1.13.3
40
- - Fix some debugging warnings
41
- * 2017-02-03 Release 1.13.2
42
- - Fix test on older rubies
43
- * 2016-11-23 Release 1.13.1
44
- - Fix comparibility of Tins::Duration instances
45
- * 2016-11-23 Release 1.13.0
46
- - Add expose method mostly for testing hidden methods.
47
- * 2016-08-04 Release 1.12.0
48
- - Add Tins::Unit.parse? method to check for units in strings.
49
- * 2016-07-12 Release 1.11.0
50
- - Provide Tins::Unit.format and Tins::Unit.parse methods.
51
- * 2016-05-25 Release 1.10.2
52
- - Avoid some warnings.
53
- * 2016-04-15 Release 1.10.1
54
- - Fix bug in go if a concatenated argument comes last.
55
- * 2016-04-12 Release 1.10.0
56
- - Support mixed rest arguments in go argument parsing.
57
- * 2016-03-10 Release 1.9.0
58
- - Add Tins::Duration for displaying durations.
59
- * 2016-01-18 Release 1.8.2
60
- - Implement Tins::StringVersion::Version#dup and
61
- Tins::StringVersion::Version#clone.
62
- * 2015-12-03 Release 1.8.1
63
- - Remove some backports already existant in the newer supported rubies.
64
- * 2015-12-01 Release 1.8.0
65
- - Add `foo_of` and `foo_annotations` methods to instances of classes with
66
- annotated methods.
67
- * 2015-11-09 Release 1.7.0
68
- - Officially require ruby >= 2.0 and use new hash syntax.
69
- - New feature attempt: sleep:-30 sleeps upto 30 seconds while retrying with
70
- an exponential waiting pattern.
71
- - Remove rotate and shuffle, recent rubies all support them.
72
- - Add an object oriented view on method signatures and use it to create
73
- method descriptions.
74
- * 2015-08-13 Release 1.6.0
75
- - Add complete method for readline completion
76
- * 2015-06-21 Release 1.5.4
77
- - Avoid %i syntax for now
78
- * 2015-06-17 Release 1.5.3
79
- - Make it run on 1.9 again.
80
- - Avoid a warning in Time.dummy implementation.
81
- * 2015-05-27 Release 1.5.2
82
- - Fix parameter naming for c-methods in method descriptions.
83
- * 2015-04-24 Release 1.5.0/1.5.1
84
- - Implement bump logic for StringVersion
85
- * 2015-04-23 Release 1.4.0
86
- - Add implement module helper method.
87
- * 2015-03-03 Release 1.3.5
88
- - Don't automatically include #to method into Object, this can lead to some
89
- confusion.
90
- * 2015-02-04 Release 1.3.4
91
- - Add some default alphabets to Tins::Token, e. g. Base64
92
- - Add changes to Readme
93
-
94
13
  ## Author
95
14
 
96
15
  Florian Frank mailto:flori@ping.de
@@ -3,12 +3,12 @@ module Tins
3
3
  module Constants
4
4
  SEEK_SET = ::File::SEEK_SET
5
5
 
6
- ZERO = "\x00"
7
- BINARY = "\x01-\x1f\x7f-\xff"
6
+ ZERO_RE = "\x00"
7
+ BINARY_RE = "\x01-\x1f\x7f-\xff"
8
8
 
9
9
  if defined?(::Encoding)
10
- ZERO.force_encoding(Encoding::ASCII_8BIT)
11
- BINARY.force_encoding(Encoding::ASCII_8BIT)
10
+ ZERO_RE.force_encoding(Encoding::ASCII_8BIT)
11
+ BINARY_RE.force_encoding(Encoding::ASCII_8BIT)
12
12
  end
13
13
  end
14
14
 
@@ -39,9 +39,9 @@ module Tins
39
39
  data = read options[:buffer_size]
40
40
  !data or data.empty? and return nil
41
41
  data_size = data.size
42
- data.count(Constants::ZERO).to_f / data_size >
42
+ data.count(Constants::ZERO_RE).to_f / data_size >
43
43
  options[:percentage_zeros] / 100.0 and return true
44
- data.count(Constants::BINARY).to_f / data_size >
44
+ data.count(Constants::BINARY_RE).to_f / data_size >
45
45
  options[:percentage_binary] / 100.0
46
46
  ensure
47
47
  old_pos and seek old_pos, Constants::SEEK_SET
data/lib/tins/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Tins
2
2
  # Tins version
3
- VERSION = '1.37.0'
3
+ VERSION = '1.37.1'
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:
@@ -1,7 +1,7 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class ConcernTest < Test::Unit::TestCase
4
- module AC
4
+ module C1
5
5
  extend Tins::Concern
6
6
 
7
7
  included do
@@ -38,12 +38,27 @@ class ConcernTest < Test::Unit::TestCase
38
38
  $included = nil
39
39
  $prepended = nil
40
40
 
41
+ module C2
42
+ extend Tins::Concern
43
+
44
+ def foo
45
+ :'prepended-foo'
46
+ end
47
+ end
48
+
49
+
41
50
  class A
42
- include AC
51
+ include C1
43
52
  end
44
53
 
45
54
  class B
46
- prepend AC
55
+ prepend C1
56
+ end
57
+
58
+ class C
59
+ def foo
60
+ :foo
61
+ end
47
62
  end
48
63
 
49
64
  def test_concern_include
@@ -54,19 +69,26 @@ class ConcernTest < Test::Unit::TestCase
54
69
  assert_equal :baz1, A.baz1
55
70
  assert_equal :baz2, A.baz2
56
71
  assert_raise(StandardError) do
57
- AC.module_eval { included {} }
72
+ C1.module_eval { included {} }
58
73
  end
59
74
  end
60
75
 
61
76
  def test_concern_prepend
62
- a = B.new
77
+ b = B.new
63
78
  assert_equal B, $prepended
64
- assert_equal :foo, a.foo
79
+ assert_equal :foo, b.foo
65
80
  assert_equal :bar, B.bar
66
81
  assert_equal :baz1, B.baz1
67
82
  assert_equal :baz2, B.baz2
68
83
  assert_raise(StandardError) do
69
- AC.module_eval { prepended {} }
84
+ C1.module_eval { prepended {} }
70
85
  end
71
86
  end
87
+
88
+ def test_prepended_method
89
+ c = C.new
90
+ assert_equal :foo, c.foo
91
+ C.class_eval { prepend C2 }
92
+ assert_equal :'prepended-foo', c.foo
93
+ end
72
94
  end
data/tins.gemspec CHANGED
@@ -1,14 +1,14 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: tins 1.37.0 ruby lib
2
+ # stub: tins 1.37.1 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "tins".freeze
6
- s.version = "1.37.0".freeze
6
+ s.version = "1.37.1".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]
10
10
  s.authors = ["Florian Frank".freeze]
11
- s.date = "2024-10-19"
11
+ s.date = "2024-12-13"
12
12
  s.description = "All the stuff that isn't good/big enough for a real library.".freeze
13
13
  s.email = "flori@ping.de".freeze
14
14
  s.extra_rdoc_files = ["README.md".freeze, "lib/dslkit.rb".freeze, "lib/dslkit/polite.rb".freeze, "lib/dslkit/rude.rb".freeze, "lib/spruz.rb".freeze, "lib/tins.rb".freeze, "lib/tins/alias.rb".freeze, "lib/tins/annotate.rb".freeze, "lib/tins/ask_and_send.rb".freeze, "lib/tins/attempt.rb".freeze, "lib/tins/bijection.rb".freeze, "lib/tins/case_predicate.rb".freeze, "lib/tins/complete.rb".freeze, "lib/tins/concern.rb".freeze, "lib/tins/count_by.rb".freeze, "lib/tins/date_dummy.rb".freeze, "lib/tins/date_time_dummy.rb".freeze, "lib/tins/deep_const_get.rb".freeze, "lib/tins/deep_dup.rb".freeze, "lib/tins/deprecate.rb".freeze, "lib/tins/dslkit.rb".freeze, "lib/tins/duration.rb".freeze, "lib/tins/expose.rb".freeze, "lib/tins/extract_last_argument_options.rb".freeze, "lib/tins/file_binary.rb".freeze, "lib/tins/find.rb".freeze, "lib/tins/generator.rb".freeze, "lib/tins/go.rb".freeze, "lib/tins/hash_bfs.rb".freeze, "lib/tins/hash_symbolize_keys_recursive.rb".freeze, "lib/tins/hash_union.rb".freeze, "lib/tins/if_predicate.rb".freeze, "lib/tins/implement.rb".freeze, "lib/tins/limited.rb".freeze, "lib/tins/lines_file.rb".freeze, "lib/tins/lru_cache.rb".freeze, "lib/tins/memoize.rb".freeze, "lib/tins/method_description.rb".freeze, "lib/tins/minimize.rb".freeze, "lib/tins/module_group.rb".freeze, "lib/tins/named_set.rb".freeze, "lib/tins/null.rb".freeze, "lib/tins/once.rb".freeze, "lib/tins/p.rb".freeze, "lib/tins/partial_application.rb".freeze, "lib/tins/proc_compose.rb".freeze, "lib/tins/proc_prelude.rb".freeze, "lib/tins/range_plus.rb".freeze, "lib/tins/require_maybe.rb".freeze, "lib/tins/responding.rb".freeze, "lib/tins/secure_write.rb".freeze, "lib/tins/sexy_singleton.rb".freeze, "lib/tins/string_byte_order_mark.rb".freeze, "lib/tins/string_camelize.rb".freeze, "lib/tins/string_underscore.rb".freeze, "lib/tins/string_version.rb".freeze, "lib/tins/subhash.rb".freeze, "lib/tins/temp_io.rb".freeze, "lib/tins/temp_io_enum.rb".freeze, "lib/tins/terminal.rb".freeze, "lib/tins/thread_local.rb".freeze, "lib/tins/time_dummy.rb".freeze, "lib/tins/timed_cache.rb".freeze, "lib/tins/to.rb".freeze, "lib/tins/to_proc.rb".freeze, "lib/tins/token.rb".freeze, "lib/tins/uniq_by.rb".freeze, "lib/tins/unit.rb".freeze, "lib/tins/version.rb".freeze, "lib/tins/write.rb".freeze, "lib/tins/xt.rb".freeze, "lib/tins/xt/annotate.rb".freeze, "lib/tins/xt/ask_and_send.rb".freeze, "lib/tins/xt/attempt.rb".freeze, "lib/tins/xt/blank.rb".freeze, "lib/tins/xt/case_predicate.rb".freeze, "lib/tins/xt/complete.rb".freeze, "lib/tins/xt/concern.rb".freeze, "lib/tins/xt/count_by.rb".freeze, "lib/tins/xt/date_dummy.rb".freeze, "lib/tins/xt/date_time_dummy.rb".freeze, "lib/tins/xt/deep_const_get.rb".freeze, "lib/tins/xt/deep_dup.rb".freeze, "lib/tins/xt/deprecate.rb".freeze, "lib/tins/xt/dslkit.rb".freeze, "lib/tins/xt/expose.rb".freeze, "lib/tins/xt/extract_last_argument_options.rb".freeze, "lib/tins/xt/file_binary.rb".freeze, "lib/tins/xt/full.rb".freeze, "lib/tins/xt/hash_bfs.rb".freeze, "lib/tins/xt/hash_symbolize_keys_recursive.rb".freeze, "lib/tins/xt/hash_union.rb".freeze, "lib/tins/xt/if_predicate.rb".freeze, "lib/tins/xt/implement.rb".freeze, "lib/tins/xt/irb.rb".freeze, "lib/tins/xt/method_description.rb".freeze, "lib/tins/xt/named.rb".freeze, "lib/tins/xt/null.rb".freeze, "lib/tins/xt/p.rb".freeze, "lib/tins/xt/partial_application.rb".freeze, "lib/tins/xt/proc_compose.rb".freeze, "lib/tins/xt/proc_prelude.rb".freeze, "lib/tins/xt/range_plus.rb".freeze, "lib/tins/xt/require_maybe.rb".freeze, "lib/tins/xt/responding.rb".freeze, "lib/tins/xt/secure_write.rb".freeze, "lib/tins/xt/sexy_singleton.rb".freeze, "lib/tins/xt/string.rb".freeze, "lib/tins/xt/string_byte_order_mark.rb".freeze, "lib/tins/xt/string_camelize.rb".freeze, "lib/tins/xt/string_underscore.rb".freeze, "lib/tins/xt/string_version.rb".freeze, "lib/tins/xt/subhash.rb".freeze, "lib/tins/xt/temp_io.rb".freeze, "lib/tins/xt/time_dummy.rb".freeze, "lib/tins/xt/time_freezer.rb".freeze, "lib/tins/xt/to.rb".freeze, "lib/tins/xt/uniq_by.rb".freeze, "lib/tins/xt/write.rb".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(">= 2.0".freeze)
20
- s.rubygems_version = "3.5.18".freeze
20
+ s.rubygems_version = "3.5.23".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/count_by_test.rb".freeze, "tests/date_dummy_test.rb".freeze, "tests/date_time_dummy_test.rb".freeze, "tests/deep_const_get_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/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/uniq_by_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/count_by_test.rb".freeze, "tests/date_dummy_test.rb".freeze, "tests/date_time_dummy_test.rb".freeze, "tests/deep_const_get_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/uniq_by_test.rb".freeze, "tests/unit_test.rb".freeze]
23
23
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tins
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.37.0
4
+ version: 1.37.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-10-19 00:00:00.000000000 Z
11
+ date: 2024-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_hadar
@@ -482,7 +482,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
482
482
  - !ruby/object:Gem::Version
483
483
  version: '0'
484
484
  requirements: []
485
- rubygems_version: 3.5.18
485
+ rubygems_version: 3.5.23
486
486
  signing_key:
487
487
  specification_version: 4
488
488
  summary: Useful stuff.