w-stdlib 0.0.5 → 0.0.9

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: 04c50ead7377d2c59951d5cc7ba399bf1e9369e23cb3d94b4884d2dadcce3a31
4
- data.tar.gz: e56cfa336ffecdf871e11f9390d1e4522b59610034dfb48bbafe1c80afc31c0f
3
+ metadata.gz: cecbee5e3aa41749ef12eb7baa007b80d838b7116583b827c3fc24678061d9ec
4
+ data.tar.gz: e56d2494c0d9207c20dc9e18ff8d3ed32f0f766be29dc36f257276cc6fb94efa
5
5
  SHA512:
6
- metadata.gz: 4b395f06878b1552788db94781245b1d5ad14a32b3774bf85474a48c7715f55b241030b5fdf3d4b32d79b27b6913b7faab22f42eea34108e09c3e13e47713a22
7
- data.tar.gz: be726cc0a08511909f76582f9cbe32bdb267e88f6ac06e9a7eb2a971b316ca3bc86460550de13c8c97accd26f8e98560ac29a5547542cfac03670b59b064923b
6
+ metadata.gz: e4ec2e7376b8ae6e2d72ebe191cdfddcfd43ae259e7ba8edee671dafafbb8ee8959e151a32f1fff7d14d909dedbc2d87537832d40bc57eee576cd962b7637f4a
7
+ data.tar.gz: a47816d547d543c4587c05083d0bc16e96ec97c7c0501391842e028c6fd305d9f2fc34134d5881ad6eab67f29f7953fd2b08e9b5def5ac849cb51246dd8fd6ce
data/lib/w-stdlib/aws.rb CHANGED
@@ -1,7 +1,7 @@
1
- require_relative '../lib/glob'
2
- require_relative '../lib/core_ext/string'
3
- require_relative '../lib/core_ext/object'
4
- require_relative '../lib/core_ext/hash'
1
+ require_relative './glob'
2
+ require_relative './core_ext/string'
3
+ require_relative './core_ext/object'
4
+ require_relative './core_ext/hash'
5
5
 
6
6
  using StringExt
7
7
  using ObjectExt
@@ -1,10 +1,12 @@
1
1
  require 'parallel'
2
2
  require 'etc'
3
- require_relative '../../lib/core_ext/string'
3
+ require_relative './string'
4
4
 
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
@@ -1,4 +1,4 @@
1
- require_relative '../../lib/core_ext/string'
1
+ require_relative './string'
2
2
 
3
3
  using StringExt
4
4
 
@@ -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
117
+ end
114
118
  end
115
119
  end
@@ -1,9 +1,8 @@
1
1
  require 'http'
2
2
  require 'json'
3
3
  require 'uri'
4
- require_relative '../lib/core_ext/uri'
5
- require_relative '../lib/uri'
6
- require_relative '../lib/core_ext/string'
4
+ require_relative './uri'
5
+ require_relative './core_ext/string'
7
6
 
8
7
  using StringExt
9
8
 
@@ -1,6 +1,6 @@
1
1
  require 'sys/proctable'
2
- require_relative '../lib/core_ext/file'
3
- require_relative '../lib/core_ext/string'
2
+ require_relative './core_ext/file'
3
+ require_relative './core_ext/string'
4
4
  using FileExt
5
5
  using StringExt
6
6
 
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.5'
3
+ g.version = '0.0.9'
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.5
4
+ version: 0.0.9
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-01-14 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