y_support 2.1.5 → 2.1.12

Sign up to get free protection for your applications and to get access to all the features.
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.