tins 1.25.0 → 1.32.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a37519970d1e310e2a5a0572ddd8c9edb8835dc6ca916cc70c157015f02cd12f
4
- data.tar.gz: 42896f157f7d78fd589414bb2b87116f159575a1a5a3f9a7858409f9736f6d27
3
+ metadata.gz: b8ddaf2f0c1167a939e82f81678dcad1415c446295b71be5b9f103ed7d3119c9
4
+ data.tar.gz: 6e0609afd1eaee465c64a5ea65911f7f09b15b166cb5bfa8e85cf1a7f71446b9
5
5
  SHA512:
6
- metadata.gz: 78c1ec820ab3eb61776cf484c96cee0b7fbdb344df56069d9121ffb84b4dcfe935003c73ff661f3d74e4752c8f835b1580d937256272817c4e830451a9cab516
7
- data.tar.gz: 4047776430e5feda92070c94130c6fb30c1d28a0365be4985d6a4e681f00bf46bff0fced2c57377ff19442f827a1170e86e96edc27218f597e09ec2cf279faf5
6
+ metadata.gz: 3edf583d1f22b556058cad481d9bb78710394b3869fbb118321a31213124534449d1ea507f8a00d264ea7e029226673e062bc07544d445ccd044bb8643cbdbf3
7
+ data.tar.gz: bd04720c57cbec746b212354767d166ae38eb22824635be747a9a0708af71b82078a1b832552c0f7425827234c49178357e914ac36365a8f6ece1cd91ab88700
data/Gemfile CHANGED
@@ -3,8 +3,3 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  gemspec
6
-
7
- group :development, :test do
8
- gem 'byebug', platform: :mri
9
- gem 'term-ansicolor'
10
- end
data/README.md CHANGED
@@ -12,7 +12,6 @@ Non yet.
12
12
 
13
13
  ## Changes
14
14
 
15
-
16
15
  * 2018-11-14 Release 1.20.2
17
16
  - Fix ~x options
18
17
  * 2018-11-14 Release 1.20.1
@@ -92,12 +91,6 @@ Non yet.
92
91
  - Add some default alphabets to Tins::Token, e. g. Base64
93
92
  - Add changes to Readme
94
93
 
95
- ## Download
96
-
97
- The homepage of this library is located at
98
-
99
- * http://flori.github.com/tins
100
-
101
94
  ## Author
102
95
 
103
96
  Florian Frank mailto:flori@ping.de
data/Rakefile CHANGED
@@ -13,11 +13,18 @@ GemHadar do
13
13
  test_files.concat Dir["#{test_dir}/*_test.rb"]
14
14
  ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', '.rvmrc', 'coverage', '.rbx',
15
15
  '.AppleDouble', '.DS_Store', 'tags', '.bundle', '.byebug_history'
16
+ package_ignore '.all_images.yml', '.tool-versions', '.gitignore', 'VERSION',
17
+ '.utilsrc', '.rspec', 'TODO',
18
+ *Dir.glob('.github/**/*', File::FNM_DOTMATCH)
16
19
 
17
20
  readme 'README.md'
18
21
  licenses << 'MIT'
19
22
 
20
23
  required_ruby_version '>= 2.0'
24
+ development_dependency 'utils'
25
+ development_dependency 'all_images'
26
+ development_dependency 'debug'
27
+ development_dependency 'term-ansicolor'
21
28
  development_dependency 'test-unit', '~>3.1'
22
29
  development_dependency 'simplecov'
23
30
  dependency 'sync'
data/examples/mail.rb CHANGED
@@ -1,3 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
1
3
  require 'tins'
2
4
  require 'net/smtp'
3
5
  require 'time'
@@ -1,3 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
1
3
  require 'tins'
2
4
  $:.unshift 'examples'
3
5
 
data/examples/turing.rb CHANGED
@@ -1,3 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
1
3
  require 'term/ansicolor'
2
4
  require 'tins'
3
5
 
data/lib/tins/attempt.rb CHANGED
@@ -14,6 +14,7 @@ module Tins
14
14
  def attempt(opts = {}, &block)
