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.
- checksums.yaml +4 -4
- data/LICENSE.txt +675 -0
- data/Rakefile +1 -1
- data/lib/y_support/abstract_algebra.rb +1 -0
- data/lib/y_support/all.rb +1 -0
- data/lib/y_support/core_ext/array.rb +2 -2
- data/lib/y_support/core_ext/class/misc.rb +2 -3
- data/lib/y_support/core_ext/class.rb +2 -2
- data/lib/y_support/core_ext/enumerable/misc.rb +1 -1
- data/lib/y_support/core_ext/enumerable.rb +2 -2
- data/lib/y_support/core_ext/hash/misc.rb +26 -39
- data/lib/y_support/core_ext/hash.rb +2 -2
- data/lib/y_support/core_ext/module/misc.rb +39 -1
- data/lib/y_support/core_ext/module.rb +2 -2
- data/lib/y_support/core_ext/numeric/misc.rb +0 -2
- data/lib/y_support/core_ext/numeric.rb +2 -2
- data/lib/y_support/core_ext/object/inspection.rb +0 -2
- data/lib/y_support/core_ext/object/misc.rb +31 -16
- data/lib/y_support/core_ext/object.rb +3 -3
- data/lib/y_support/core_ext/string/misc.rb +7 -7
- data/lib/y_support/core_ext/string.rb +2 -2
- data/lib/y_support/core_ext/symbol/misc.rb +2 -3
- data/lib/y_support/core_ext/symbol.rb +2 -2
- data/lib/y_support/core_ext.rb +0 -2
- data/lib/y_support/inert_recorder.rb +1 -1
- data/lib/y_support/kde.rb +1 -0
- data/lib/y_support/name_magic/array.rb +27 -7
- data/lib/y_support/name_magic/class_methods.rb +52 -58
- data/lib/y_support/name_magic/hash.rb +18 -4
- data/lib/y_support/name_magic/namespace_methods.rb +241 -174
- data/lib/y_support/name_magic.rb +82 -38
- data/lib/y_support/null_object.rb +8 -7
- data/lib/y_support/respond_to.rb +1 -2
- data/lib/y_support/stdlib_ext/matrix/misc.rb +0 -2
- data/lib/y_support/stdlib_ext/matrix.rb +2 -2
- data/lib/y_support/stdlib_ext.rb +1 -0
- data/lib/y_support/try.rb +1 -1
- data/lib/y_support/typing/array/typing.rb +45 -4
- data/lib/y_support/typing/array.rb +1 -1
- data/lib/y_support/typing/enumerable/typing.rb +26 -28
- data/lib/y_support/typing/enumerable.rb +1 -1
- data/lib/y_support/typing/hash/typing.rb +47 -29
- data/lib/y_support/typing/hash.rb +1 -1
- data/lib/y_support/typing/module/typing.rb +4 -6
- data/lib/y_support/typing/module.rb +1 -1
- data/lib/y_support/typing/object/typing.rb +64 -61
- data/lib/y_support/typing/object.rb +1 -1
- data/lib/y_support/typing.rb +4 -26
- data/lib/y_support/unicode.rb +5 -7
- data/lib/y_support/version.rb +1 -1
- data/lib/y_support/x.rb +11 -8
- data/lib/y_support.rb +2 -2
- data/test/abstract_algebra_test.rb +44 -55
- data/test/inert_recorder_test.rb +13 -18
- data/test/local_object_test.rb +13 -18
- data/test/misc_test.rb +15 -10
- data/test/name_magic_test.rb +1 -1
- data/test/null_object_test.rb +19 -26
- data/test/respond_to_test.rb +15 -16
- data/test/typing_test.rb +100 -103
- data/test/x_test.rb +16 -19
- data/y_support.gemspec +21 -17
- metadata +37 -8
- data/LICENSE +0 -22
data/test/typing_test.rb
CHANGED
@@ -1,23 +1,22 @@
|
|
1
|
-
#! /
|
2
|
-
#encoding: utf-8
|
1
|
+
#! /usr/bin/ruby
|
2
|
+
# encoding: utf-8
|
3
3
|
|
4
|
-
require '
|
5
|
-
require 'shoulda'
|
6
|
-
require 'y_support/typing'
|
4
|
+
require 'minitest/autorun'
|
7
5
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
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
|
-
|
14
|
-
|
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
|
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
|
-
|
36
|
-
should
|
37
|
-
|
38
|
-
|
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
|
-
|
48
|
-
|
49
|
-
|
42
|
+
assert 2.aT &:even?
|
43
|
+
-> { 3.aT &:even? }.must_raise TypeError
|
44
|
+
-> { nil.aT }.must_raise TypeError
|
50
45
|
end
|
51
|
-
|
52
|
-
should
|
53
|
-
|
54
|
-
|
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
|
-
|
57
|
-
|
58
|
-
|
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
|
62
|
-
|
63
|
-
|
64
|
-
assert_equal
|
65
|
-
|
66
|
-
|
67
|
-
assert_equal
|
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
|
71
|
-
Koko = Class.new
|
72
|
-
koko = Koko.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
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
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
|
85
|
-
|
86
|
-
|
87
|
-
assert_equal
|
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
|
91
|
-
|
92
|
-
|
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
|
97
|
-
|
98
|
-
|
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
|
103
|
-
|
104
|
-
|
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
|
109
|
-
|
110
|
-
|
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
|
-
|
116
|
-
should
|
117
|
-
|
118
|
-
|
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
|
122
|
-
|
123
|
-
|
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
|
127
|
-
|
128
|
-
|
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
|
132
|
-
|
133
|
-
|
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
|
137
|
-
|
138
|
-
|
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 #
|
138
|
+
end # describe "Enumerable"
|
141
139
|
|
142
|
-
|
143
|
-
should
|
144
|
-
|
145
|
-
|
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 #
|
146
|
+
end # describe Array
|
150
147
|
|
151
|
-
|
152
|
-
should
|
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
|
-
|
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
|
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
|
-
|
174
|
-
|
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
|
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
|
-
|
197
|
-
|
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
|
-
|
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
|
-
|
207
|
+
assert a.aT_has(:c) {|val| val == 'b'}
|
211
208
|
end
|
212
|
-
end #
|
213
|
-
end
|
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 '
|
5
|
-
require 'shoulda'
|
6
|
-
require './../lib/y_support/x'
|
4
|
+
require 'minitest/autorun'
|
7
5
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
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
|
-
|
16
|
-
|
17
|
-
|
13
|
+
it "should have clipboard as expected" do
|
14
|
+
assert_equal '"foo & bar" baz', [`xsel -b`, `xsel -s`].join(' ')
|
15
|
+
end
|
18
16
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
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
|
-
#
|
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
|
-
|
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
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
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
|
-
|
21
|
+
spec.add_dependency "activesupport"
|
20
22
|
|
21
|
-
|
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.
|
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:
|
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:
|
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.
|
168
|
+
rubygems_version: 2.0.14
|
139
169
|
signing_key:
|
140
170
|
specification_version: 4
|
141
|
-
summary:
|
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.
|