y_support 2.1.5 → 2.1.12

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.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +675 -0
  3. data/Rakefile +1 -1
  4. data/lib/y_support/abstract_algebra.rb +1 -0
  5. data/lib/y_support/all.rb +1 -0
  6. data/lib/y_support/core_ext/array.rb +2 -2
  7. data/lib/y_support/core_ext/class/misc.rb +2 -3
  8. data/lib/y_support/core_ext/class.rb +2 -2
  9. data/lib/y_support/core_ext/enumerable/misc.rb +1 -1
  10. data/lib/y_support/core_ext/enumerable.rb +2 -2
  11. data/lib/y_support/core_ext/hash/misc.rb +26 -39
  12. data/lib/y_support/core_ext/hash.rb +2 -2
  13. data/lib/y_support/core_ext/module/misc.rb +39 -1
  14. data/lib/y_support/core_ext/module.rb +2 -2
  15. data/lib/y_support/core_ext/numeric/misc.rb +0 -2
  16. data/lib/y_support/core_ext/numeric.rb +2 -2
  17. data/lib/y_support/core_ext/object/inspection.rb +0 -2
  18. data/lib/y_support/core_ext/object/misc.rb +31 -16
  19. data/lib/y_support/core_ext/object.rb +3 -3
  20. data/lib/y_support/core_ext/string/misc.rb +7 -7
  21. data/lib/y_support/core_ext/string.rb +2 -2
  22. data/lib/y_support/core_ext/symbol/misc.rb +2 -3
  23. data/lib/y_support/core_ext/symbol.rb +2 -2
  24. data/lib/y_support/core_ext.rb +0 -2
  25. data/lib/y_support/inert_recorder.rb +1 -1
  26. data/lib/y_support/kde.rb +1 -0
  27. data/lib/y_support/name_magic/array.rb +27 -7
  28. data/lib/y_support/name_magic/class_methods.rb +52 -58
  29. data/lib/y_support/name_magic/hash.rb +18 -4
  30. data/lib/y_support/name_magic/namespace_methods.rb +241 -174
  31. data/lib/y_support/name_magic.rb +82 -38
  32. data/lib/y_support/null_object.rb +8 -7
  33. data/lib/y_support/respond_to.rb +1 -2
  34. data/lib/y_support/stdlib_ext/matrix/misc.rb +0 -2
  35. data/lib/y_support/stdlib_ext/matrix.rb +2 -2
  36. data/lib/y_support/stdlib_ext.rb +1 -0
  37. data/lib/y_support/try.rb +1 -1
  38. data/lib/y_support/typing/array/typing.rb +45 -4
  39. data/lib/y_support/typing/array.rb +1 -1
  40. data/lib/y_support/typing/enumerable/typing.rb +26 -28
  41. data/lib/y_support/typing/enumerable.rb +1 -1
  42. data/lib/y_support/typing/hash/typing.rb +47 -29
  43. data/lib/y_support/typing/hash.rb +1 -1
  44. data/lib/y_support/typing/module/typing.rb +4 -6
  45. data/lib/y_support/typing/module.rb +1 -1
  46. data/lib/y_support/typing/object/typing.rb +64 -61
  47. data/lib/y_support/typing/object.rb +1 -1
  48. data/lib/y_support/typing.rb +4 -26
  49. data/lib/y_support/unicode.rb +5 -7
  50. data/lib/y_support/version.rb +1 -1
  51. data/lib/y_support/x.rb +11 -8
  52. data/lib/y_support.rb +2 -2
  53. data/test/abstract_algebra_test.rb +44 -55
  54. data/test/inert_recorder_test.rb +13 -18
  55. data/test/local_object_test.rb +13 -18
  56. data/test/misc_test.rb +15 -10
  57. data/test/name_magic_test.rb +1 -1
  58. data/test/null_object_test.rb +19 -26
  59. data/test/respond_to_test.rb +15 -16
  60. data/test/typing_test.rb +100 -103
  61. data/test/x_test.rb +16 -19
  62. data/y_support.gemspec +21 -17
  63. metadata +37 -8
  64. data/LICENSE +0 -22
data/test/typing_test.rb CHANGED
@@ -1,23 +1,22 @@
1
- #! /Usr/Bin/ruby
2
- #encoding: utf-8
1
+ #! /usr/bin/ruby
2
+ # encoding: utf-8
3
3
 
