tbpgr_utils 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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
 
@@ -4,13 +4,13 @@
4
4
  class Array
5
5
  # ==Arrays loop together
6
6
  def together
7
- self.each {|f|fail TypeError, "you have to use [Array1, Array2, ...] | #{f.class} is invalid" unless f.class == Array}
8
- self.first.each_with_index do |i_v, i|
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
- self.each_with_index do |j_v, j|
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
@@ -1,14 +1,20 @@
1
1
  # encoding: utf-8
2
2
 
3
- # =Object
3
+ #= Object
4
4
  class Object
5
- # == check boolean type
5
+ #== check boolean type
6
6
  def boolean?
7
7
  self.is_a?(TrueClass) || self.is_a?(FalseClass)
8
8
  end
9
9
 
10
- # ==get self define methods.
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
@@ -2,5 +2,5 @@
2
2
 
3
3
  # =Tbpgr Utilities
4
4
  module TbpgrUtils
5
- VERSION = '0.0.2'
5
+ VERSION = '0.0.3'
6
6
  end
data/spec/array_spec.rb CHANGED
@@ -1,52 +1,52 @@
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
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.2
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-01 00:00:00.000000000 Z
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: &22691088 !ruby/object:Gem::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: *22691088
24
+ version_requirements: *28185480
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &22710612 !ruby/object:Gem::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: *22710612
35
+ version_requirements: *28185024
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &22709268 !ruby/object:Gem::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: *22709268
46
+ version_requirements: *28183776
47
47
  description: Utilities
48
48
  email:
49
49
  - tbpgr@tbpgr.jp