15
15
  sleep = nil
16
16
  exception_class = StandardError
17
+ prev_exception = nil
17
18
  if Numeric === opts
18
19
  attempts = opts
19
20
  else
@@ -28,7 +29,7 @@ module Tins
28
29
  if exception_class.nil?
29
30
  begin
30
31
  count += 1
31
- if block.call(count)
32
+ if block.call(count, prev_exception)
32
33
  return true
33
34
  elsif count < attempts
34
35
  sleep_duration(sleep, count)
@@ -38,14 +39,24 @@ module Tins
38
39
  else
39
40
  begin
40
41
  count += 1
41
- block.call(count)
42
+ block.call(count, prev_exception)
42
43
  true
43
44
  rescue *exception_class
44
45
  if count < attempts
46
+ prev_exception = $!
45
47
  sleep_duration(sleep, count)
46
48
  retry
47
49
  end
48
- reraise ? raise : false
50
+ case reraise
51
+ when Proc
52
+ reraise.($!)
53
+ when Exception.class
54
+ raise reraise, "reraised: #{$!.message}"
55
+ when true
56
+ raise $!, "reraised: #{$!.message}"
57
+ else
58
+ false
59
+ end
49
60
  end
50
61
  end
51
62
  end
@@ -13,26 +13,34 @@ module Tins
13
13
  end
14
14
  end
15
15
 
16
- def self.deep_const_get(path, start_module = Object)
17
- path.to_s.split('::').inject(start_module) do |p, c|
18
- case
19
- when c.empty?
20
- if start_module == Object
21
- Object
16
+ if Tins::StringVersion(RUBY_VERSION) < Tins::StringVersion('2.0')
17
+ def self.deep_const_get(path, start_module = Object)
18
+ path.to_s.split('::').inject(start_module) do |p, c|
19
+ case
20
+ when c.empty?
21
+ if start_module == Object
22
+ Object
23
+ else
24
+ raise ArgumentError, "top level constants cannot be reached from"\
25
+ " start module #{start_module.inspect}"
26
+ end
27
+ when const_defined_in?(p, c)
28
+ p.const_get(c)
22
29
  else
23
- raise ArgumentError, "top level constants cannot be reached from"\
24
- " start module #{start_module.inspect}"
25
- end
26
- when const_defined_in?(p, c)
27
- p.const_get(c)
28
- else
29
- begin
30
- p.const_missing(c)
31
- rescue NameError => e
32
- raise ArgumentError, "can't get const #{path}: #{e}"
30
+ begin
31
+ p.const_missing(c)
32
+ rescue NameError => e
33
+ raise ArgumentError, "can't get const #{path}: #{e}"
34
+ end
33
35
  end
34
36
  end
35
37
  end
38
+ else
39
+ def self.deep_const_get(path, start_module = Object)
40
+ start_module.const_get(path)
41
+ rescue NameError => e
42
+ raise ArgumentError, "can't get const #{path}: #{e}"
43
+ end
36
44
  end
37
45
 
38
46
  def deep_const_get(path, start_module = Object)
data/lib/tins/limited.rb CHANGED
@@ -38,6 +38,12 @@ module Tins
38
38
  def wait
39
39
  @tg.list.each(&:join)
40
40
  end
41
+
42
+ def process
43
+ yield self
44
+ ensure
45
+ wait
46
+ end
41
47
  end
42
48
  end
43
49
 