4
- require 'test/unit'
5
- require 'shoulda'
6
- require 'y_support/typing'
4
+ require 'minitest/autorun'
7
5
 
8
- class TypingTest < Test::Unit::TestCase
9
- P = Class.new
10
- K = Class.new
11
- L = Module.new
6
+ describe "y_support/typing" do
7
+ before do
8
+ require './../lib/y_support/typing'
9
+ P = Class.new unless defined? P
10
+ K = Class.new unless defined? K
11
+ L = Module.new unless defined? L
12
+ end
12
13
 
13
- context "with some classes" do
14
- setup do
15
- @p = P.new
16
- @k = K.new
17
- @l = L
14
+ describe "with some classes" do
15
+ before do
16
+ @p, @k, @l = P.new, K.new, L
18
17
  end
19
18
 
20
- should "have working class compliance methods" do
19
+ it "should have working class compliance methods" do
21
20
  assert @p.class_complies?( @p.class )
22
21
  assert ! @p.class_complies?( @k.class )
23
22
  @p.declare_class_compliance! @k.class
@@ -32,124 +31,122 @@ class TypingTest < Test::Unit::TestCase
32
31
  end
33
32
  end
34
33
 
35
- context "general" do
36
- should "have AErr alias for ArgumentError" do
37
- assert_equal ::ArgumentError, ::AErr
38
- end
39
-
40
- should "have #aT raising TypeError if block falsey" do
41
- assert_raise TypeError do 0.aT "yada yada" do |rcvr| rcvr == 1 end end
42
- assert_nothing_raised do 0.aT "yada yada" do |rcvr| rcvr == 0 end end
34
+ describe "in general" do
35
+ it "should have #aT raising TypeError if block falsey" do
36
+ -> { 0.aT "yada yada" do |rcvr| rcvr == 1 end }.must_raise TypeError
37
+ assert 0.aT "yada yada" do |rcvr| rcvr == 0 end
43
38
  assert_equal( "hello",
44
39
  "hello".aT( "have 4 unique letters" ) { |str|
45
40
  str.each_char.map { |e| e }.uniq.join.size == 4
46
41
  } )
47
- assert_nothing_raised do 2.aT &:even? end
48
- assert_raise TypeError do 3.aT &:even? end
49
- assert_raise TypeError do nil.aT end
42
+ assert 2.aT &:even?
43
+ -> { 3.aT &:even? }.must_raise TypeError
44
+ -> { nil.aT }.must_raise TypeError
50
45
  end
51
-
52
- should "have #aT_not raising TypeError if block truey" do
53
- assert_raise TypeError do 0.aT_not { |rcvr| rcvr < 1 } end
54
- assert_nothing_raised do 1.aT_not { |rcvr| rcvr == 2 } end
46
+
47
+ it "should have #aT_not raising TypeError if block truey" do
48
+ -> { 0.aT_not { |rcvr| rcvr < 1 } }.must_raise TypeError
49
+ assert 1.aT_not { |rcvr| rcvr == 2 }
55
50
  assert_equal( "hello", "hello".aT_not( "have x" ) { |rcvr| rcvr.include? 'x' } )
56
- assert_nothing_raised do 3.aT_not &:even? end
57
- assert_raise TypeError do 2.aT_not &:even? end
58
- assert_raise TypeError do "".aT_not end
51
+ assert 3.aT_not &:even?
52
+ -> { 2.aT_not &:even? }.must_raise TypeError
53
+ -> { "".aT_not }.must_raise TypeError
59
54
  end
60
55
 
61
- should "have #aT_kind_of, alias #aT_is_a TypeError enforcers" do
62
- assert_raise TypeError do :o.aT_kind_of Numeric end
63
- assert_nothing_raised do 0.aT_kind_of Numeric end
64
- assert_equal( "hello", "hello".aT_kind_of( String ) )
65
- assert_raise TypeError do :o.aT_is_a Numeric end
66
- assert_nothing_raised do 0.aT_is_a Numeric end
67
- assert_equal( "hello", "hello".aT_is_a( String ) )
56
+ it "should have #aT_kind_of, alias #aT_is_a TypeError enforcers" do
57
+ -> { :o.aT_kind_of Numeric }.must_raise TypeError
58
+ assert 0.aT_kind_of Numeric
59
+ assert_equal "hello", "hello".aT_kind_of( String )
60
+ -> { :o.aT_is_a Numeric }.must_raise TypeError
61
+ assert 0.aT_is_a Numeric
62
+ assert_equal "hello", "hello".aT_is_a( String )
68
63
  end
