ruby-ext 0.2.0 → 0.2.1

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 (36) hide show
  1. data/.git/COMMIT_EDITMSG +1 -1
  2. data/.git/index +0 -0
  3. data/.git/logs/HEAD +3 -0
  4. data/.git/logs/refs/heads/master +3 -0
  5. data/.git/logs/refs/remotes/origin/master +3 -0
  6. data/.git/objects/00/6a9c4671a6d1386f7d7dc800525e98697625ee +3 -0
  7. data/.git/objects/0a/c8dd6e52864a0384859a517d546546d61e3c0c +0 -0
  8. data/.git/objects/18/fa4a1fd6a6e5293c34c6eebefaff644c553a97 +0 -0
  9. data/.git/objects/19/342d43c2e91b7bca75f329bf758d69818c827e +2 -0
  10. data/.git/objects/2d/2f0676ef5509c4e7a65dcc3d0fceaa1368ffaa +0 -0
  11. data/.git/objects/57/64ef3e607d3570146219cd858a1dd4afb24ea5 +0 -0
  12. data/.git/objects/6a/0946485381787f48e60893549eac156d1f057c +0 -0
  13. data/.git/objects/6b/e43d64c6aeffd7ac08701e1ee93865248683cf +0 -0
  14. data/.git/objects/97/260e66124380267a414850b1d648da79324455 +0 -0
  15. data/.git/objects/9c/d9497bad03afd65531dda2695719b3593e02b6 +0 -0
  16. data/.git/objects/a4/ab487fcb12cfb831b09c525544f52d60a98598 +0 -0
  17. data/.git/objects/ad/09237b6008fc0ebfb9b8c920490dda8503bfd1 +0 -0
  18. data/.git/objects/ad/7462077a480cb995d1ad397c3c737644e59887 +0 -0
  19. data/.git/objects/b4/cbb05893636d6b7314fbc4df7e3a8dcaeb0de1 +0 -0
  20. data/.git/objects/be/a9ade8ddb19a7ff5b18bc77fac5cb27d6cf284 +0 -0
  21. data/.git/objects/ca/9716fd518aac44d4acaa94a86838cde6030f6a +3 -0
  22. data/.git/objects/d0/b6eae8243889753a5a3e9a801b4dd5bcd09d91 +0 -0
  23. data/.git/objects/d2/366fe2df53e14c3069d23cad37fe21a8f1c129 +0 -0
  24. data/.git/objects/e9/03ba4c283cd16c7291500d4f80da24c8f5f4df +0 -0
  25. data/.git/objects/f0/f0c35fd385e1ac016e6d3f7d72ea188c578b77 +0 -0
  26. data/.git/objects/f1/bf0dc44ec7b29845cdecd0b295aa8075a84940 +0 -0
  27. data/.git/objects/fd/305b4d657d487e6f5f69c760b8d433d16f6a47 +0 -0
  28. data/.git/refs/heads/master +1 -1
  29. data/.git/refs/remotes/origin/master +1 -1
  30. data/Rakefile +1 -1
  31. data/lib/ruby_ext/declarative_cache.rb +4 -4
  32. data/lib/ruby_ext/prepare_arguments.rb +4 -4
  33. data/lib/ruby_ext/string.rb +7 -7
  34. data/lib/ruby_ext.rb +21 -0
  35. data/spec/{assert_spec.rb → should_spec.rb} +0 -0
  36. metadata +25 -3
data/.git/COMMIT_EDITMSG CHANGED
@@ -1 +1 @@
1
- add files from rails-ext
1
+ small upd
data/.git/index CHANGED
Binary file
data/.git/logs/HEAD CHANGED
@@ -4,3 +4,6 @@
4
4
  2bedc3eb69408a817194c28d14fb2dbfed5a21c0 9ea37d9fc7e1ad1504b50da2a1ec639c523fb8b7 Alex <alex@alex.local> 1260463398 +0300 commit: tmp
5
5
  9ea37d9fc7e1ad1504b50da2a1ec639c523fb8b7 e9d385c1913656b7ce15a1ac1424361d2e065a6c Alex <alex@alex.local> 1260465015 +0300 commit: minor refactoring
6
6
  e9d385c1913656b7ce15a1ac1424361d2e065a6c 06864a068d188ab7ae17e39d58d6c25dc49a8ff3 Alex <alex@alex.local> 1260470076 +0300 commit: add files from rails-ext
