tbpgr_utils 0.0.18 → 0.0.19
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 +98 -26
- data/lib/attributes_hashable.rb +29 -0
- data/lib/attributes_initializable.rb +0 -1
- data/lib/tbpgr_utils/version.rb +1 -1
- data/spec/attributes_hashable_spec.rb +63 -0
- metadata +15 -12
data/README.md
CHANGED
@@ -18,32 +18,33 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
## Usage
|
20
20
|
### List
|
21
|
-
| class/module/method
|
22
|
-
|:-----------
|
23
|
-
|TbpgrUtils Array#together
|
24
|
-
|TbpgrUtils Array#together_concat
|
25
|
-
|TbpgrUtils Array#together_map
|
26
|
-
|TbpgrUtils Array#together_reduce |together version of Enumerable#reduce. together_reduce has aliases [:treduce, :together_inject, :tinject]
|
27
|
-
|TbpgrUtils Array#together_select
|
28
|
-
|TbpgrUtils Array#together_with_index
|
29
|
-
|
|
30
|
-
|AttributesInitializable::ClassMethods.
|
31
|
-
|AttributesInitializable::ClassMethods.
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|TestToolbox Kernel#
|
36
|
-
|
|
37
|
-
|TbpgrUtils Kernel#
|
38
|
-
|TbpgrUtils Kernel#
|
39
|
-
|TbpgrUtils
|
40
|
-
|TbpgrUtils
|
41
|
-
|TbpgrUtils Object#
|
42
|
-
|TbpgrUtils Object#
|
43
|
-
|TbpgrUtils Object#
|
44
|
-
|TbpgrUtils
|
45
|
-
|
|
46
|
-
|
|
21
|
+
| class/module/method | mean |
|
22
|
+
|:----------- |:------------ |
|
23
|
+
|[TbpgrUtils Array#together](#arraytogether) |loop all arrays by block |
|
24
|
+
|[TbpgrUtils Array#together_concat](#arraytogether_concat) |together version of Array#concat. together_concat has alias :tconcat |
|
25
|
+
|[TbpgrUtils Array#together_map](#arraytogether_mapor-tmap-together_collect-tcollect) |together version of Enumerable#map. together_map has aliases [:tmap, :together_collect, :tcollect] |
|
26
|
+
|[TbpgrUtils Array#together_reduce](#arraytogether_reduceor-treduce-together_inject-tinject) |together version of Enumerable#reduce. together_reduce has aliases [:treduce, :together_inject, :tinject] |
|
27
|
+
|[TbpgrUtils Array#together_select](#arraytogether_selector-tselect-together_find_all-tfindall) |together version of Enumerable#select. together_select has aliases [:tselect, :together_find_all, :tfindall] |
|
28
|
+
|[TbpgrUtils Array#together_with_index](#arraytogether_with_index) |loop all arrays by block with index |
|
29
|
+
|[AttributesHashable.to_hash](#attributeshashableto_hash) |define to_hash method for get instance_values |
|
30
|
+
|[AttributesInitializable::ClassMethods.attr_accessor_init](#attributesinitializableclassmethodsattr_accessor_init) |generate attr_accessor + initializer |
|
31
|
+
|[AttributesInitializable::ClassMethods.attr_reader_init](#attributesinitializableclassmethodsattr_reader_init) |generate attr_reader + initializer |
|
32
|
+
|[AttributesInitializable::ClassMethods.attr_writer init](#attributesinitializableclassmethodsattr_writer_init) |generate attr_writer + initializer |
|
33
|
+
|[Ghostable module](#ghostable) |help to create ghost method(dynamic method define by ussing method_missing + pattern-method-name) |
|
34
|
+
|[TbpgrUtils Kernel#bulk_define_methods](#kernelbulk_define_methods) |define methods to classes. methods have simple return value. |
|
35
|
+
|[TestToolbox Kernel#capture_stdout](#kernelcapture_stdout) |capture STDOUT |
|
36
|
+
|[TestToolbox Kernel#dp_line](#kerneldp_line) |debug print line for print-debugging |
|
37
|
+
|[TbpgrUtils Kernel#print_eval](#kernelprint_eval) |Print code + eval result |
|
38
|
+
|[TbpgrUtils Kernel#puts_eval](#kernelputs_eval) |Puts code + eval result |
|
39
|
+
|[TbpgrUtils Kernel#bulk_puts_eval](#kernelbulk_puts_eval) |Puts each-line-code + eval result |
|
40
|
+
|[TbpgrUtils Module.alias_methods](#modulealias_methods) |create alias methods |
|
41
|
+
|[TbpgrUtils Object#any_of?](#objectany_of) |if self match any one of items, return true |
|
42
|
+
|[TbpgrUtils Object#boolean?](#objectboolean) |data type check for boolean |
|
43
|
+
|[TbpgrUtils Object#my_methods](#objectmy_methods) |return public/protected/private self define methods |
|
44
|
+
|[TbpgrUtils Object#to_bool](#objectto_bool) |syntax sugar of !!. convert [false, nil] => fasel, other => true. |
|
45
|
+
|[TbpgrUtils String#justify_table](#stringjustify_table) |justify pipe format table string |
|
46
|
+
|[Templatable module](#templatable) |get result from template + placeholder |
|
47
|
+
|[TemplateMethodable module](#templatemethodable) |for Template Method Pattern |
|
47
48
|
|
48
49
|
### Array#together
|
49
50
|
~~~ruby
|
@@ -56,6 +57,8 @@ numbers = %w{1 2 3}
|
|
56
57
|
end
|
57
58
|
~~~
|
58
59
|
|
60
|
+
[back to list](#list)
|
61
|
+
|
59
62
|
### Array#together_concat
|
60
63
|
~~~ruby
|
61
64
|
require 'tbpgr_utils'
|
@@ -68,6 +71,8 @@ print alpha # => ["one", "two", "three", 4, 5, 6]
|
|
68
71
|
print numbers # => ["1", "2", "3", 4, 5, 6]
|
69
72
|
~~~
|
70
73
|
|
74
|
+
[back to list](#list)
|
75
|
+
|
71
76
|
### Array#together_map(or tmap, together_collect, tcollect)
|
72
77
|
~~~ruby
|
73
78
|
require 'tbpgr_utils'
|
@@ -88,6 +93,8 @@ ret = [alpha, numbers].together_map {|first, second|[["#{first}:ret"], ["#{secon
|
|
88
93
|
print ret # => output [["one:ret", "two:ret", "three:ret"],["1:ret", "2:ret", "3:ret"]]
|
89
94
|
~~~
|
90
95
|
|
96
|
+
[back to list](#list)
|
97
|
+
|
91
98
|
### Array#together_reduce(or :treduce, :together_inject, :tinject)
|
92
99
|
* if you want to single return
|
93
100
|
|
@@ -134,6 +141,8 @@ ret = [firsts, seconds].together_reduce({}){|memo, first, second|memo[first] = s
|
|
134
141
|
print ret # => output {1=>4, 2=>2, 3=>3, 4=>1}
|
135
142
|
~~~
|
136
143
|
|
144
|
+
[back to list](#list)
|
145
|
+
|
137
146
|
### Array#together_select(or tselect, together_find_all, tfindall)
|
138
147
|
~~~ruby
|
139
148
|
require 'tbpgr_utils'
|
@@ -154,6 +163,8 @@ ret = [firsts, seconds].together_select{|first, second|[first.odd?, second.even?
|
|
154
163
|
print ret # => output [[1, 3], [4, 2]]
|
155
164
|
~~~
|
156
165
|
|
166
|
+
[back to list](#list)
|
167
|
+
|
157
168
|
### Array#together_with_index
|
158
169
|
~~~ruby
|
159
170
|
require 'tbpgr_utils'
|
@@ -165,6 +176,32 @@ numbers = %w{1 2 3}
|
|
165
176
|
end
|
166
177
|
~~~
|
167
178
|
|
179
|
+
[back to list](#list)
|
180
|
+
|
181
|
+
### AttributesHashable.to_hash
|
182
|
+
~~~ruby
|
183
|
+
require 'attributes_initializable'
|
184
|
+
require 'attributes_hashable'
|
185
|
+
|
186
|
+
class Hoge
|
187
|
+
include AttributesInitializable
|
188
|
+
attr_accessor_init :hoge, :hige
|
189
|
+
include AttributesHashable
|
190
|
+
end
|
191
|
+
|
192
|
+
hoge = Hoge.new do |h|
|
193
|
+
h.hoge = 'hoge'
|
194
|
+
h.hige = 'hige'
|
195
|
+
end
|
196
|
+
|
197
|
+
hoge.to_hash # => {:hoge=>"hoge", :hige=>"hige"}
|
198
|
+
|
199
|
+
# After include AttributesHashable, you can use Hash.try_convert.
|
200
|
+
Hash.try_convert hoge # => {:hoge=>"hoge", :hige=>"hige"}
|
201
|
+
~~~
|
202
|
+
|
203
|
+
[back to list](#list)
|
204
|
+
|
168
205
|
### AttributesInitializable::ClassMethods.attr_accessor_init
|
169
206
|
~~~ruby
|
170
207
|
require 'attributes_initializable'
|
@@ -210,6 +247,8 @@ p atr_sample2.atr1 # => atr1
|
|
210
247
|
p atr_sample2.atr2 # => atr2
|
211
248
|
~~~
|
212
249
|
|
250
|
+
[back to list](#list)
|
251
|
+
|
213
252
|
### AttributesInitializable::ClassMethods.attr_reader_init
|
214
253
|
~~~ruby
|
215
254
|
require 'attributes_initializable'
|
@@ -253,6 +292,8 @@ p atr_sample1.atr2 # => atr2
|
|
253
292
|
# end
|
254
293
|
~~~
|
255
294
|
|
295
|
+
[back to list](#list)
|
296
|
+
|
256
297
|
### AttributesInitializable::ClassMethods.attr_writer_init
|
257
298
|
~~~ruby
|
258
299
|
require 'attributes_initializable'
|
@@ -311,6 +352,8 @@ atr_sample2.instance_variable_get "@atr1" # => atr1
|
|
311
352
|
atr_sample2.instance_variable_get "@atr2" # => atr2
|
312
353
|
~~~
|
313
354
|
|
355
|
+
[back to list](#list)
|
356
|
+
|
314
357
|
### Ghostable
|
315
358
|
* include Ghostable
|
316
359
|
* create ghost method by using Ghostable::ghost_method
|
@@ -358,6 +401,8 @@ sample.contain_hoge? "test_hige_test" # => return false
|
|
358
401
|
sample.contain_hige? "test_hige_test" # => return true
|
359
402
|
~~~
|
360
403
|
|
404
|
+
[back to list](#list)
|
405
|
+
|
361
406
|
### Kernel#capture_stdout
|
362
407
|
capture STDOUT to String. This method can use in STDOUT contents test.
|
363
408
|
|
@@ -370,6 +415,8 @@ result = capture_stdout {puts "test"} # => "test"
|
|
370
415
|
result = capture_stdout {sleep 0.1} # => ""(empty)
|
371
416
|
~~~
|
372
417
|
|
418
|
+
[back to list](#list)
|
419
|
+
|
373
420
|
### Kernel#dp_line
|
374
421
|
debug print line for print-debugging.
|
375
422
|
|
@@ -392,6 +439,8 @@ dp_line __LINE__, filename: __FILE__, char: '@'
|
|
392
439
|
# => @@@@@@@@@@@@@@@@@@@@|filename=xx|line=yy$|@@@@@@@@@@@@@@@@@@@@\n
|
393
440
|
~~~
|
394
441
|
|
442
|
+
[back to list](#list)
|
443
|
+
|
395
444
|
### Kernel#bulk_define_methods
|
396
445
|
Define methods to classes. Methods have simple return value.
|
397
446
|
|
@@ -441,6 +490,8 @@ class FalseClass
|
|
441
490
|
end
|
442
491
|
~~~
|
443
492
|
|
493
|
+
[back to list](#list)
|
494
|
+
|
444
495
|
### Kernel#print_eval
|
445
496
|
This method for sample code. for manual, for blog-entry's-snippet ...etc.
|
446
497
|
|
@@ -456,6 +507,8 @@ output
|
|
456
507
|
8/4 # => 2"hoge-#{message}" # => "hoge-msg"
|
457
508
|
~~~
|
458
509
|
|
510
|
+
[back to list](#list)
|
511
|
+
|
459
512
|
### Kernel#puts_eval
|
460
513
|
This method for sample code. for manual, for blog-entry's-snippet ...etc.
|
461
514
|
|
@@ -472,6 +525,8 @@ output
|
|
472
525
|
"hoge-#{message}" # => "hoge-msg"
|
473
526
|
~~~
|
474
527
|
|
528
|
+
[back to list](#list)
|
529
|
+
|
475
530
|
### Kernel#bulk_puts_eval
|
476
531
|
multi line version of puts_eval.
|
477
532
|
|
@@ -489,6 +544,8 @@ output
|
|
489
544
|
"hoge-hige2" + "add" + message # => "hoge-hige2addmsg"
|
490
545
|
~~~
|
491
546
|
|
547
|
+
[back to list](#list)
|
548
|
+
|
492
549
|
### Module.alias_methods
|
493
550
|
create alias methods.
|
494
551
|
|
@@ -522,6 +579,8 @@ class Hoge
|
|
522
579
|
end
|
523
580
|
~~~
|
524
581
|
|
582
|
+
[back to list](#list)
|
583
|
+
|
525
584
|
### Object#any_of?
|
526
585
|
~~~ruby
|
527
586
|
require 'tbpgr_utils'
|
@@ -534,6 +593,8 @@ p 1.any_of? 1, 2, 3 # =>true
|
|
534
593
|
p 4.any_of? 1, 2, 3 # =>false
|
535
594
|
~~~
|
536
595
|
|
596
|
+
[back to list](#list)
|
597
|
+
|
537
598
|
### Object#boolean?
|
538
599
|
~~~ruby
|
539
600
|
require 'tbpgr_utils'
|
@@ -545,6 +606,8 @@ p "".boolean? # =>false
|
|
545
606
|
p "true".boolean? # =>false
|
546
607
|
~~~
|
547
608
|
|
609
|
+
[back to list](#list)
|
610
|
+
|
548
611
|
### Object#my_methods
|
549
612
|
~~~ruby
|
550
613
|
require 'tbpgr_utils'
|
@@ -565,6 +628,8 @@ end
|
|
565
628
|
p Hoge.new.my_methods # =>[:hoge, :hige, :hege]
|
566
629
|
~~~
|
567
630
|
|
631
|
+
[back to list](#list)
|
632
|
+
|
568
633
|
### Object#to_bool
|
569
634
|
~~~ruby
|
570
635
|
require 'tbpgr_utils'
|
@@ -577,6 +642,8 @@ p nil.to_bool # => false
|
|
577
642
|
p 0.to_bool # => true
|
578
643
|
~~~
|
579
644
|
|
645
|
+
[back to list](#list)
|
646
|
+
|
580
647
|
### String#justify_table
|
581
648
|
~~~ruby
|
582
649
|
require 'tbpgr_utils'
|
@@ -597,6 +664,8 @@ output
|
|
597
664
|
|test |tester|aaaaaaaaaaaaaaaaaaaaaaatestest|
|
598
665
|
~~~
|
599
666
|
|
667
|
+
[back to list](#list)
|
668
|
+
|
600
669
|
### Templatable
|
601
670
|
* include Templatable
|
602
671
|
* set template by here-document
|
@@ -633,6 +702,8 @@ line1:hoge-sample
|
|
633
702
|
line2:hige-sample
|
634
703
|
~~~
|
635
704
|
|
705
|
+
[back to list](#list)
|
706
|
+
|
636
707
|
## TemplateMethodable
|
637
708
|
sample usage
|
638
709
|
|
@@ -695,6 +766,7 @@ if you are Sublime Text2 user, you can use snippet for TbpgrUtils.
|
|
695
766
|
https://github.com/tbpgr/tbpgr_utils_snippets
|
696
767
|
|
697
768
|
## History
|
769
|
+
* version 0.0.19 : add AttributesHashable module.
|
698
770
|
* version 0.0.18 : add Array#together_concat. together_concat has alias :tconcat
|
699
771
|
* version 0.0.17 : add Array#together_reduce(or :treduce, :together_inject, :tinject)
|
700
772
|
* version 0.0.16 : add Array#together_select(or tselect, together_find_all, tfindall)
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# implement to_hash(instance_variable_name => key, instance_variable_value => value)
|
4
|
+
module AttributesHashable
|
5
|
+
# create hash(instance_variable_name => key, instance_variable_value => value)
|
6
|
+
#
|
7
|
+
# class Hoge have two_attributes(:hoge, :hige)
|
8
|
+
# class Hoge
|
9
|
+
# include AttributesInitializable
|
10
|
+
# attr_accessor_init :hoge, :hige
|
11
|
+
# include AttributesHashable
|
12
|
+
# end
|
13
|
+
#
|
14
|
+
# hoge = Hoge.new do |h|
|
15
|
+
# h.hoge = 'hoge'
|
16
|
+
# h.hige = 'hige'
|
17
|
+
# end
|
18
|
+
#
|
19
|
+
# hoge.to_hash # => {:hoge=>"hoge", :hige=>"hige"}
|
20
|
+
#
|
21
|
+
# After include AttributesHashable, you can use Hash.try_convert.
|
22
|
+
# Hash.try_convert hoge # => {:hoge=>"hoge", :hige=>"hige"}
|
23
|
+
def to_hash
|
24
|
+
instance_variables.reduce({}) do |hash, var|
|
25
|
+
hash[var.to_s.delete('@').to_sym] = instance_variable_get(var)
|
26
|
+
hash
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -56,7 +56,6 @@ module AttributesInitializable
|
|
56
56
|
instance_eval do
|
57
57
|
define_method :initialize do |values = nil, &block|
|
58
58
|
return block.call self if block
|
59
|
-
# symbols.each { |symbol|send("#{symbol.to_s}=", values[symbol]) }
|
60
59
|
symbols.each { |symbol|instance_variable_set("@#{symbol.to_s}", values[symbol]) }
|
61
60
|
end
|
62
61
|
end
|
data/lib/tbpgr_utils/version.rb
CHANGED
@@ -0,0 +1,63 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'attributes_hashable'
|
4
|
+
require 'attributes_initializable'
|
5
|
+
|
6
|
+
describe AttributesHashable do
|
7
|
+
context :to_hash do
|
8
|
+
class AttributesHashableHoge
|
9
|
+
include AttributesInitializable
|
10
|
+
attr_accessor_init :hoge, :hige
|
11
|
+
include AttributesHashable
|
12
|
+
end
|
13
|
+
|
14
|
+
class NoAttributeHoge
|
15
|
+
include AttributesHashable
|
16
|
+
end
|
17
|
+
|
18
|
+
cases = [
|
19
|
+
{
|
20
|
+
case_no: 1,
|
21
|
+
case_title: '2 attributes case',
|
22
|
+
klass: AttributesHashableHoge,
|
23
|
+
expected: { hoge: 'hoge', hige: 'hige' }
|
24
|
+
},
|
25
|
+
{
|
26
|
+
case_no: 2,
|
27
|
+
case_title: 'no attribute case',
|
28
|
+
klass: NoAttributeHoge,
|
29
|
+
expected: {}
|
30
|
+
},
|
31
|
+
]
|
32
|
+
|
33
|
+
cases.each do |c|
|
34
|
+
it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
|
35
|
+
begin
|
36
|
+
case_before c
|
37
|
+
|
38
|
+
# -- given --
|
39
|
+
instance = c[:klass].new do |k|
|
40
|
+
k.hoge = 'hoge'
|
41
|
+
k.hige = 'hige'
|
42
|
+
end
|
43
|
+
|
44
|
+
# -- when --
|
45
|
+
actual = instance.to_hash
|
46
|
+
|
47
|
+
# -- then --
|
48
|
+
expect(actual).to eq(c[:expected])
|
49
|
+
ensure
|
50
|
+
case_after c
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def case_before(c)
|
55
|
+
# implement each case before
|
56
|
+
end
|
57
|
+
|
58
|
+
def case_after(c)
|
59
|
+
# implement each case after
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
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.19
|
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-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &21860136 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 4.0.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *21860136
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bundler
|
27
|
-
requirement: &
|
27
|
+
requirement: &21859524 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '1.3'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *21859524
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &21859044 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *21859044
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec
|
49
|
-
requirement: &
|
49
|
+
requirement: &21858420 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 2.14.1
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *21858420
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: simplecov
|
60
|
-
requirement: &
|
60
|
+
requirement: &21857544 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: 0.8.2
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *21857544
|
69
69
|
description: Utilities
|
70
70
|
email:
|
71
71
|
- tbpgr@tbpgr.jp
|
@@ -79,6 +79,7 @@ files:
|
|
79
79
|
- LICENSE.txt
|
80
80
|
- README.md
|
81
81
|
- Rakefile
|
82
|
+
- lib/attributes_hashable.rb
|
82
83
|
- lib/attributes_initializable.rb
|
83
84
|
- lib/ghostable.rb
|
84
85
|
- lib/open_classes/array.rb
|
@@ -92,6 +93,7 @@ files:
|
|
92
93
|
- lib/template_methodable.rb
|
93
94
|
- lib/test_toolbox.rb
|
94
95
|
- lib/test_toolbox/kernel.rb
|
96
|
+
- spec/attributes_hashable_spec.rb
|
95
97
|
- spec/attributes_initializable_spec.rb
|
96
98
|
- spec/ghostable_spec.rb
|
97
99
|
- spec/open_classes/array_spec.rb
|
@@ -130,6 +132,7 @@ signing_key:
|
|
130
132
|
specification_version: 3
|
131
133
|
summary: Utilities
|
132
134
|
test_files:
|
135
|
+
- spec/attributes_hashable_spec.rb
|
133
136
|
- spec/attributes_initializable_spec.rb
|
134
137
|
- spec/ghostable_spec.rb
|
135
138
|
- spec/open_classes/array_spec.rb
|