69
64
 
70
- should "have #aT_complies" do
71
- Koko = Class.new; Pipi = Class.new
72
- koko = Koko.new; pipi = Pipi.new
65
+ it "should have #aT_complies" do
66
+ Koko, Pipi = Class.new, Class.new
67
+ koko, pipi = Koko.new, Pipi.new
68
+ assert Koko.compliance.include? Object
69
+ assert Koko.complies? Object
70
+ assert koko.class_complies? Object
71
+ assert koko.aT_class_complies koko.class
72
+ assert pipi.aT_class_complies pipi.class
73
+ -> { koko.aT_class_complies pipi.class }.must_raise TypeError
73
74
  pipi.declare_class_compliance! koko.class
74
- assert_raise TypeError do koko.aT_class_complies pipi.class end
75
- assert_nothing_raised do koko.aT_class_complies koko.class end
76
- assert_nothing_raised do pipi.aT_class_complies pipi.class end
77
- assert_nothing_raised do pipi.aT_class_complies koko.class end
78
- assert_raise TypeError do koko.aT_class_complies Pipi end
79
- assert_nothing_raised do pipi.aT_class_complies Pipi end
80
- assert_nothing_raised do pipi.aT_class_complies Koko end
75
+ assert pipi.aT_class_complies koko.class
76
+ -> { koko.aT_class_complies Pipi }.must_raise TypeError
77
+ assert pipi.aT_class_complies Pipi
78
+ assert pipi.aT_class_complies Koko
81
79
  assert_equal koko, koko.aT_class_complies( Koko )
82
80
  end
83
81
 
84
- should "have #aT_respond_to assertion" do
85
- assert_raise TypeError do :o.aT_respond_to :each end
86
- assert_nothing_raised do {}.aT_respond_to :each end
87
- assert_equal( [:hello], [:hello].aT_respond_to( :each ) )
82
+ it "should have #aT_respond_to assertion" do
83
+ -> { :o.aT_respond_to :each }.must_raise TypeError
84
+ assert( {}.aT_respond_to :each )
85
+ assert_equal [:hello], [:hello].aT_respond_to( :each )
88
86
  end
89
87
 
90
- should "have #aT_equal enforcer" do
91
- assert_raise TypeError do 0.aT_equal 1 end
92
- assert_nothing_raised do 1.aT_equal 2.0/2.0 end
88
+ it "should have #aT_equal enforcer" do
89
+ -> { 0.aT_equal 1 }.must_raise TypeError
90
+ assert 1.aT_equal 2.0/2.0
93
91
  assert_equal( "hello", "hello".aT_equal( " hello ".strip ) )
94
92
  end
95
93
 
96
- should "have #aT_not_equal enforcer" do
97
- assert_raise TypeError do 1.aT_not_equal 1.0 end
98
- assert_nothing_raised do 7.aT_not_equal 42 end
94
+ it "should have #aT_not_equal enforcer" do
95
+ -> { 1.aT_not_equal 1.0 }.must_raise TypeError
96
+ assert 7.aT_not_equal 42
99
97
  assert_equal( "hello", "hello".aT_not_equal( "goodbye" ) )
100
98
  end
101
99
 
102
- should "have #aT_blank enforcer" do
103
- assert_raise TypeError do "x".aT_blank end
104
- assert_nothing_raised do ["", []].each{|e| e.aT_blank } end
100
+ it "should have #aT_blank enforcer" do
101
+ -> { "x".aT_blank }.must_raise TypeError
102
+ assert ["", []].each{|e| e.aT_blank }
105
103
  assert_equal( {}, {}.aT_blank )
106
104
  end
107
105
 
