tbpgr_utils 0.0.2 → 0.0.3
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.
- data/README.md +14 -0
- data/lib/open_classes/array.rb +4 -4
- data/lib/open_classes/object.rb +9 -3
- data/lib/tbpgr_utils/version.rb +1 -1
- data/spec/array_spec.rb +52 -52
- data/spec/object_spec.rb +68 -1
- metadata +8 -8
data/README.md
CHANGED
@@ -21,6 +21,7 @@ Or install it yourself as:
|
|
21
21
|
| dsl| mean|
|
22
22
|
|:-----------|:------------|
|
23
23
|
|Array#together|loop all arrays by block|
|
24
|
+
|Object#any_of?|if self match any one of items, return true|
|
24
25
|
|Object#boolean?|data type check for boolean|
|
25
26
|
|Object#my_methods|return public/protected/private self define methods|
|
26
27
|
|String#justify_table|justify pipe format table string|
|
@@ -36,6 +37,18 @@ numbers = %w{1 2 3}
|
|
36
37
|
end
|
37
38
|
~~~
|
38
39
|
|
40
|
+
### Object#any_of?
|
41
|
+
~~~ruby
|
42
|
+
require 'tbpgr_utils'
|
43
|
+
|
44
|
+
p 'hoge'.any_of? 'hoge', 'hige' # =>true
|
45
|
+
p 'hoge'.any_of?(*%w{hoge hige}) # =>true
|
46
|
+
p 'hige'.any_of? 'hoge', 'hige' # =>true
|
47
|
+
p 'hege'.any_of? 'hoge', 'hige' # =>false
|
48
|
+
p 1.any_of? 1, 2, 3 # =>true
|
49
|
+
p 4.any_of? 1, 2, 3 # =>false
|
50
|
+
~~~
|
51
|
+
|
39
52
|
### Object#boolean?
|
40
53
|
~~~ruby
|
41
54
|
require 'tbpgr_utils'
|
@@ -88,6 +101,7 @@ output
|
|
88
101
|
~~~
|
89
102
|
|
90
103
|
## History
|
104
|
+
* version 0.0.3 : add Object#any_of?
|
91
105
|
* version 0.0.2 : loop all arrays by block.
|
92
106
|
* version 0.0.1 : first release.
|
93
107
|
|
data/lib/open_classes/array.rb
CHANGED
@@ -4,13 +4,13 @@
|
|
4
4
|
class Array
|
5
5
|
# ==Arrays loop together
|
6
6
|
def together
|
7
|
-
|
8
|
-
|
7
|
+
each { |f|fail TypeError, "you have to use [Array1, Array2, ...] | #{f.class} is invalid" unless f.class == Array }
|
8
|
+
first.each_with_index do |i_v, i|
|
9
9
|
eval_each = []
|
10
|
-
|
10
|
+
each_with_index do |j_v, j|
|
11
11
|
eval_each << "self[#{j}][#{i}]"
|
12
12
|
end
|
13
|
-
eval_each_str = eval_each.join(
|
13
|
+
eval_each_str = eval_each.join(',')
|
14
14
|
instance_eval "yield(#{eval_each_str})"
|
15
15
|
end
|
16
16
|
end
|
data/lib/open_classes/object.rb
CHANGED
@@ -1,14 +1,20 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
|
3
|
+
#= Object
|
4
4
|
class Object
|
5
|
-
|
5
|
+
#== check boolean type
|
6
6
|
def boolean?
|
7
7
|
self.is_a?(TrueClass) || self.is_a?(FalseClass)
|
8
8
|
end
|
9
9
|
|
10
|
-
|
10
|
+
#== get self define methods.
|
11
11
|
def my_methods
|
12
12
|
public_methods(false) + protected_methods(false) + private_methods(false)
|
13
13
|
end
|
14
|
+
|
15
|
+
#== if self match any one of args, return true.
|
16
|
+
def any_of?(*args)
|
17
|
+
args.each {|value|return true if self == value}
|
18
|
+
false
|
19
|
+
end
|
14
20
|
end
|
data/lib/tbpgr_utils/version.rb
CHANGED
data/spec/array_spec.rb
CHANGED
@@ -1,52 +1,52 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require
|
3
|
-
require
|
4
|
-
|
5
|
-
describe Array do
|
6
|
-
|
7
|
-
context :together do
|
8
|
-
cases = [
|
9
|
-
{
|
10
|
-
case_no: 1,
|
11
|
-
case_title:
|
12
|
-
inputs: [[1, 2, 3], %w{one two three}],
|
13
|
-
expected: [
|
14
|
-
},
|
15
|
-
{
|
16
|
-
case_no: 2,
|
17
|
-
case_title:
|
18
|
-
inputs: [[1, 2, 3], %w{one two}],
|
19
|
-
expected: [
|
20
|
-
},
|
21
|
-
]
|
22
|
-
|
23
|
-
cases.each do |c|
|
24
|
-
it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
|
25
|
-
begin
|
26
|
-
case_before c
|
27
|
-
|
28
|
-
# -- given --
|
29
|
-
# nothing
|
30
|
-
|
31
|
-
# -- when/then --
|
32
|
-
actual = []
|
33
|
-
c[:inputs].together do |first, second|
|
34
|
-
actual << "#{first}:#{second}"
|
35
|
-
end
|
36
|
-
|
37
|
-
expect(actual).to eq(c[:expected])
|
38
|
-
ensure
|
39
|
-
case_after c
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
def case_before(c)
|
44
|
-
# implement each case before
|
45
|
-
end
|
46
|
-
|
47
|
-
def case_after(c)
|
48
|
-
# implement each case after
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'tbpgr_utils'
|
4
|
+
|
5
|
+
describe Array do
|
6
|
+
|
7
|
+
context :together do
|
8
|
+
cases = [
|
9
|
+
{
|
10
|
+
case_no: 1,
|
11
|
+
case_title: 'valid case',
|
12
|
+
inputs: [[1, 2, 3], %w{one two three}],
|
13
|
+
expected: ['1:one', '2:two', '3:three'],
|
14
|
+
},
|
15
|
+
{
|
16
|
+
case_no: 2,
|
17
|
+
case_title: 'contain nil case',
|
18
|
+
inputs: [[1, 2, 3], %w{one two}],
|
19
|
+
expected: ['1:one', '2:two', '3:'],
|
20
|
+
},
|
21
|
+
]
|
22
|
+
|
23
|
+
cases.each do |c|
|
24
|
+
it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
|
25
|
+
begin
|
26
|
+
case_before c
|
27
|
+
|
28
|
+
# -- given --
|
29
|
+
# nothing
|
30
|
+
|
31
|
+
# -- when/then --
|
32
|
+
actual = []
|
33
|
+
c[:inputs].together do |first, second|
|
34
|
+
actual << "#{first}:#{second}"
|
35
|
+
end
|
36
|
+
|
37
|
+
expect(actual).to eq(c[:expected])
|
38
|
+
ensure
|
39
|
+
case_after c
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def case_before(c)
|
44
|
+
# implement each case before
|
45
|
+
end
|
46
|
+
|
47
|
+
def case_after(c)
|
48
|
+
# implement each case after
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
data/spec/object_spec.rb
CHANGED
@@ -3,7 +3,6 @@ require 'spec_helper'
|
|
3
3
|
require 'tbpgr_utils'
|
4
4
|
|
5
5
|
describe Object do
|
6
|
-
|
7
6
|
context :boolean? do
|
8
7
|
cases = [
|
9
8
|
{
|
@@ -121,4 +120,72 @@ describe Object do
|
|
121
120
|
end
|
122
121
|
end
|
123
122
|
end
|
123
|
+
|
124
|
+
|
125
|
+
context :any_of? do
|
126
|
+
cases = [
|
127
|
+
{
|
128
|
+
case_no: 1,
|
129
|
+
case_title: 'true case',
|
130
|
+
input: 'hoge',
|
131
|
+
check: %w{hoge hige},
|
132
|
+
expected: true,
|
133
|
+
},
|
134
|
+
{
|
135
|
+
case_no: 2,
|
136
|
+
case_title: 'true case',
|
137
|
+
input: 'hige',
|
138
|
+
check: %w{hoge hige},
|
139
|
+
expected: true,
|
140
|
+
},
|
141
|
+
{
|
142
|
+
case_no: 3,
|
143
|
+
case_title: 'false case',
|
144
|
+
input: 'hege',
|
145
|
+
check: %w{hoge hige},
|
146
|
+
expected: false,
|
147
|
+
},
|
148
|
+
{
|
149
|
+
case_no: 4,
|
150
|
+
case_title: 'number true case',
|
151
|
+
input: 1,
|
152
|
+
check: [1, 2, 3, 4, 5],
|
153
|
+
expected: true,
|
154
|
+
},
|
155
|
+
{
|
156
|
+
case_no: 5,
|
157
|
+
case_title: 'number true case',
|
158
|
+
input: 6,
|
159
|
+
check: [1, 2, 3, 4, 5],
|
160
|
+
expected: false,
|
161
|
+
},
|
162
|
+
]
|
163
|
+
|
164
|
+
cases.each do |c|
|
165
|
+
it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
|
166
|
+
begin
|
167
|
+
case_before c
|
168
|
+
|
169
|
+
# -- given --
|
170
|
+
# nothing
|
171
|
+
|
172
|
+
# -- when --
|
173
|
+
actual = c[:input].any_of?(*c[:check])
|
174
|
+
|
175
|
+
# -- then --
|
176
|
+
expect(actual).to eq(c[:expected])
|
177
|
+
ensure
|
178
|
+
case_after c
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
182
|
+
def case_before(c)
|
183
|
+
# implement each case before
|
184
|
+
end
|
185
|
+
|
186
|
+
def case_after(c)
|
187
|
+
# implement each case after
|
188
|
+
end
|
189
|
+
end
|
190
|
+
end
|
124
191
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tbpgr_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-01-
|
12
|
+
date: 2014-01-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
16
|
-
requirement: &
|
16
|
+
requirement: &28185480 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '1.3'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *28185480
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rake
|
27
|
-
requirement: &
|
27
|
+
requirement: &28185024 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *28185024
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &28183776 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: 2.14.1
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *28183776
|
47
47
|
description: Utilities
|
48
48
|
email:
|
49
49
|
- tbpgr@tbpgr.jp
|