@@ -0,0 +1,62 @@
1
+ module Tins
2
+ class LRUCache
3
+ include Enumerable
4
+
5
+ class << self
6
+ private
7
+
8
+ my_nil = Object.new.freeze
9
+
10
+ define_method(:not_exist) do
11
+ my_nil
12
+ end
13
+ end
14
+
15
+ def initialize(capacity)
16
+ @capacity = capacity
17
+ @data = {}
18
+ end
19
+
20
+ attr_reader :capacity
21
+
22
+ def [](key)
23
+ case value = @data.delete(key){ not_exist }
24
+ when not_exist
25
+ nil
26
+ else
27
+ @data[key] = value
28
+ end
29
+ end
30
+
31
+ def []=(key, value)
32
+ @data.delete(key)
33
+ @data[key] = value
34
+ if @data.size > @capacity
35
+ @data.delete(@data.keys.first)
36
+ end
37
+ value
38
+ end
39
+
40
+ def each(&block)
41
+ @data.reverse_each(&block)
42
+ end
43
+
44
+ def delete(key)
45
+ @data.delete(key)
46
+ end
47
+
48
+ def clear
49
+ @data.clear
50
+ end
51
+
52
+ def size
53
+ @data.size
54
+ end
55
+
56
+ private
57
+
58
+ def not_exist
59
+ self.class.send(:not_exist)
60
+ end
61
+ end
62
+ end
@@ -12,28 +12,54 @@ module Tins
12
12
  class << SexySingleton
13
13
  alias __old_singleton_included__ included
14
14
 
15
- def included(klass)
16
- __old_singleton_included__(klass)
17
- (class << klass; self; end).class_eval do
18
- if Object.method_defined?(:respond_to_missing?)
19
- def respond_to_missing?(name, *args)
20
- instance.respond_to?(name) || super
15
+ if RUBY_VERSION < "2.7"
16
+ def included(klass)
17
+ __old_singleton_included__(klass)
18
+ (class << klass; self; end).class_eval do
19
+ if Object.method_defined?(:respond_to_missing?)
20
+ def respond_to_missing?(name, *args)
21
+ instance.respond_to?(name) || super
22
+ end
23
+ else
24
+ def respond_to?(name, *args)
25
+ instance.respond_to?(name) || super
26
+ end
21
27
  end
22
- else
23
- def respond_to?(name, *args)
24
- instance.respond_to?(name) || super
28
+
29
+ def method_missing(name, *args, &block)
30
+ if instance.respond_to?(name)
31
+ instance.__send__(name, *args, &block)
32
+ else
33
+ super
34
+ end
25
35
  end
26
36
  end
27
-
28
- def method_missing(name, *args, &block)
29
- if instance.respond_to?(name)
30
- instance.__send__(name, *args, &block)
37
+ super
38
+ end
39
+ else
40
+ def included(klass)
41
+ __old_singleton_included__(klass)
42
+ (class << klass; self; end).class_eval do
43
+ if Object.method_defined?(:respond_to_missing?)
44
+ def respond_to_missing?(name, *args, **kwargs)
45
+ instance.respond_to?(name) || super
46
+ end
31
47
  else
32
- super
48
+ def respond_to?(name, *args, **kwargs)
49
+ instance.respond_to?(name) || super
50
+ end
51
+ end
52
+
53
+ def method_missing(name, *args, **kwargs, &block)
54
+ if instance.respond_to?(name)
55
+ instance.__send__(name, *args, **kwargs, &block)
56
+ else
57
+ super
58
+ end
33
59
  end
34
60
  end
61
+ super
35
62
  end
36
- super
37
63
  end
38
64
  end
39
65
  end
@@ -99,6 +99,10 @@ module Tins
99
99
  Version.new(self)
100
100
  end
101
101
  end
102
+
103
+ def self.StringVersion(string)
104
+ StringVersion::Version.new(string.to_str)
105
+ end
102
106
  end
103
107
 
104
108
  require 'tins/alias'
@@ -1,13 +1,9 @@
1
1
  module Tins
2
2
  module ThreadLocal
3
- @@mutex = Mutex.new
4
-
5
3
  @@cleanup = lambda do |my_object_id|
6
4
  my_id = "__thread_local_#{my_object_id}__"
7
- @@mutex.synchronize do
8
- for t in Thread.list
9
- t[my_id] = nil if t[my_id]
10
- end
5
+ for t in Thread.list
6
+ t[my_id] = nil if t[my_id]
11
7
  end
12
8
  end
13
9
 
@@ -35,13 +35,25 @@ module Tins
35
35
  end
36
36
  end