108
- should "have #aT_present enforcer" do
109
- assert_raise TypeError do nil.aT_present end
110
- assert_nothing_raised do 0.aT_present end
106
+ it "should have #aT_present enforcer" do
107
+ -> { nil.aT_present }.must_raise TypeError
108
+ assert 0.aT_present
111
109
  assert_equal( "hello", "hello".aT_present )
112
110
  end
113
111
  end
114
-
115
- context "Enumerable" do
116
- should "have #aT_all enforcer" do
117
- assert_raise TypeError do [1, 2, 7].aT_all { |e| e < 5 } end
118
- assert_nothing_raised do [1, 2, 4].aT_all { |e| e < 5 } end
112
+
113
+ describe "Enumerable" do
114
+ it "should have #aT_all enforcer" do
115
+ -> { [1, 2, 7].aT_all { |e| e < 5 } }.must_raise TypeError
116
+ assert [1, 2, 4].aT_all { |e| e < 5 }
119
117
  end
120
118
 
121
- should "have #aT_all_kind_of enforcer" do
122
- assert_raise TypeError do [1.0, 2.0, :a].aT_all_kind_of Numeric end
123
- assert_nothing_raised do [1.0, 2.0, 3].aT_all_kind_of Numeric end
119
+ it "should have #aT_all_kind_of enforcer" do
120
+ -> { [1.0, 2.0, :a].aT_all_kind_of Numeric }.must_raise TypeError
121
+ assert [1.0, 2.0, 3].aT_all_kind_of Numeric
124
122
  end
125
123
 
126
- should "have #aT_all_comply class compliance enforcer" do
127
- assert_raise TypeError do [1.0, 2.0, :a].aT_all_comply Numeric end
128
- assert_nothing_raised do [1.0, 2.0, 3].aT_all_comply Numeric end
124
+ it "should have #aT_all_comply class compliance enforcer" do
125
+ -> { [1.0, 2.0, :a].aT_all_comply Numeric }.must_raise TypeError
126
+ assert [1.0, 2.0, 3].aT_all_comply Numeric
129
127
  end
130
128
 
131
- should "have #aT_all_numeric enforcer" do
132
- assert_raise TypeError do [:a].aT_all_numeric end
133
- assert_nothing_raised do [1, 2.0].aT_all_numeric end
129
+ it "should have #aT_all_numeric enforcer" do
130
+ -> { [:a].aT_all_numeric }.must_raise TypeError
131
+ assert [1, 2.0].aT_all_numeric
134
132
  end
135
133
 
136
- should "have #aT_subset_of enforcer" do
137
- assert_raise TypeError do [6].aT_subset_of [*0..5] end
138
- assert_nothing_raised do [1,2].aT_subset_of [*0..5] end
134
+ it "should have #aT_subset_of enforcer" do
135
+ -> { [6].aT_subset_of [*0..5] }.must_raise TypeError
136
+ assert [1,2].aT_subset_of [*0..5]
139
137
  end
140
- end # context Enumerable
138
+ end # describe "Enumerable"
141
139
 
142
- context "Array" do
143
- should "have #aT_includes (alias #aT_include) enforcer" do
144
- assert_raise TypeError do [1, 2, 4].aT_includes 3 end
145
- assert_nothing_raised do [1, 2, 4].aT_includes( 4 ).aT_include( 4 ) end
146
- assert_equal [6, 7], [6, 7].aT_includes( 6 )
140
+ describe "Array" do
141
+ it "should have #aT_includes (alias #aT_include) enforcer" do
142
+ -> { [1, 2, 4].aT_include 3 }.must_raise TypeError
143
+ assert [1, 2, 4].aT_include( 4 )
147
144
  assert_equal [6, 7], [6, 7].aT_include( 6 )
148
145
  end
149
- end # context Array
146
+ end # describe Array
150
147
 
151
- context "Hash" do
152
- should "have #merge_synonym_keys! method" do
148
+ describe "Hash" do
149
+ it "should have #merge_synonym_keys! method" do
153
150
  a = { a: 'a', b: 'b', k: 'k', o: 'k', t: 'k' }
154
151
  old = a.dup
155
152
  assert_respond_to a, :merge_synonym_keys!
@@ -160,18 +157,18 @@ class TypingTest < Test::Unit::TestCase
160
157
  assert_equal true, a.merge_synonym_keys!( :k, :o, :t )
161
158
  assert_equal( { a: 'a', b: 'b', k: 'k' }, a )
