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 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