tbpgr_utils 0.0.124 → 0.0.125
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/README.md +12 -0
- data/lib/open_classes/hash/gte_gte.rb +45 -0
- data/lib/open_classes/hash.rb +2 -1
- data/lib/tbpgr_utils/version.rb +1 -1
- data/spec/open_classes/hash/gte_gte_spec.rb +62 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5fc1598c4a9745836b69d3e693518e378ed50524
|
4
|
+
data.tar.gz: 33fbfd44ef3af84f4255d67af96f4698b5fe5b84
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f36daa7c6afa67373d06f7d5b0205de4478762fe468731e80bc8d45c22bfcc6ca04aee8fb5243782f60239d4289a99f42c12d7d22110bc0b63fc6567d0cd1fa0
|
7
|
+
data.tar.gz: 273b432875e68ae54476dc0cf7550f2f28c2409d56296630eae0a6db32c041e209aa20de12b3810354c15e1b9b32e7752c2b7d5e34e12d9c2ab617f9893c41bf
|
data/README.md
CHANGED
@@ -83,6 +83,7 @@ Or install it yourself as:
|
|
83
83
|
|[TbpgrUtils Fixnum to_fixnum_html_table](#fixnum-to_fixnum_html_table) |return value is fixnum html table |
|
84
84
|
|[TbpgrUtils Fixnum to_fixnum_table](#fixnumto_fixnum_table) |return value is fixnum table |
|
85
85
|
|[Ghostable module](#ghostable) |help to create ghost method(dynamic method define by ussing method_missing + pattern-method-name) |
|
86
|
+
|[TbpgrUtils Hash#>>](#hash) |return HashContext for each execute |
|
86
87
|
|[TbpgrUtils Hash#html_table](#hashhtml_table) |get html table string from key + value |
|
87
88
|
|[TbpgrUtils Hash#table](#hashtable) |get pipe format table string from key + value |
|
88
89
|
|[TbpgrUtils Integer#palindromic_prime?](#integerpalindromic_prime) |Returns true if value is palindromic prime, false for a composite. |
|
@@ -1457,6 +1458,16 @@ dp_line __LINE__, filename: __FILE__, char: '@'
|
|
1457
1458
|
|
1458
1459
|
[back to list](#list)
|
1459
1460
|
|
1461
|
+
### Hash#>>
|
1462
|
+
~~~ruby
|
1463
|
+
require 'tbpgr_utils'
|
1464
|
+
h = {key1: "value1", key2: "value2"}
|
1465
|
+
h.>>.upcase # => {key1: "VALUE1", key2: "VALUE2"}
|
1466
|
+
h.>>.+('_hoge') # => {key1: "value1_hoge", key2: "value2_hoge"}
|
1467
|
+
~~~
|
1468
|
+
|
1469
|
+
[back to list](#list)
|
1470
|
+
|
1460
1471
|
### Hash#html_table
|
1461
1472
|
~~~ruby
|
1462
1473
|
require 'tbpgr_utils'
|
@@ -3603,6 +3614,7 @@ if you are Sublime Text2 user, you can use snippet for TbpgrUtils.
|
|
3603
3614
|
https://github.com/tbpgr/tbpgr_utils_snippets
|
3604
3615
|
|
3605
3616
|
## History
|
3617
|
+
* version 0.0.125 : add Hash#>>
|
3606
3618
|
* version 0.0.124 : change spec of Array#>>, String#>>
|
3607
3619
|
* version 0.0.123 : add String#>>
|
3608
3620
|
* version 0.0.122 : add String#justify_char
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# HashContext
|
4
|
+
class HashContext
|
5
|
+
attr_reader :receiver
|
6
|
+
def initialize(receiver)
|
7
|
+
@receiver = receiver
|
8
|
+
end
|
9
|
+
|
10
|
+
def method_missing(method_name, *args , &block)
|
11
|
+
result = nil
|
12
|
+
if args.size > 0
|
13
|
+
receiver.reduce({}) do |ret, (key, value)|
|
14
|
+
value = value.send method_name, *args
|
15
|
+
ret[key] = value
|
16
|
+
ret
|
17
|
+
end
|
18
|
+
else
|
19
|
+
receiver.reduce({}) do |ret, (key , value)|
|
20
|
+
value = value.send method_name
|
21
|
+
ret[key] = value
|
22
|
+
ret
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def to_h
|
28
|
+
@receiver
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
# Hash
|
33
|
+
class Hash
|
34
|
+
# return HashContext for each execute
|
35
|
+
#
|
36
|
+
# === Example
|
37
|
+
#
|
38
|
+
# h = {key1: "value1", key2: "value2"}
|
39
|
+
# h.>>.upcase # => {key1: "VALUE1", key2: "VALUE2"}
|
40
|
+
# h.>>.+('_hoge') # => {key1: "value1_hoge", key2: "value2_hoge"}
|
41
|
+
#
|
42
|
+
def >>(dummy = nil)
|
43
|
+
HashContext.new(self)
|
44
|
+
end
|
45
|
+
end
|
data/lib/open_classes/hash.rb
CHANGED
data/lib/tbpgr_utils/version.rb
CHANGED
@@ -0,0 +1,62 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'tbpgr_utils'
|
4
|
+
|
5
|
+
describe Hash do
|
6
|
+
context :>> do
|
7
|
+
cases = [
|
8
|
+
{
|
9
|
+
case_no: 1,
|
10
|
+
case_title: 'no args case',
|
11
|
+
input: { key1: 'value1', key2: 'value2' },
|
12
|
+
method_name: :upcase,
|
13
|
+
expected: { key1: 'VALUE1', key2: 'VALUE2' },
|
14
|
+
},
|
15
|
+
{
|
16
|
+
case_no: 2,
|
17
|
+
case_title: 'have args case',
|
18
|
+
input: { key1: 'value1', key2: 'value2' },
|
19
|
+
method_name: :+,
|
20
|
+
args: '_hoge',
|
21
|
+
expected: { key1: 'value1_hoge', key2: 'value2_hoge' },
|
22
|
+
},
|
23
|
+
{
|
24
|
+
case_no: 3,
|
25
|
+
case_title: 'to_h case',
|
26
|
+
input: { key1: 'value1', key2: 'value2' },
|
27
|
+
method_name: :to_h,
|
28
|
+
expected: { key1: 'value1', key2: 'value2' },
|
29
|
+
},
|
30
|
+
]
|
31
|
+
|
32
|
+
cases.each do |c|
|
33
|
+
it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
|
34
|
+
begin
|
35
|
+
case_before c
|
36
|
+
|
37
|
+
# -- given --
|
38
|
+
# nothing
|
39
|
+
|
40
|
+
# -- when/then --
|
41
|
+
if c[:args]
|
42
|
+
actual = c[:input].>>.send c[:method_name], *c[:args]
|
43
|
+
else
|
44
|
+
actual = c[:input].>>.send c[:method_name]
|
45
|
+
end
|
46
|
+
|
47
|
+
expect(actual).to eq(c[:expected])
|
48
|
+
ensure
|
49
|
+
case_after c
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def case_before(c)
|
54
|
+
# implement each case before
|
55
|
+
end
|
56
|
+
|
57
|
+
def case_after(c)
|
58
|
+
# implement each case after
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.125
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- tbpgr
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -171,6 +171,7 @@ files:
|
|
171
171
|
- lib/open_classes/fixnum/to_fixnum_html_table.rb
|
172
172
|
- lib/open_classes/fixnum/to_fixnum_table.rb
|
173
173
|
- lib/open_classes/hash.rb
|
174
|
+
- lib/open_classes/hash/gte_gte.rb
|
174
175
|
- lib/open_classes/hash/html_table.rb
|
175
176
|
- lib/open_classes/hash/table.rb
|
176
177
|
- lib/open_classes/integer.rb
|
@@ -306,6 +307,7 @@ files:
|
|
306
307
|
- spec/open_classes/array/together_with_index_spec.rb
|
307
308
|
- spec/open_classes/fixnum/to_fixnum_html_table_spec.rb
|
308
309
|
- spec/open_classes/fixnum/to_fixnum_table_spec.rb
|
310
|
+
- spec/open_classes/hash/gte_gte_spec.rb
|
309
311
|
- spec/open_classes/hash/html_table_spec.rb
|
310
312
|
- spec/open_classes/hash/table_spec.rb
|
311
313
|
- spec/open_classes/integer/palindromic_prime_spec.rb
|
@@ -460,6 +462,7 @@ test_files:
|
|
460
462
|
- spec/open_classes/array/together_with_index_spec.rb
|
461
463
|
- spec/open_classes/fixnum/to_fixnum_html_table_spec.rb
|
462
464
|
- spec/open_classes/fixnum/to_fixnum_table_spec.rb
|
465
|
+
- spec/open_classes/hash/gte_gte_spec.rb
|
463
466
|
- spec/open_classes/hash/html_table_spec.rb
|
464
467
|
- spec/open_classes/hash/table_spec.rb
|
465
468
|
- spec/open_classes/integer/palindromic_prime_spec.rb
|