162
159
  old = a.dup
163
- assert_raise TypeError do a.merge_synonym_keys!( :a, :b ) end
160
+ -> { a.merge_synonym_keys!( :a, :b ) }.must_raise TypeError
164
161
  assert_equal old, a
165
162
  assert_equal true, a.merge_synonym_keys!( :c, :b )
166
163
  assert_equal( { a: 'a', c: 'b', k: 'k' }, a )
167
164
  end
168
165
 
169
- should "have #may_have synonym key merger" do
166
+ it "should have #may_have synonym key merger" do
170
167
  a = { a: 'a', b: 'b', k: 'k', o: 'k', t: 'k' }
171
168
  assert_respond_to a, :may_have
172
169
  old = a.dup
173
- assert_nothing_raised do a.may_have :z end
174
- assert_nothing_raised do a.has? :z end
170
+ assert ! a.may_have( :z )
171
+ assert ! a.has?( :z )
175
172
  assert_raises TypeError do a.may_have( :a, syn!: :b ) end
176
173
  assert_raises TypeError do a.has?( :a, syn!: :b ) end
177
174
  assert_equal false, a.has?( :z )
@@ -188,26 +185,26 @@ class TypingTest < Test::Unit::TestCase
188
185
  assert_equal( { a: 'a', c: 'b', k: 'k' }, a )
189
186
  end
190
187
 
191
- should "have #aT_has synonymizing enforcer" do
188
+ it "should have #aT_has synonymizing enforcer" do
192
189
  a = { infile: 'a', csv_out_file: 'b', k: 'k', o: 'k', t: 'k' }
193
190
  assert_respond_to a, :aT_has
194
191
  old = a.dup
195
192
  assert_raises TypeError do a.aT_has :z end
196
- assert_nothing_raised do a.aT_has :infile end
197
- assert_nothing_raised do a.aT_has :csv_out_file end
193
+ assert a.aT_has :infile
194
+ assert a.aT_has :csv_out_file
198
195
  class TestClass; def initialize( args )
199
196
  args.aT_has :infile
200
197
  args.aT_has :csv_out_file
201
198
  args.aT_has :k
202
199
  end end
203
- assert_nothing_raised do TestClass.new a end
200
+ assert TestClass.new a
204
201
  assert_raises TypeError do a.aT_has( :a, syn!: :b ) end
205
202
  assert_equal "a", a.aT_has( :infile )
206
203
  assert_equal "k", a.aT_has( :k, syn!: [:o, :t] )
207
204
  assert_equal "b", a.aT_has( :c, syn!: :csv_out_file )
208
205
  assert_equal( { infile: 'a', c: 'b', k: 'k' }, a )
209
206
  assert_raises TypeError do a.aT_has(:c) {|val| val == 'c'} end
210
- assert_nothing_raised do a.aT_has(:c) {|val| val == 'b'} end
207
+ assert a.aT_has(:c) {|val| val == 'b'}
211
208
  end
212
- end # context Hash
213
- end # class ScruplesTest
209
+ end # describe Hash
210
+ end
data/test/x_test.rb CHANGED
@@ -1,24 +1,21 @@
1
1
  #! /usr/local/bin/ruby
2
- #encoding: utf-8
2
+ # encoding: utf-8
3
3
 
4
- require 'test/unit'
5
- require 'shoulda'
6
- require './../lib/y_support/x'
4
+ require 'minitest/autorun'
7
5
 
8
- class XTest < Test::Unit::TestCase
9
- context "X" do
10
- setup do
11
- YSupport::X.echo_primary_clipboard '"foo"'
12
- YSupport::X.echo_secondary_clipboard "bar"
13
- end
6
+ describe "y_support/x" do
7
+ before do
8
+ require './../lib/y_support/x'
9
+ YSupport::X.echo_primary_clipboard '"foo & bar"'
10
+ YSupport::X.echo_secondary_clipboard "baz"
11
+ end
14
12
 
15
- should "have clipboard as expected" do
16
- assert_equal '"foo" bar', [`xsel -b`, `xsel -s`].join(' ')
17
- end
13
+ it "should have clipboard as expected" do
14
+ assert_equal '"foo & bar" baz', [`xsel -b`, `xsel -s`].join(' ')
15
+ end
18
16
 