7
+ 06864a068d188ab7ae17e39d58d6c25dc49a8ff3 006a9c4671a6d1386f7d7dc800525e98697625ee Alex <alex@alex.local> 1260535122 +0300 commit: add facets
8
+ 006a9c4671a6d1386f7d7dc800525e98697625ee e903ba4c283cd16c7291500d4f80da24c8f5f4df Alex <alex@alex.local> 1260655428 +0300 commit: add facets & small fix
9
+ e903ba4c283cd16c7291500d4f80da24c8f5f4df 97260e66124380267a414850b1d648da79324455 Alex <alex@alex.local> 1261874167 +0300 commit: small upd
@@ -4,3 +4,6 @@
4
4
  2bedc3eb69408a817194c28d14fb2dbfed5a21c0 9ea37d9fc7e1ad1504b50da2a1ec639c523fb8b7 Alex <alex@alex.local> 1260463398 +0300 commit: tmp
5
5
  9ea37d9fc7e1ad1504b50da2a1ec639c523fb8b7 e9d385c1913656b7ce15a1ac1424361d2e065a6c Alex <alex@alex.local> 1260465015 +0300 commit: minor refactoring
6
6
  e9d385c1913656b7ce15a1ac1424361d2e065a6c 06864a068d188ab7ae17e39d58d6c25dc49a8ff3 Alex <alex@alex.local> 1260470076 +0300 commit: add files from rails-ext
7
+ 06864a068d188ab7ae17e39d58d6c25dc49a8ff3 006a9c4671a6d1386f7d7dc800525e98697625ee Alex <alex@alex.local> 1260535122 +0300 commit: add facets
8
+ 006a9c4671a6d1386f7d7dc800525e98697625ee e903ba4c283cd16c7291500d4f80da24c8f5f4df Alex <alex@alex.local> 1260655428 +0300 commit: add facets & small fix
9
+ e903ba4c283cd16c7291500d4f80da24c8f5f4df 97260e66124380267a414850b1d648da79324455 Alex <alex@alex.local> 1261874167 +0300 commit: small upd
@@ -3,3 +3,6 @@
3
3
  2bedc3eb69408a817194c28d14fb2dbfed5a21c0 9ea37d9fc7e1ad1504b50da2a1ec639c523fb8b7 Alex <alex@alex.local> 1260463407 +0300 update by push
4
4
  9ea37d9fc7e1ad1504b50da2a1ec639c523fb8b7 e9d385c1913656b7ce15a1ac1424361d2e065a6c Alex <alex@alex.local> 1260465045 +0300 update by push
5
5
  e9d385c1913656b7ce15a1ac1424361d2e065a6c 06864a068d188ab7ae17e39d58d6c25dc49a8ff3 Alex <alex@alex.local> 1260470082 +0300 update by push
