lita-random 0.4.0 → 0.5.0
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 +4 -4
- data/CHANGELOG.md +14 -0
- data/Gemfile +0 -12
- data/README.md +21 -1
- data/lib/lita/handlers/random.rb +39 -0
- data/lita-random.gemspec +8 -1
- metadata +100 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c7291fd0f94e4f720014972892ee56aa6af1ade6
|
4
|
+
data.tar.gz: 3e0197b92dea5a058e0c59c6d35d5454c689f868
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c43770feea99772e18862c0a9704113df03a4fcf7c18972eca634875ff8fd36f6c9d16c46b58d6017649cf36b5bc35fb84dacfb1cb28721cfa6f1df649bc953d
|
7
|
+
data.tar.gz: a0f1601a1d74da07ece00975bbe20153ef95185fe84de199497241faf5a1c0e5b630b31328efee43fc1a742ce1f6ffafb7bd63e28c70bfc848b5af6bafcc1fa1
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v0.5.0](https://github.com/braiden-vasco/lita-random/tree/v0.5.0) (2015-06-24)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/braiden-vasco/lita-random/compare/v0.4.0...v0.5.0)
|
6
|
+
|
7
|
+
**Merged pull requests:**
|
8
|
+
|
9
|
+
- Add command "random case" [\#34](https://github.com/braiden-vasco/lita-random/pull/34) ([braiden-vasco](https://github.com/braiden-vasco))
|
10
|
+
|
11
|
+
- Add command "sample" [\#33](https://github.com/braiden-vasco/lita-random/pull/33) ([braiden-vasco](https://github.com/braiden-vasco))
|
12
|
+
|
13
|
+
- Add command "shuffle" [\#31](https://github.com/braiden-vasco/lita-random/pull/31) ([braiden-vasco](https://github.com/braiden-vasco))
|
14
|
+
|
15
|
+
- Move development dependencies to gemspec [\#30](https://github.com/braiden-vasco/lita-random/pull/30) ([braiden-vasco](https://github.com/braiden-vasco))
|
16
|
+
|
3
17
|
## [v0.4.0](https://github.com/braiden-vasco/lita-random/tree/v0.4.0) (2015-06-23)
|
4
18
|
|
5
19
|
[Full Changelog](https://github.com/braiden-vasco/lita-random/compare/v0.3.0...v0.4.0)
|
data/Gemfile
CHANGED
@@ -2,15 +2,3 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in lita-random.gemspec
|
4
4
|
gemspec
|
5
|
-
|
6
|
-
gem 'github_changelog_generator', '~> 1.6.1'
|
7
|
-
|
8
|
-
gem 'yard', '~> 0.8.7.6', require: false
|
9
|
-
gem 'redcarpet', require: false
|
10
|
-
|
11
|
-
gem 'rubocop', '~> 0.31.0', require: false
|
12
|
-
|
13
|
-
gem 'rspec', '~> 3.3.0'
|
14
|
-
|
15
|
-
gem 'simplecov', '~> 0.10.0', require: false
|
16
|
-
gem 'coveralls', require: false
|
data/README.md
CHANGED
@@ -17,7 +17,7 @@ At first, see the documentation for Lita: https://docs.lita.io/
|
|
17
17
|
Add **lita-random** to your Lita instance's Gemfile:
|
18
18
|
|
19
19
|
```ruby
|
20
|
-
gem 'lita-random', '~> 0.
|
20
|
+
gem 'lita-random', '~> 0.5.0'
|
21
21
|
```
|
22
22
|
|
23
23
|
### Commands
|
@@ -36,6 +36,9 @@ Command `random` has alias `rand`
|
|
36
36
|
* `random <from> <to>` -
|
37
37
|
random integer or float number, greater or equal to `from` and lesser than `to`
|
38
38
|
|
39
|
+
* `random case <s>` -
|
40
|
+
randomize case of each character of string `s`
|
41
|
+
|
39
42
|
Command `base64` has alias `b64`
|
40
43
|
|
41
44
|
* `random base64 <n=16>` -
|
@@ -63,6 +66,12 @@ Command `password` has alias `pass`
|
|
63
66
|
* `random smart password <n=8>` -
|
64
67
|
random pronounceable password with a minimum length of `n`
|
65
68
|
|
69
|
+
* `shuffle <array, ...>` -
|
70
|
+
new array with elements of `array` shuffled
|
71
|
+
|
72
|
+
* `sample <n=1> <array, ...>` -
|
73
|
+
choose `n` random elements from `array`
|
74
|
+
|
66
75
|
### Examples
|
67
76
|
|
68
77
|
```
|
@@ -85,6 +94,9 @@ Lita: 1240
|
|
85
94
|
You: lita random 12 13.5
|
86
95
|
Lita: 13.458799783677263
|
87
96
|
|
97
|
+
You: lita random case foo bar car cdr
|
98
|
+
Lita: FoO bAr CAr Cdr
|
99
|
+
|
88
100
|
You: lita random base64
|
89
101
|
Lite: 56wnZVVVStKG5+I6L4LVGw==
|
90
102
|
You: lita randb64 10
|
@@ -107,4 +119,12 @@ You: lita random smart password
|
|
107
119
|
Lita: mospowot
|
108
120
|
You: lita random smartpass 16
|
109
121
|
Lita: jophemyrdivezagi
|
122
|
+
|
123
|
+
You: lita shuffle 1, 2, 3, 4, 5
|
124
|
+
Lita: 3, 1, 5, 2, 4
|
125
|
+
|
126
|
+
You: lita sample 1, 2, 3, 4, 5
|
127
|
+
Lita: 4
|
128
|
+
You: lita sample 3 1, 2, 3, 4, 5
|
129
|
+
Lita: 5, 1, 2
|
110
130
|
```
|
data/lib/lita/handlers/random.rb
CHANGED
@@ -22,6 +22,9 @@ module Lita
|
|
22
22
|
'random integer or float number, ' \
|
23
23
|
'greater or equal to `from` and lesser than `to`',
|
24
24
|
|
25
|
+
'random case <s>' =>
|
26
|
+
'randomize case of each character of string `s`',
|
27
|
+
|
25
28
|
'random base64 <n=16>' =>
|
26
29
|
'random base64 string, length of source string is n, ' \
|
27
30
|
'length of result is about `n * 4 / 3` ' \
|
@@ -42,6 +45,12 @@ module Lita
|
|
42
45
|
|
43
46
|
'random smart password <n=8>' =>
|
44
47
|
'random pronounceable password with a minimum length of `n`',
|
48
|
+
|
49
|
+
'shuffle <array, ...>' =>
|
50
|
+
'new array with elements of `array` shuffled',
|
51
|
+
|
52
|
+
'sample <n=1> <array, ...>' =>
|
53
|
+
'choose `n` random elements from `array`',
|
45
54
|
}
|
46
55
|
|
47
56
|
route(/^rand(om)?$/i, :route_random, command: true, help: HELP)
|
@@ -80,6 +89,12 @@ module Lita
|
|
80
89
|
response.reply(::Random.rand(from...to).to_s)
|
81
90
|
end
|
82
91
|
|
92
|
+
route(/^rand(om)?\s*case(\s+(?<s>.*))?$/i,
|
93
|
+
:route_random_case, command: true)
|
94
|
+
def route_random_case(response)
|
95
|
+
response.reply(random_case(response.matches[0][0] || ''))
|
96
|
+
end
|
97
|
+
|
83
98
|
route(/^rand(om)?\s*b(ase)?64$/i, :route_random_base64, command: true)
|
84
99
|
def route_random_base64(response)
|
85
100
|
response.reply(SecureRandom.base64)
|
@@ -134,8 +149,32 @@ module Lita
|
|
134
149
|
response.reply(password(length))
|
135
150
|
end
|
136
151
|
|
152
|
+
route(/^shuffle(\s+(?<array>.*))?$/i, :route_shuffle, command: true)
|
153
|
+
def route_shuffle(response)
|
154
|
+
s = response.matches[0][0]
|
155
|
+
a = s ? s.split(',').map(&:strip) : []
|
156
|
+
response.reply(a.shuffle.join(', '))
|
157
|
+
end
|
158
|
+
|
159
|
+
route(/^sample(\s+((?<n>\d+)\s+)?(?<array>.*))?$/i,
|
160
|
+
:route_sample, command: true)
|
161
|
+
def route_sample(response)
|
162
|
+
matches = response.matches[0]
|
163
|
+
n = matches[0]
|
164
|
+
s = matches[1]
|
165
|
+
a = s ? s.split(',').map(&:strip) : []
|
166
|
+
result = n ? a.sample(n.to_i).join(', ') : a.sample.to_s
|
167
|
+
response.reply(result)
|
168
|
+
end
|
169
|
+
|
137
170
|
protected
|
138
171
|
|
172
|
+
def random_case(s)
|
173
|
+
s.each_char.map do |c|
|
174
|
+
::Random.rand(2).zero? ? c.upcase : c.downcase
|
175
|
+
end.join
|
176
|
+
end
|
177
|
+
|
139
178
|
SMART_PASS_SEQS = {
|
140
179
|
false => %w(
|
141
180
|
b c d f g h j k l m n p qu r s t v w x z
|
data/lita-random.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = 'lita-random'
|
5
|
-
spec.version = '0.
|
5
|
+
spec.version = '0.5.0'
|
6
6
|
spec.authors = ['Braiden Vasco']
|
7
7
|
spec.email = ['braiden-vasco@mailtor.net']
|
8
8
|
|
@@ -26,6 +26,13 @@ Gem::Specification.new do |spec|
|
|
26
26
|
|
27
27
|
spec.add_development_dependency 'bundler', '~> 1.7'
|
28
28
|
spec.add_development_dependency 'rake', '~> 10.0'
|
29
|
+
spec.add_development_dependency 'github_changelog_generator', '~> 1.6'
|
30
|
+
spec.add_development_dependency 'yard', '~> 0.8'
|
31
|
+
spec.add_development_dependency 'redcarpet'
|
32
|
+
spec.add_development_dependency 'rubocop', '~> 0.31'
|
33
|
+
spec.add_development_dependency 'rspec', '~> 3.3'
|
34
|
+
spec.add_development_dependency 'simplecov', '~> 0.10'
|
35
|
+
spec.add_development_dependency 'coveralls'
|
29
36
|
|
30
37
|
spec.add_runtime_dependency 'lita', '>= 4.4'
|
31
38
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lita-random
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Braiden Vasco
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -38,6 +38,104 @@ dependencies:
|
|
38
38
|
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: github_changelog_generator
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.6'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.6'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: yard
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.8'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.8'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: redcarpet
|
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'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.31'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.31'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rspec
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ~>
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '3.3'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ~>
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '3.3'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: simplecov
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0.10'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ~>
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0.10'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: coveralls
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - '>='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
41
139
|
- !ruby/object:Gem::Dependency
|
42
140
|
name: lita
|
43
141
|
requirement: !ruby/object:Gem::Requirement
|