19
- should "know #query_box and #message_box methods" do
20
- assert_respond_to YSupport::X, :query_box
21
- assert_respond_to YSupport::X, :message_box
22
- end
23
- end # context X
24
- end # class XTest
17
+ it "should know #query_box and #message_box methods" do
18
+ assert_respond_to YSupport::X, :query_box
19
+ assert_respond_to YSupport::X, :message_box
20
+ end
21
+ end # describe "y_support/x"
data/y_support.gemspec CHANGED
@@ -1,22 +1,26 @@
1
- #encoding: utf-8
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'y_support/version'
2
5
 
3
- require File.expand_path('../lib/y_support/version', __FILE__)
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "y_support"
8
+ spec.version = YSupport::VERSION
9
+ spec.authors = ["boris"]
10
+ spec.email = ["\"boris@iis.sinica.edu.tw\""]
11
+ spec.summary = %q{Support library used by Y gems.}
12
+ spec.description = %q{LocalObject, RespondTo, InertRecorder, NullObject, NameMagic, core extensions, typing etc.}
13
+ spec.homepage = ""
14
+ spec.license = "GPLv3"
4
15
 
5
- Gem::Specification.new do |gem|
6
- gem.authors = ["boris"]
7
- gem.email = ["\"boris@iis.sinica.edu.tw\""]
8
- gem.description = %q{Support library used by y_... gems.}
9
- gem.summary = %q{LocalObject, RespondTo, InertRecorder, NullObject, NameMagic, core extensions, typing etc.}
10
- gem.homepage = ""
11
-
12
- gem.files = `git ls-files`.split($\)
13
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
14
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
15
- gem.name = "y_support"
16
- gem.require_paths = ["lib"]
17
- gem.version = YSupport::VERSION
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
18
20
 
19
- gem.add_dependency "activesupport"
21
+ spec.add_dependency "activesupport"
20
22
 
21
- gem.add_development_dependency "shoulda"
23
+ spec.add_development_dependency "bundler", "~> 1.6"
24
+ spec.add_development_dependency "rake"
25
+ spec.add_development_dependency "shoulda"
22
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: y_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.5
4
+ version: 2.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - boris
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-01 00:00:00.000000000 Z
11
+ date: 2014-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -24,6 +24,34 @@ dependencies:
24
24
  - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '1.6'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: shoulda
29
57
  requirement: !ruby/object:Gem::Requirement
@@ -38,7 +66,8 @@ dependencies:
38
66
  - - '>='
39
67
  - !ruby/object:Gem::Version
40
68
  version: '0'
41
- description: Support library used by y_... gems.
69
+ description: LocalObject, RespondTo, InertRecorder, NullObject, NameMagic, core extensions,
70
+ typing etc.
42
71
  email:
43
72
  - '"boris@iis.sinica.edu.tw"'
44
73
  executables: []
@@ -47,7 +76,7 @@ extra_rdoc_files: []
47
76
  files:
48
77
  - .gitignore
49
78
  - Gemfile
50
- - LICENSE
79
+ - LICENSE.txt
51
80
  - README.md
52
81
  - Rakefile
53
82
  - lib/y_support.rb
@@ -117,7 +146,8 @@ files:
117
146
  - test/x_test.rb
118
147
  - y_support.gemspec
119
148
  homepage: ''
120
- licenses: []
149
+ licenses:
150
+ - GPLv3
121
151
  metadata: {}
122
152
  post_install_message:
123
153
  rdoc_options: []
@@ -135,11 +165,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
165
  version: '0'
136
166
  requirements: []
137
167
  rubyforge_project:
138
- rubygems_version: 2.0.3
168
+ rubygems_version: 2.0.14
139
169
  signing_key:
140
170
  specification_version: 4
141
- summary: LocalObject, RespondTo, InertRecorder, NullObject, NameMagic, core extensions,
142
- typing etc.
171
+ summary: Support library used by Y gems.
143
172
  test_files:
144
173
  - test/abstract_algebra_test.rb
145
174
  - test/inert_recorder_test.rb
data/LICENSE DELETED
@@ -1,22 +0,0 @@
1
- Copyright (c) 2012 boris
2
-
3
- MIT License
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.