mpatch 2.7.0 → 2.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7dd7c17f48dc461fca6ece53d32cce849160b5b1
4
- data.tar.gz: 0115b19819852989358263809c9ae6fc77edf6c7
3
+ metadata.gz: c83a2235fa0593775a3614b626e8096ffd9bf428
4
+ data.tar.gz: 04557bd6c3ce119162e1fdf97673a4979924e828
5
5
  SHA512:
6
- metadata.gz: 76d9ef3cc93a73b25399548a5e1e35dc0d518ee23d76b63fa235899f0dde3b108e7271ae8780cbc298a11b79218cdfaaf7948539ce14df08fd190fdf357632ea
7
- data.tar.gz: fe8d21cb3ae238ef7a5290ab0063bee2fa2bee9e23a78e310ccd6cb14e53606e65594c3dbaff42a7e9f0e7ccf7d6ee47ca62133c62e9d3bbcb4e1d8fd719bc13
6
+ metadata.gz: 1d16553211e2f477117fbe06777e07cf17bec4c5a13b893339579fddf534a2296503fba2c73a665af5b093b0c517ea001d778b1411fee39a821324364a9545e7
7
+ data.tar.gz: 63c7bdb2d8fbfb3ffbda713c2ee97d7e39a210c1fd8b6c0aab04ea5123c9e7d1b202c7490cdd3198c74ea73d352844ad039dbb03662bac6ced6c43e2faafc686
data/README.md CHANGED
@@ -167,6 +167,8 @@ you can make an object / class / module instance or self methods private even fr
167
167
 
