w-stdlib 0.0.6 → 0.0.10

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: dd99fef38fdca3611556554681e8145c508f0b47c05666715d22fa9d140b7ae4
4
- data.tar.gz: 18bb93cb4afee1643613ffea02ebf9b184c4ac91d91dd1fb4ee36468eded286d
3
+ metadata.gz: 1be9c5b12a7d325c4714974c0a227b09aa561666e0c3b0cd8d07e1babb683686
4
+ data.tar.gz: 839f8736548006f150fe24181efac6e3e88e606c1e686a659045c08f492737dc
5
5
  SHA512:
6
- metadata.gz: 88b48766ca40cf10a79c0f72e216c7f94e4ee41b562269a75d357e196703d24d3f21a0c5e73033d804878ffafc2a21d8fa162cca6c7b3ebc6e2c9eeb00d6f7c0
7
- data.tar.gz: 87aaddafa3a127c5c037143452d0f13879e891257eb4594ad5e35ccb8c776f18ccdeeef820b7bd7ec844f118b9c76980a75b70ef1bada17454b3f2f9d5274f75
6
+ metadata.gz: aae578dff551dba2619b53c753da67d8e56cf9987a08e474d9eca3155f61debf8a54843227880783944e771bb7bca710f4a40f0dcafcc608c8b2231b12087bea
7
+ data.tar.gz: 9cbefb46f31a222904ecc7cf968330bb0933bf0755bc5ddeefff4e299b34c318554cad26f39e8d2ea001cfb7dc0396486a44d9d50277729c7892600b9dd858cd
@@ -5,6 +5,8 @@ require_relative './string'
5
5
  using StringExt
6
6
 
7
7
  module ArrayExt
8
+ SearchResult = Struct.new(:index, :value)
9
+
8
10
  refine Array do
9
11
  def tail
10
12
  self[1..self.length]
@@ -43,6 +45,25 @@ module ArrayExt
43
45
  each { puts _1.to_s }
44
46
  end
45
47
 
48
+ def search_from(i, direction=1, &blk)
49
+ loop do
50
+ i += direction
51
+ return nil if i < 0 || i > length-1
52
+
53
+ item = self[i]
54
+ return SearchResult.new(i, item) if yield(item)
55
+ end
56
+ end
57
+
58
+ def search_forward(i, &blk)
59
+ search_from(i, 1, &blk)
60
+ end
61
+
62
+ def search_backward(i, &blk)
63
+ search_from(i, -1, &blk)
64
+ end
65
+
66
+
46
67
  def search(str)
47
68
  select do
48
69
  s = block_given? ? yield(_1) : _1.to_s
@@ -111,5 +111,9 @@ module StringExt
111
111
  rescue
112
112
  false
113
113
  end
114
+
115
+ def indent_count
116
+ scan(/^\s+/).first&.length || 0
117
+ end
114
118
  end
115
119
  end
data/w-stdlib.gemspec CHANGED
@@ -1,9 +1,16 @@
1
1
  Gem::Specification.new do |g|
2
2
  g.name = 'w-stdlib'
3
- g.version = '0.0.6'
3
+ g.version = '0.0.10'
4
4
  g.summary = 'Pre-alpha package that contains abstractions that I find useful when scripting. Not suitable for production use. Breaking changes highly likely even with minor version bumps. Use at your own risk'
5
5
  g.description = g.summary
6
6
  g.authors = ['will@btlr.dev']
7
7
  g.email = 'will@btlr.dev'
8
8
  g.files = Dir['lib/**/*'] + %w(Gemfile w-stdlib.gemspec)
9
+ g.add_runtime_dependency 'parallel', '~> 1'
10
+ g.add_runtime_dependency 'http', '~> 5'
11
+ g.add_runtime_dependency 'netaddr', '~> 2'
12
+ g.add_runtime_dependency 'aws-sdk', '~> 3'
13
+ g.add_runtime_dependency 'sys-proctable', '~> 1'
14
+ g.add_runtime_dependency 'activesupport', '~> 7'
15
+ g.add_runtime_dependency 'jwt', '~> 2'
9
16
  end
metadata CHANGED
@@ -1,15 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: w-stdlib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - will@btlr.dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-15 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2022-02-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: parallel
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: http
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '5'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '5'
41
+ - !ruby/object:Gem::Dependency
42
+ name: netaddr
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: aws-sdk
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: sys-proctable
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: activesupport
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '7'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '7'
97
+ - !ruby/object:Gem::Dependency
98
+ name: jwt
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '2'
13
111
  description: Pre-alpha package that contains abstractions that I find useful when
14
112
  scripting. Not suitable for production use. Breaking changes highly likely even
15
113
  with minor version bumps. Use at your own risk