6
+ 06864a068d188ab7ae17e39d58d6c25dc49a8ff3 006a9c4671a6d1386f7d7dc800525e98697625ee Alex <alex@alex.local> 1260535716 +0300 update by push
7
+ 006a9c4671a6d1386f7d7dc800525e98697625ee e903ba4c283cd16c7291500d4f80da24c8f5f4df Alex <alex@alex.local> 1260655434 +0300 update by push
8
+ e903ba4c283cd16c7291500d4f80da24c8f5f4df 97260e66124380267a414850b1d648da79324455 Alex <alex@alex.local> 1261874172 +0300 update by push
@@ -0,0 +1,3 @@
1
+ x��A
2
+ �0@Q�9E��L2�d
3
+ "z��d�Bk�F��VO���>|]���}�����h +%%��j.,�
@@ -0,0 +1,2 @@
1
+ xm����@ ����0[��"JN�VB�
2
+ ����TP �^�?$�y� >������������a�y���1�Vf�:�vs��w�� )aܴ
@@ -0,0 +1,3 @@
1
+ xu�AO1��v�c�K�� ���nBZ: ��ִ]��������}���z����nkU�xK�ݮ�$� � �F�Hv��!~A�4��|N?L۝
2
+ vY���|�N�K�ګС�c�}޽U��ٙ�h�N2��h�O�6j��?P�4�]�t�w�I�?��� �㜝���!�x`
3
+ X�H2Z��t )��_����6jIGe�W�|HIZz�o�KfD
@@ -1 +1 @@
1
- 06864a068d188ab7ae17e39d58d6c25dc49a8ff3
1
+ 97260e66124380267a414850b1d648da79324455
@@ -1 +1 @@
1
- 06864a068d188ab7ae17e39d58d6c25dc49a8ff3
1
+ 97260e66124380267a414850b1d648da79324455
data/Rakefile CHANGED
@@ -18,7 +18,7 @@ require 'fileutils'
18
18
 
19
19
  spec = Gem::Specification.new do |s|
20
20
  s.name = "ruby-ext"
21
- s.version = "0.2.0"
21
+ s.version = "0.2.1"
22
22
  s.summary = "Set of common Ruby language extensions"
23
23
  s.description = "Set of common Ruby language extensions"
24
24
  s.author = "Alexey Petrushin"
@@ -32,11 +32,11 @@ module DeclarativeCache
32
32
 
33
33
  klass.class_eval{alias_method :"cached_#{als}", :"#{m}"}
34
34
  unless vnames.is_a? Array
35
- script = single_version_without_args.substitute binding
35
+ script = single_version_without_args.interpolate binding
36
36
  @versions[vnames] = 0 unless @versions.include? vnames
37
37
  else
38
38
  vnames_str = vnames.collect{|vname| "'#{vname}' => nil"}.join(', ')
39
- script = multiple_version_without_args.substitute binding
39
+ script = multiple_version_without_args.interpolate binding
40
40
  vnames.each{|vname| @versions[vname] = 0 unless @versions.include? vname}
41
41
  end
42
42
  klass.class_eval script, __FILE__, __LINE__
@@ -52,11 +52,11 @@ module DeclarativeCache
52
52
 
53
53
  klass.class_eval{alias_method :"cached_#{als}", :"#{m}"}
54
54
  unless vnames.is_a? Array
55
- script = single_version_with_args.substitute binding
55
+ script = single_version_with_args.interpolate binding
56
56
  @versions[vnames] = 0 unless @versions.include? vnames
57
57
  else
58
58
  vnames_str = vnames.collect{|vname| "'#{vname}' => nil"}.join(', ')
59
- script = multiple_version_with_args.substitute binding
59
+ script = multiple_version_with_args.interpolate binding
60
60
  vnames.each{|vname| @versions[vname] = 0 unless @versions.include? vname}
61
61
  end
62
62
  klass.class_eval script, __FILE__, __LINE__
@@ -87,17 +87,17 @@ class ArgumentsParser
87
87
  end
88
88
  end
89
89
 
90
- class Object
91
- def self.prepare_arguments_for method, *args
90
+ Module.class_eval do
91
+ def prepare_arguments_for method, *args
92
92
  # Register parsers
93
93
  ArgumentsParser.register method, args
94
-
94
+
95
95
  # Wrap method
96
96
  old_method = :"#{method}_wparg"
97
97
  alias_method old_method, method
98
98
  code = <<END
99
99
  def #{method} *args, &block
100
- #{old_method} *ArgumentsParser.parse_arguments_for(:#{method}, *args), &block
100
+ #{old_method} *ArgumentsParser.parse_arguments_for(:#{method}, *args), &block
101
101
  end
102
102
  END
103
103
  class_eval code, __FILE__, __LINE__
@@ -11,11 +11,11 @@ class String
11
11
  "@#{self}"
12
12
  end
13
13
 
14
- def substitute binding
15
- binding.should! :be_a, Binding
16
- return gsub(/\#\{.+?\}/) do |term|
17
- identifier = term.slice(2 .. term.size-2)
18
- binding.eval identifier
19
- end
20
- end
14
+ # def interpolate binding
15
+ # binding.should! :be_a, Binding
16
+ # return gsub(/\#\{.+?\}/) do |term|
17
+ # identifier = term.slice(2 .. term.size-2)
18
+ # binding.eval identifier
19
+ # end
20
+ # end
21
21
  end
data/lib/ruby_ext.rb CHANGED
@@ -1,3 +1,24 @@
1
+ core = [
2
+ 'facets/array/indexable', # Array first!, last!
3
+ 'facets/enumerable/every',
4
+ 'facets/enumerable/group_by',
5
+ 'facets/exception/detail', # pretty print
6
+ 'facets/duplicable', # false.dup(), false.clone() and so on.
7
+ 'facets/blank',
8
+ 'facets/numeric/round.rb', # round_at, round_to
9
+ 'facets/hash',
10
+ 'facets/string/interpolate',
11
+ 'facets/ostruct',
12
+ 'facets/openobject'
13
+ ]
14
+
15
+ more = [
16
+ # 'facets/basicobject', causes problem with rspec
17
+ 'facets/opencascade',
18
+ ]
19
+
20
+ (core + more).each{|f| require f}
21
+
1
22
  %w{
2
23
  kernel
3
24
  module
File without changes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Petrushin
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-12-10 00:00:00 +03:00
12
+ date: 2009-12-27 00:00:00 +03:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -38,12 +38,12 @@ files:
38
38
  - lib/ruby_ext/symbol.rb
39
39
  - lib/ruby_ext/synchronizer.rb
40
40
  - lib/ruby_ext.rb
41
- - spec/assert_spec.rb
42
41
  - spec/declarative_cache_spec.rb
43
42
  - spec/kernel_spec.rb
44
43
  - spec/module_spec.rb
45
44
  - spec/open_constructor_spec.rb
46
45
  - spec/prepare_arguments_spec.rb
46
+ - spec/should_spec.rb
47
47
  - spec/spec.opts
48
48
  - spec/spec_require.rb
49
49
  - spec/synchronizer_spec.rb
@@ -66,20 +66,25 @@ files:
66
66
  - .git/logs/HEAD
67
67
  - .git/logs/refs/heads/master
68
68
  - .git/logs/refs/remotes/origin/master
69
+ - .git/objects/00/6a9c4671a6d1386f7d7dc800525e98697625ee
69
70
  - .git/objects/01/a6ccb4f4fb0c6cfdf9ec1bb23779721cf503e9
70
71
  - .git/objects/05/18bc8be5c58a5bd9d7fc82c75c87478aa361e9
71
72
  - .git/objects/05/b76a8d022e0e0fbca5b69b9f7b4d2a132fcc89
72
73
  - .git/objects/06/864a068d188ab7ae17e39d58d6c25dc49a8ff3
74
+ - .git/objects/0a/c8dd6e52864a0384859a517d546546d61e3c0c
73
75
  - .git/objects/0e/13cf36bc744c90f576c0a31c3f76dcf1fd2485
74
76
  - .git/objects/0f/add343d54917efbd138ee2d7c092a52b12ebd5
75
77
  - .git/objects/10/53306d48d434b477991f5fb64a6d8d3aca84a0
76
78
  - .git/objects/17/70296a7ba0a9aaadd3e857ae34d92d2e13e935
79
+ - .git/objects/18/fa4a1fd6a6e5293c34c6eebefaff644c553a97
80
+ - .git/objects/19/342d43c2e91b7bca75f329bf758d69818c827e
77
81
  - .git/objects/20/c2ee1bb9f6749181e464a4ce444092fc1a1ecb
78
82
  - .git/objects/26/4d70a16bbad0c5b3b16fb7a92bcc6178f2cca2
79
83
  - .git/objects/27/eb5694d78540b1a489a1aff5415d4713d5fca9
80
84
  - .git/objects/29/88f150ee1623b97d234b2742b30caad382775b
81
85
  - .git/objects/29/8cb590f97362cc7a326815dac3289a88b69153
82
86
  - .git/objects/2b/edc3eb69408a817194c28d14fb2dbfed5a21c0
87
+ - .git/objects/2d/2f0676ef5509c4e7a65dcc3d0fceaa1368ffaa
83
88
  - .git/objects/2e/3e3fc8e46949a9b944da3c36207c444aa2c9b7
84
89
  - .git/objects/2f/74073c8d1580f5a8fc59389b4c1b6d89e4d85f
85
90
  - .git/objects/34/a418e8c4b43510124491ff3be262edd8008043
@@ -91,6 +96,7 @@ files:
91
96
  - .git/objects/54/4fb213faf0c1b4cc459ada84120823d204ae3a
92
97
  - .git/objects/55/a433dd00ba298006a2fc028964eb0cde7c2e5b
93
98
  - .git/objects/55/f338afb8c82f8cad38b28d0e8cf887f9bda1ce
99
+ - .git/objects/57/64ef3e607d3570146219cd858a1dd4afb24ea5
94
100
  - .git/objects/57/cf2479bb9c6e31118c42c5cceaffada1862c72
95
101
  - .git/objects/59/60bdbdc3be504b89371c2b4b09d22754251260
96
102
  - .git/objects/59/653cefe5b174e4a7002100f024448cdb337373
@@ -99,7 +105,9 @@ files:
99
105
  - .git/objects/5d/37379f1b929c7b82f96382fc256895a50e97fd
100
106
  - .git/objects/60/a681e873ca0ae0b7da3f37dbc5701f6e42b970
101
107
  - .git/objects/61/d4509b8fc63e53b8e5d417ace33919e8a7a8f2
108
+ - .git/objects/6a/0946485381787f48e60893549eac156d1f057c
102
109
  - .git/objects/6b/dcac704e4f8abe1928e8f3f5d9b7e17e4992de
110
+ - .git/objects/6b/e43d64c6aeffd7ac08701e1ee93865248683cf
103
111
  - .git/objects/6c/18afba63861887fb7ac53fee1b24c181b2a8e4
104
112
  - .git/objects/70/222d828221b1884b6b8ce124b7f22eea5d420d
105
113
  - .git/objects/74/bf8f37d70d9818474e1fb5081f04c496741a28
@@ -110,23 +118,37 @@ files:
110
118
  - .git/objects/84/2a9747ce87d8b90ee360f7252b557ff8e19352
111
119
  - .git/objects/90/eea923ef08bb39013e7cd5be777b7539733638
112
120
  - .git/objects/93/276f74ef0e157c5f81eeec7844f30d4eceda7a
121
+ - .git/objects/97/260e66124380267a414850b1d648da79324455
122
+ - .git/objects/9c/d9497bad03afd65531dda2695719b3593e02b6
113
123
  - .git/objects/9e/a37d9fc7e1ad1504b50da2a1ec639c523fb8b7
124
+ - .git/objects/a4/ab487fcb12cfb831b09c525544f52d60a98598
114
125
  - .git/objects/ab/daaab37771475482389bdfcb2021b1651ba399
126
+ - .git/objects/ad/09237b6008fc0ebfb9b8c920490dda8503bfd1
127
+ - .git/objects/ad/7462077a480cb995d1ad397c3c737644e59887
115
128
  - .git/objects/ad/e1a70e7cf984a2f518d19ef625362d78a5fbd0
129
+ - .git/objects/b4/cbb05893636d6b7314fbc4df7e3a8dcaeb0de1
116
130
  - .git/objects/b6/17a8cc2ae7f6ea496051db493aa56edc178073
117
131
  - .git/objects/b6/863b5d4c0a4d87b81a9bbc29e786fcf7ef0df2
118
132
  - .git/objects/bc/ee5c51061bdb9ab5a5aea4f00245a8ab3689b2
133
+ - .git/objects/be/a9ade8ddb19a7ff5b18bc77fac5cb27d6cf284
119
134
  - .git/objects/c3/faad9ba42388a50a57acf9df88f6d2a64a4122
135
+ - .git/objects/ca/9716fd518aac44d4acaa94a86838cde6030f6a
136
+ - .git/objects/d0/b6eae8243889753a5a3e9a801b4dd5bcd09d91
137
+ - .git/objects/d2/366fe2df53e14c3069d23cad37fe21a8f1c129
120
138
  - .git/objects/d4/8b935ca7e38d2434ceb1711544293f4baf8203
121
139
  - .git/objects/dd/e851a435431f0c03b12f7a9ca6e5dd5ce80617
122
140
  - .git/objects/e0/c54997bfab8a0bf135d0de79ddee431b9112ad
141
+ - .git/objects/e9/03ba4c283cd16c7291500d4f80da24c8f5f4df
123
142
  - .git/objects/e9/d385c1913656b7ce15a1ac1424361d2e065a6c
124
143
  - .git/objects/f0/c37cf78e53e6f859111f35d9dbf52cbfbc633d
144
+ - .git/objects/f0/f0c35fd385e1ac016e6d3f7d72ea188c578b77
125
145
  - .git/objects/f1/2346269ed5287267f0271f57546291c013b318
146
+ - .git/objects/f1/bf0dc44ec7b29845cdecd0b295aa8075a84940
126
147
  - .git/objects/f3/655e33b96e5b8b25990a2ae88fcdfed415074b
127
148
  - .git/objects/f7/c0fa5621b81aca548c738c08907055696e1956
128
149
  - .git/objects/f8/c960b12cbddb90f18123673e6778efdc822058
129
150
  - .git/objects/fb/85b5793dcebae826b04cd8c37406504540d8a4
151
+ - .git/objects/fd/305b4d657d487e6f5f69c760b8d433d16f6a47
130
152
  - .git/objects/fd/d3ef7ec06e804f3688491e21caaa4d89796b16
131
153
  - .git/objects/pack/pack-304aec40b1be62a8e3c105c6423354d9e62bd089.idx
132
154
  - .git/objects/pack/pack-304aec40b1be62a8e3c105c6423354d9e62bd089.pack