37
37
 
38
- def new(*a)
39
- if dummy
40
- dummy.dup
41
- elsif caller.first =~ /`now`/
42
- really_now
43
- else
44
- really_new(*a)
38
+ if RUBY_VERSION >= "3.0"
39
+ def new(*a, **kw)
40
+ if dummy
41
+ dummy.dup
42
+ elsif caller.first =~ /`now`/
43
+ really_now(**kw)
44
+ else
45
+ really_new(*a, **kw)
46
+ end
47
+ end
48
+ else
49
+ def new(*a)
50
+ if dummy
51
+ dummy.dup
52
+ elsif caller.first =~ /`now`/
53
+ really_now
54
+ else
55
+ really_new(*a)
56
+ end
45
57
  end
46
58
  end
47
59
 
@@ -0,0 +1,51 @@
1
+ class TimedCache
2
+ class Value < Struct.new(:value, :timestamp)
3
+ def self.json_create(hash)
4
+ new(*hash.values_at('value', 'timestamp'))
5
+ end
6
+
7
+ def as_json(*)
8
+ super | { JSON.create_id => self.class.name }
9
+ end
10
+ end
11
+
12
+ def initialize(name, ttl: 60, jitter: 1..5, &block)
13
+ @name = name
14
+ @ttl = ttl
15
+ @jitter = jitter
16
+ block or raise ArgumentError, 'block is required'
17
+ @block = block
18
+ @redis = Redis.new # RedisPool::Pool.connection(:timed_cache, configuration: :redis)
19
+ end
20
+
21
+ def namespaced(key)
22
+ "timed_cache:#{key}"
23
+ end
24
+
25
+ def value
26
+ now = Time.now
27
+ if stored = stored_value
28
+ if (now - @ttl).to_i >= stored.timestamp
29
+ Thread.new {
30
+ sleep @jitter
31
+ if stored_value.timestamp <= stored.timestamp
32
+ @redis.set namespaced(@name), new_value(now).to_json
33
+ end
34
+ }
35
+ end
36
+ stored.value
37
+ else
38
+ nv = new_value(now)
39
+ @redis.set namespaced(@name), nv.to_json
40
+ nv.value
41
+ end
42
+ end
43
+
44
+ def new_value(now)
45
+ Value.new(@block.(), now.to_i)
46
+ end
47
+
48
+ def stored_value
49
+ @redis.get(namespaced(@name)).full? { |s| ::JSON.parse(s, create_additions: true) rescue nil }
50
+ end
51
+ end
data/lib/tins/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Tins
2
2
  # Tins version
3
- VERSION = '1.25.0'
3
+ VERSION = '1.32.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:
data/lib/tins.rb CHANGED
@@ -57,5 +57,6 @@ module Tins
57
57
  require 'tins/expose'
58
58
  require 'tins/temp_io'
59
59
  require 'tins/temp_io_enum'
60
+ require 'tins/lru_cache'
60
61
  end
61
62
  require 'tins/alias'
@@ -32,7 +32,7 @@ module Tins
32
32
  attempt(attempts: 3, exception_class: MyException) { |c| c == 1 and raise MyException }
33
33
  end
34
34
 
35
- def test_reraise_exception
35
+ def test_reraise_exception_true
36
36
  tries = 0
37
37
  assert_raise(MyException) do
38
38
  attempt(attempts: 3, exception_class: MyException, reraise: true) do |c|
@@ -42,6 +42,28 @@ module Tins
42
42
  assert_equal 3, tries
43
43
  end
44
44
 
45
+ def test_reraise_exception_exception_class
46
+ other_exception = Exception
47
+ tries = 0
48
+ assert_raise(other_exception) do
49
+ attempt(attempts: 3, exception_class: MyException, reraise: other_exception) do |c|
50
+ tries = c; raise MyException
51
+ end
52
+ end
53
+ assert_equal 3, tries
54
+ end
55
+
56
+ def test_reraise_exception_proc
57
+ other_exception = Exception
58
+ tries = 0
59
+ assert_raise(other_exception, 'hi ho') do
60
+ attempt(attempts: 3, exception_class: MyException, reraise: -> e { raise other_exception, 'hi ho' }) do |c|
61
+ tries = c; raise MyException
62
+ end
63
+ end
64
+ assert_equal 3, tries
65
+ end
66
+
45
67
  def test_reraise_exception_with_positive_sleep
