lita-random 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|