w-stdlib 0.0.4 → 0.0.8

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: 28500d59522b12dd5198f4ecd55ee5654d5948f90153ed03f343173f87841217
4
- data.tar.gz: 9e6c62b9006a8a9fc58867eabbd9ca83009627652e03621cbf84f1a4e8b186bc
3
+ metadata.gz: cc64d724b016b3f555d71fae2440c34e13459df6615e2a518a08d9642bca4cec
4
+ data.tar.gz: 4fbd5500991657413b9699cce72641794210f6e8971bf131a16194259edc5131
5
5
  SHA512:
6
- metadata.gz: 69b005c0a9a697a8f63aa09e7584e5417c64185a1b129028ed558b971d3c32cc45675082e1cd06fb04df4f3a16476876b11d20a585866606f7253a8779309fa2
7
- data.tar.gz: 0c7b14ba520328544960cea79efe5c16f161c120b6d61e867948ccff49ee5a35e0d134fa4e221464d861a1d30097f437c2766104388a3e7dff04fd183d6ab898
6
+ metadata.gz: e53396704f27b48ea789bb1b5bb26a69a2680dc2b923b799ad833a2c70538f3565d0721f4cc17e7c5eeb954ffab7b892e892f8bbdd7e7800869a81bf550fe313
7
+ data.tar.gz: 6d5f2a569312bc31b8b532b56810d605fcfa1a9e3945d6f891e8bdd398eefaebc79a4d407aef6eef0d920ecc70934d0104e57c4acca3a7a2cc8441a17f6ae51f
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
 
@@ -5,8 +5,8 @@ require 'yaml'
5
5
 
6
6
  module StringExt
7
7
  refine String do
8
- def from_yaml(string)
9
- YAML.safe_load(string)
8
+ def from_yaml
9
+ YAML.safe_load(self)
10
10
  end
11
11
 
12
12
  def from_json
@@ -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.4'
3
+ g.version = '0.0.8'
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.4
4
+ version: 0.0.8
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