46
68
  tries = 0
47
69
  singleton_class.class_eval do
@@ -105,5 +127,17 @@ module Tins
105
127
  method_defined?(:sleep_duration) and remove_method :sleep_duration
106
128
  end
107
129
  end
130
+
131
+ def test_attempt_previous_exception_block_arg
132
+ last_e = nil
133
+ attempt(1) { |c, prev_e| last_e = prev_e }
134
+ assert_nil last_e
135
+ attempt(2) { |c, prev_e| last_e = prev_e; c == 1 and raise MyError }
136
+ assert_kind_of MyError, last_e
137
+ attempt(3) { |c, prev_e| last_e = prev_e; c == 1 and raise MyError }
138
+ assert_kind_of MyError, last_e
139
+ attempt(4) { |c, prev_e| last_e = prev_e; c == 1 and raise MyError; c == 2 and raise ArgumentError }
140
+ assert_kind_of ArgumentError, last_e
141
+ end
108
142
  end
109
143
  end
@@ -30,7 +30,7 @@ module Tins
30
30
  end
31
31
 
32
32
  def test_deep_const_get_with_const_missing
33
- assert_raise(ArgumentError) { deep_const_get '::Tins::DeepConstGetTest::A::D' }
33
+ assert_raise(ArgumentError) { deep_const_get '::Tins::DeepConstGetTest::A::NIXDA' }
34
34
  assert_equal Tins::DeepConstGetTest::C::NotB, deep_const_get('::Tins::DeepConstGetTest::C::B')
35
35
  end
36
36
  end
