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.
- 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.
|