168
168
  ```
169
169
 
170
+ ### After words
171
+
170
172
  But there is a lot of method, for example for modules modules / subbmodules call that retunr modules under that namespace.
171
173
  Lot of metaprogrammer stuff there too :)
172
174
 
data/VERSION CHANGED
@@ -1,2 +1,2 @@
1
- 2.7.0
1
+ 2.8.0
2
2
 
@@ -0,0 +1,60 @@
1
+ module MPatch
2
+
3
+ module Include
4
+
5
+ module Method
6
+
7
+ def get_comments
8
+
9
+ var= self.source_location.map{|obj| obj.class <= String ? File.absolute_path(obj) : obj }
10
+
11
+ file_obj= File.open(var[0],"r")
12
+ file_data= [] #> [*File.open(var[0],"r")]
13
+ var[1].times{ file_data.push file_obj.gets }
14
+ file_data.reverse!
15
+
16
+ desc_array= []
17
+
18
+ first= true
19
+ file_data.each { |new_string_line|
20
+
21
+ if first == true
22
+ first= false
23
+ next
24
+ end
25
+
26
+ if new_string_line =~ /^[\s\t]*(#[\s\S]*)?$/
27
+
28
+ unless new_string_line.scan(/^[\s\t]*(#\s*)([\s\S]*)?$/).empty?
29
+ new_string_line.replace new_string_line.scan(/^[\s\t]*(#\s*)([\s\S]*)?$/)[0][1]
30
+ end
31
+
32
+ if new_string_line.chomp =~ /^\s*$/
33
+ next
34
+ end
35
+
36
+ desc_array.push new_string_line.chomp
37
+
38
+ else
39
+ break
40
+ end
41
+
42
+ }
43
+
44
+ #remove nils
45
+ desc_array.compact!
46
+
47
+ # return
48
+ return desc_array.join("\n")
49
+
50
+ end
51
+
52
+ alias :get_description :get_comments
53
+
54
+ end
55
+
56
+ end
57
+
58
+ require File.join 'mpatch','injector'
59
+
60
+ end
data/lib/mpatch/object.rb CHANGED
@@ -177,7 +177,7 @@ module MPatch
177
177
  # privatize ex: Symbol/String/Array #> you can use this for make exceptions what should be not touched in the prcs
178
178
  # privatize in: Symbol/String/Array #> you can use this for make targeted collection of methods for privatize
179
179
  #
180
- def privatize opts= {}
180
+ def privatize( opts= {} )
181
181
 
182
182
  unless opts.class <= Hash
183
183
  raise ArgumentError,"invalid input for options"
@@ -214,7 +214,6 @@ module MPatch
214
214
  else
215
215
  opts[:target]= 's'
216
216
  opts[:include] ||= self.methods.map{|e| e.to_s }
217
-
218
217
  end
219
218
 
220
219
  [:include,:exclude].each do |array_name|
@@ -227,7 +226,7 @@ module MPatch
227
226
 
228
227
  end
229
228
 
230
- opts[:exclude].push('__send__').push('object_id')
229
+ opts[:exclude] + %W[ __send__ object_id ]
231
230
 
232
231
  if opts[:target][0] == 's'
233
232
 
@@ -259,49 +258,10 @@ module MPatch
259
258
 
260
259
  end
261
260
 
262
-
263
-
264
- def try(exception= Exception,&block)
265
-
266
- unless exception <= Exception
267
- raise ArgumentError, "invalid exception class"
268
- end
269
-
270
- begin
271
- return block.call
272
- rescue exception => ex
273
- @ruby_try_block_exception_tunel= ex
274
- return ex
275
- end
276
-
277
- end
278
-
279
- def catch exception = Exception, &block
280
-
281
- if @ruby_try_block_exception_tunel.nil?
282
- return nil
283
- end
284
-
285
- if @ruby_try_block_exception_tunel.class <= Exception
286
-
287
- begin
288
- block.call @ruby_try_block_exception_tunel
289
- rescue ArgumentError
290
- block.call
291
- end
292
-
293
- else
294
- raise @ruby_try_block_exception_tunel.class,@ruby_try_block_exception_tunel.to_s
295
- end
296
-
297
- end
298
-
299
-
300
261
  end
301
262
 
302
263
  end
303
264
 
304
265
  require File.join 'mpatch','injector'
305
266
 
306
-
307
- end
267
+ end
data/test/test.rb ADDED
@@ -0,0 +1,32 @@
1
+
2
+ require_relative '../lib/mpatch/object'
3
+ MPatch.patch!
4
+
5
+
6
+
7
+ try { hello world }
8
+ catch{ "not hello world " }
9
+ #> "not hello world"
10
+
11
+
12
+ try { "hello world".asdaf }
13
+ catch( NoMethodError ) { |ex|
14
+ puts "there is and error, because #{ex}"
15
+ }
16
+
17
+ #> you can cain up multiple catch for specific error
18
+ try { "hello world".asdaf }
19
+ catch( NoMethodError ) { |ex|
20
+ puts "there is and error, because #{ex}"
21
+ }
22
+
23
+ try { "hello world".asdaf }
24
+ catch(ArgumentError) {
25
+ puts "it was and argument error"
26
+ }
27
+
28
+ catch( NoMethodError ) { |ex|
29
+ puts "bla bla #{ex}"
30
+ }
31
+
32
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mpatch
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0
4
+ version: 2.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Luzsi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-10 00:00:00.000000000 Z
11
+ date: 2014-04-14 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: This is a collection of my Ruby monkey patches for making easer to use
14
14
  the basic classes
@@ -34,6 +34,7 @@ files:
34
34
  - lib/mpatch/hash.rb
35
35
  - lib/mpatch/injector.rb
36
36
  - lib/mpatch/integer.rb
37
+ - lib/mpatch/method.rb
37
38
  - lib/mpatch/module.rb
38
39
  - lib/mpatch/object.rb
39
40
  - lib/mpatch/proc.rb
@@ -42,6 +43,7 @@ files:
42
43
  - lib/mpatch/string.rb
43
44
  - lib/mpatch/yml.rb
44
45
  - mpatch.gemspec
46
+ - test/test.rb
45
47
  homepage: https://github.com/adamluzsi/mpatch
46
48
  licenses:
47
49
  - MIT
@@ -66,4 +68,5 @@ rubygems_version: 2.2.2
66
68
  signing_key:
67
69
  specification_version: 4
68
70
  summary: collection of methods for extend basic classes
69
- test_files: []
71
+ test_files:
72
+ - test/test.rb