@@ -0,0 +1,51 @@
1
+ require 'test_helper'
2
+ require 'tins'
3
+
4
+ module Tins
5
+ class LRUCacheTest < Test::Unit::TestCase
6
+ def setup
7
+ @cache = LRUCache.new(3)
8
+ end
9
+
10
+ def test_can_be_filled_to_capacity
11
+ assert_equal 0, @cache.size
12
+ @cache[1] = 1
13
+ assert_equal 1, @cache.size
14
+ @cache[2] = 2
15
+ assert_equal 2, @cache.size
16
+ @cache[3] = 3
17
+ assert_equal 3, @cache.size
18
+ @cache[4] = 4
19
+ assert_equal 3, @cache.size
20
+ assert_equal 4, @cache.first[0]
21
+ end
22
+
23
+ def test_reorders_based_on_recency
24
+ (1..3).each do |i|
25
+ @cache[i] = i
26
+ end
27
+ assert_equal 3, @cache.first[0]
28
+ @cache[1]
29
+ assert_equal 1, @cache.first[0]
30
+ end
31
+
32
+ def test_can_be_cleared
33
+ (1..3).each do |i|
34
+ @cache[i] = i
35
+ end
36
+ assert_equal 3, @cache.size
37
+ @cache.clear
38
+ assert_equal 0, @cache.size
39
+ end
40
+
41
+ def test_can_be_deleted_from
42
+ (1..3).each do |i|
43
+ @cache[i] = i
44
+ end
45
+ assert_equal 3, @cache.size
46
+ @cache.delete 2
47
+ assert_equal 2, @cache.size
48
+ assert_nil @cache[2]
49
+ end
50
+ end
51
+ end
data/tins.gemspec CHANGED
@@ -1,37 +1,45 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: tins 1.25.0 ruby lib
2
+ # stub: tins 1.32.1 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "tins".freeze
6
- s.version = "1.25.0"
6
+ s.version = "1.32.1"
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 = "2020-05-13"
11
+ s.date = "2022-11-21"
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
- 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/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_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/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/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/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_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]
15
- s.files = [".gitignore".freeze, ".travis.yml".freeze, "COPYING".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "TODO".freeze, "VERSION".freeze, "examples/add_one.png".freeze, "examples/add_one.stm".freeze, "examples/bb3.png".freeze, "examples/bb3.stm".freeze, "examples/concatenate_compare.mtm".freeze, "examples/concatenate_compare.png".freeze, "examples/length_difference.mtm".freeze, "examples/length_difference.png".freeze, "examples/let.rb".freeze, "examples/mail.rb".freeze, "examples/minsky.rb".freeze, "examples/multiply.reg".freeze, "examples/null_pattern.rb".freeze, "examples/ones_difference-mtm.png".freeze, "examples/ones_difference-stm.png".freeze, "examples/ones_difference.mtm".freeze, "examples/ones_difference.stm".freeze, "examples/prefix-equals-suffix-reversed-with-infix.png".freeze, "examples/prefix-equals-suffix-reversed-with-infix.stm".freeze, "examples/recipe.rb".freeze, "examples/recipe2.rb".freeze, "examples/recipe_common.rb".freeze, "examples/subtract.reg".freeze, "examples/turing-graph.rb".freeze, "examples/turing.rb".freeze, "lib/dslkit.rb".freeze, "lib/dslkit/polite.rb".freeze, "lib/dslkit/rude.rb".freeze, "lib/spruz".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/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_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/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/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/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_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, "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/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_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/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, "tins.gemspec".freeze]
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/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_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/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_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]
15
+ s.files = ["COPYING".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "examples/add_one.png".freeze, "examples/add_one.stm".freeze, "examples/bb3.png".freeze, "examples/bb3.stm".freeze, "examples/concatenate_compare.mtm".freeze, "examples/concatenate_compare.png".freeze, "examples/length_difference.mtm".freeze, "examples/length_difference.png".freeze, "examples/let.rb".freeze, "examples/mail.rb".freeze, "examples/minsky.rb".freeze, "examples/multiply.reg".freeze, "examples/null_pattern.rb".freeze, "examples/ones_difference-mtm.png".freeze, "examples/ones_difference-stm.png".freeze, "examples/ones_difference.mtm".freeze, "examples/ones_difference.stm".freeze, "examples/prefix-equals-suffix-reversed-with-infix.png".freeze, "examples/prefix-equals-suffix-reversed-with-infix.stm".freeze, "examples/recipe.rb".freeze, "examples/recipe2.rb".freeze, "examples/recipe_common.rb".freeze, "examples/subtract.reg".freeze, "examples/turing-graph.rb".freeze, "examples/turing.rb".freeze, "lib/dslkit.rb".freeze, "lib/dslkit/polite.rb".freeze, "lib/dslkit/rude.rb".freeze, "lib/spruz".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/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_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/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_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, "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/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_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, "tins.gemspec".freeze]
16
16
  s.homepage = "https://github.com/flori/tins".freeze
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.1.2".freeze
20
+ s.rubygems_version = "3.3.17".freeze
21
21
  s.summary = "Useful stuff.".freeze
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/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_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/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/if_predicate_test.rb".freeze, "tests/string_camelize_test.rb".freeze, "tests/case_predicate_test.rb".freeze, "tests/sexy_singleton_test.rb".freeze, "tests/hash_union_test.rb".freeze, "tests/date_dummy_test.rb".freeze, "tests/string_byte_order_mark_test.rb".freeze, "tests/deep_dup_test.rb".freeze, "tests/generator_test.rb".freeze, "tests/ask_and_send_test.rb".freeze, "tests/hash_symbolize_keys_recursive_test.rb".freeze, "tests/memoize_test.rb".freeze, "tests/find_test.rb".freeze, "tests/extract_last_argument_options_test.rb".freeze, "tests/null_test.rb".freeze, "tests/temp_io_test.rb".freeze, "tests/proc_prelude_test.rb".freeze, "tests/token_test.rb".freeze, "tests/bijection_test.rb".freeze, "tests/p_test.rb".freeze, "tests/dynamic_scope_test.rb".freeze, "tests/lines_file_test.rb".freeze, "tests/count_by_test.rb".freeze, "tests/responding_test.rb".freeze, "tests/time_freezer_test.rb".freeze, "tests/attempt_test.rb".freeze, "tests/concern_test.rb".freeze, "tests/implement_test.rb".freeze, "tests/dslkit_test.rb".freeze, "tests/range_plus_test.rb".freeze, "tests/deep_const_get_test.rb".freeze, "tests/named_set_test.rb".freeze, "tests/proc_compose_test.rb".freeze, "tests/minimize_test.rb".freeze, "tests/subhash_test.rb".freeze, "tests/delegate_test.rb".freeze, "tests/time_dummy_test.rb".freeze, "tests/limited_test.rb".freeze, "tests/duration_test.rb".freeze, "tests/method_description_test.rb".freeze, "tests/to_test.rb".freeze, "tests/file_binary_test.rb".freeze, "tests/partial_application_test.rb".freeze, "tests/date_time_dummy_test.rb".freeze, "tests/expose_test.rb".freeze, "tests/rotate_test.rb".freeze, "tests/module_group_test.rb".freeze, "tests/unit_test.rb".freeze, "tests/string_underscore_test.rb".freeze, "tests/named_test.rb".freeze, "tests/from_module_test.rb".freeze, "tests/string_version_test.rb".freeze, "tests/require_maybe_test.rb".freeze, "tests/uniq_by_test.rb".freeze, "tests/secure_write_test.rb".freeze, "tests/blank_full_test.rb".freeze, "tests/scope_test.rb".freeze, "tests/annotate_test.rb".freeze, "tests/go_test.rb".freeze]
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/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_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/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_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
 
24
24
  if s.respond_to? :specification_version then
25
25
  s.specification_version = 4
26
26
  end
27
27
 
28
28
  if s.respond_to? :add_runtime_dependency then
29
- s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.11.0"])
29
+ s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
30
+ s.add_development_dependency(%q<utils>.freeze, [">= 0"])
31
+ s.add_development_dependency(%q<all_images>.freeze, [">= 0"])
32
+ s.add_development_dependency(%q<debug>.freeze, [">= 0"])
33
+ s.add_development_dependency(%q<term-ansicolor>.freeze, [">= 0"])
30
34
  s.add_development_dependency(%q<test-unit>.freeze, ["~> 3.1"])
31
35
  s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
32
36
  s.add_runtime_dependency(%q<sync>.freeze, [">= 0"])
33
37
  else
34
- s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.11.0"])
38
+ s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
39
+ s.add_dependency(%q<utils>.freeze, [">= 0"])
40
+ s.add_dependency(%q<all_images>.freeze, [">= 0"])
41
+ s.add_dependency(%q<debug>.freeze, [">= 0"])
42
+ s.add_dependency(%q<term-ansicolor>.freeze, [">= 0"])
35
43
  s.add_dependency(%q<test-unit>.freeze, ["~> 3.1"])
36
44
  s.add_dependency(%q<simplecov>.freeze, [">= 0"])
37
45
  s.add_dependency(%q<sync>.freeze, [">= 0"])
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.25.0
4
+ version: 1.32.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-13 00:00:00.000000000 Z
11
+ date: 2022-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_hadar
@@ -16,14 +16,70 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.11.0
19
+ version: 1.12.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.11.0
26
+ version: 1.12.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: utils
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: all_images
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: debug
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: term-ansicolor
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
27
83
  - !ruby/object:Gem::Dependency
28
84
  name: test-unit
29
85
  requirement: !ruby/object:Gem::Requirement
@@ -104,6 +160,7 @@ extra_rdoc_files:
104
160
  - lib/tins/implement.rb
105
161
  - lib/tins/limited.rb
106
162
  - lib/tins/lines_file.rb
163
+ - lib/tins/lru_cache.rb
107
164
  - lib/tins/memoize.rb
108
165
  - lib/tins/method_description.rb
109
166
  - lib/tins/minimize.rb
@@ -130,6 +187,7 @@ extra_rdoc_files:
130
187
  - lib/tins/terminal.rb
131
188
  - lib/tins/thread_local.rb
132
189
  - lib/tins/time_dummy.rb
190
+ - lib/tins/timed_cache.rb
133
191
  - lib/tins/to.rb
134
192
  - lib/tins/to_proc.rb
135
193
  - lib/tins/token.rb
@@ -185,14 +243,10 @@ extra_rdoc_files:
185
243
  - lib/tins/xt/uniq_by.rb
186
244
  - lib/tins/xt/write.rb
187
245
  files:
188
- - ".gitignore"
189
- - ".travis.yml"
190
246
  - COPYING
191
247
  - Gemfile
192
248
  - README.md
193
249
  - Rakefile
194
- - TODO
195
- - VERSION
196
250
  - examples/add_one.png
197
251
  - examples/add_one.stm
198
252
  - examples/bb3.png
@@ -250,6 +304,7 @@ files:
250
304
  - lib/tins/implement.rb
251
305
  - lib/tins/limited.rb
252
306
  - lib/tins/lines_file.rb
307
+ - lib/tins/lru_cache.rb
253
308
  - lib/tins/memoize.rb
254
309
  - lib/tins/method_description.rb
255
310
  - lib/tins/minimize.rb
@@ -276,6 +331,7 @@ files:
276
331
  - lib/tins/terminal.rb
277
332
  - lib/tins/thread_local.rb
278
333
  - lib/tins/time_dummy.rb
334
+ - lib/tins/timed_cache.rb
279
335
  - lib/tins/to.rb
280
336
  - lib/tins/to_proc.rb
281
337
  - lib/tins/token.rb
@@ -359,6 +415,7 @@ files:
359
415
  - tests/implement_test.rb
360
416
  - tests/limited_test.rb
361
417
  - tests/lines_file_test.rb
418
+ - tests/lru_cache_test.rb
362
419
  - tests/memoize_test.rb
363
420
  - tests/method_description_test.rb
364
421
  - tests/minimize_test.rb
@@ -395,7 +452,7 @@ homepage: https://github.com/flori/tins
395
452
  licenses:
396
453
  - MIT
397
454
  metadata: {}
398
- post_install_message:
455
+ post_install_message:
399
456
  rdoc_options:
400
457
  - "--title"
401
458
  - Tins - Useful stuff.
@@ -414,8 +471,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
414
471
  - !ruby/object:Gem::Version
415
472
  version: '0'
416
473
  requirements: []
417
- rubygems_version: 3.1.2
418
- signing_key:
474
+ rubygems_version: 3.3.17
475
+ signing_key:
419
476
  specification_version: 4
420
477
  summary: Useful stuff.
421
478
  test_files:
@@ -448,6 +505,7 @@ test_files:
448
505
  - tests/implement_test.rb
449
506
  - tests/limited_test.rb
450
507
  - tests/lines_file_test.rb
508
+ - tests/lru_cache_test.rb
451
509
  - tests/memoize_test.rb
452
510
  - tests/method_description_test.rb
453
511
  - tests/minimize_test.rb
data/.gitignore DELETED
@@ -1,11 +0,0 @@
1
- .*.sw[pon]
2
- .AppleDouble
3
- .DS_Store
4
- .bundle
5
- .byebug_history
6
- .rbx
7
- .rvmrc
8
- Gemfile.lock
9
- coverage
10
- pkg
11
- tags
data/.travis.yml DELETED
@@ -1,14 +0,0 @@
1
- rvm:
2
- - 2.0
3
- - 2.1
4
- - 2.2
5
- - 2.3
6
- - 2.4
7
- - 2.5
8
- - 2.6
9
- - 2.7
10
- - ruby-head
11
- matrix:
12
- allow_failures:
13
- - rvm: ruby-head
14
- sudo: false
data/TODO DELETED
@@ -1,3 +0,0 @@
1
- # TODO
2
-
3
- - Add Tins::Duration.parse(string) method.
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 1.25.0