mpatch 2.0.0 → 2.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e55cefa7d1160f216bcc28ef4b4f2bc0528e8313
4
- data.tar.gz: 99d6f21dcb6f464b75350de5fc10cca80965a92a
3
+ metadata.gz: 0fe665f1989da12d5a5080e7d5a03e77336f5a7a
4
+ data.tar.gz: 1752300d634322f35bd8f6fea7b6e574947d483b
5
5
  SHA512:
6
- metadata.gz: f889918a12d38cf8429f0017ed80872e35146d814864f6ead917759630593fec4abfb92471ca899acd3dd6b46e4e8983052cb2d604e6957e68261901ea8c8fcf
7
- data.tar.gz: 7193ffa649afd9a1349b14febde2190945bc284bc00fb1bca190a41db5dd6b88149157c5b7cf6010571bf0234697330a6246d52ce670a6728c186186c424f667
6
+ metadata.gz: 8cccdc74e6d599d7a57c35578d82d9b7ef023a7285de6e6dedce6c4fe283ddd67eefc5c903f7a29ac29655c6503fb2d3e64fcd705f3b85f160d4489de1c1a33b
7
+ data.tar.gz: cb6b6c372586bd890af287f9fb2297f372b956c84025a49fb876e627a43318af25f3010a791d0d89b043e6bbc00d58f31fbff31278a76a522c6d329ef57c3fda
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.0
1
+ 2.0.1
data/lib/mpatch/object.rb CHANGED
@@ -13,6 +13,10 @@ module MPatch
13
13
  self == false
14
14
  end
15
15
 
16
+ def class?
17
+ self.class == ::Class
18
+ end
19
+
16
20
  # basic validations for those who fear the DUCK!
17
21
  def must_be class_name
18
22
  if class_name.class == ::Class
@@ -49,142 +53,24 @@ module MPatch
49
53
 
50
54
  # constantize object
51
55
  def constantize
56
+
52
57
  camel_cased_word= self.to_s
53
58
  names = camel_cased_word.split('::')
54
59
  names.shift if names.empty? || names.first.empty?
55
60
 
56
- constant = self.class
61
+ constant = ::Object
57
62
  names.each do |name|
58
63
  constant = constant.const_defined?(name, false) ? constant.const_get(name) : constant.const_missing(name)
59
64
  end
60
65
  constant
61
- end unless method_defined? :constantize
62
-
63
- # find and replace object in object
64
- def find_and_replace(input,*params)
65
- params=Hash[*params]
66
- # some default values
67
- begin
68
- #None!
69
- end
70
- # Do the find and replace
71
- begin
72
-
73
- if input.class <= ::Array
74
- input.count.times do |counter|
75
- params.each do |key,value|
76
- input[counter]= input[counter].gsub(key,value)
77
- end
78
- end
79
- elsif input.class <= ::String
80
- params.each do |key,value|
81
- input= input.gsub(key,value)
82
- end
83
- elsif input.class <= ::Integer
84
- params.each do |key,value|
85
- input= input.to_s.gsub(key,value).to_i
86
- end
87
- elsif input.class <= ::Float
88
- params.each do |key,value|
89
- input= input.to_s.gsub(key,value).to_f
90
- end
91
- end
92
-
93
- # return value
94
- return input
95
- end
96
- end
97
-
98
- # each for any object
99
- def each_universal(&block)
100
- case self.class.to_s.downcase
101
- when "hash"
102
- self.each do |key,value|
103
- block.call(key,value)
104
- end
105
- when "array"
106
- self.each do |one_element|
107
- block.call(self.index(one_element),one_element)
108
- end
109
- else
110
- block.call nil,self
111
- end
112
- end
113
-
114
- # map an object => experiment
115
- def map_object(symbol_key="$type")
116
-
117
- stage = self
118
- do_later = ::Hash.new
119
- samples = ::Hash.new
120
- relations = ::Hash.new
121
- main_object = nil
122
-
123
- loop do
124
-
125
- # processing
126
- begin
127
-
128
- tmp_key = ::String.new
129
- tmp_hash= ::Hash.new
130
- stage.each_universal do |key,value|
131
-
132
- if value.class.to_s.downcase == "string"
133
-
134
- if key== symbol_key
135
- tmp_key= value
136
- main_object ||= value
137
- else
138
- tmp_hash[key]= value
139
- end
140
-
141
- else
142
-
143
- value.each_universal do |key_sub,value_sub|
144
- if key_sub == symbol_key && tmp_key != ::String.new
145
- child_property = ::Hash.new
146
- child_property['type']= value_sub
147
- child_property['class']= value.class.to_s
148
- relations[tmp_key]= child_property
149
- end
150
- do_later[key_sub]= value_sub
151
- end
152
-
153
- end
154
- end
155
-
156
- if tmp_key != ::String.new && tmp_hash != ::Hash.new
157
- samples[tmp_key]=tmp_hash
158
- end
159
-
160
- end
161
-
162
- # finish
163
- begin
164
- break if do_later == ::Hash.new
165
- stage= do_later
166
- do_later = ::Hash.new
167
- end
168
-
169
- end
170
-
171
- return {:samples => samples,
172
- :relations => relations,
173
- :main => main_object
174
- }
175
-
176
- end
177
-
178
- # is class?
179
- def class?
180
- self.class == ::Class
181
66
  end
182
67
 
183
- # convert class instance instance variables into a hash object
184
- def to_hash
68
+ #convert class instance instance variables into a hash object
69
+ def convert_to_hash
185
70
 
186
71
  unless self.class.class <= ::Class
187
- raise ::NoMethodError, "undefined method `to_hash' for #{self.inspect}"
72
+ super
73
+ #raise ::NoMethodError, "undefined method `to_hash' for #{self.inspect}"
188
74
  end
189
75
 
190
76
  tmp_hash= ::Hash.new()
@@ -225,7 +111,7 @@ module MPatch
225
111
  # :HelloWorld , "hello.world",
226
112
  # "hello/world", "Hello::World",
227
113
  # "hello:world"...
228
- def to_class(*attributes)
114
+ def convert_to_class(*attributes)
229
115
 
230
116
  unless self.class <= ::Symbol || self.class <= ::String || self.class <= ::Class
231
117
  raise ::ArgumentError, "object must be symbol or string to make able build class to it"
@@ -274,10 +160,7 @@ module MPatch
274
160
 
275
161
  end
276
162
 
277
- alias :create_attributes :to_class
278
- alias :map_sample :map_object
279
- alias :each_univ :each_universal
280
- alias :fnr :find_and_replace
163
+ alias :create_attributes :convert_to_class
281
164
 
282
165
  end
283
166
  end
data/lib/mpatch/yml.rb CHANGED
@@ -8,7 +8,7 @@ module MPatch
8
8
  end
9
9
 
10
10
  def self.load_file(file_path)
11
- YAML.load(File.open(file_path))
11
+ ::YAML.load(File.open(file_path))
12
12
  end
13
13
  end
14
14
 
data/lib/mpatch.rb CHANGED
@@ -23,9 +23,7 @@ module MPatch
23
23
 
24
24
  end
25
25
 
26
- [
27
- MPatch::Random
28
- ].each do |module_name|
26
+ [ MPatch::Random ].each do |module_name|
29
27
 
30
28
  constant= ::Object
31
29
  name= module_name.to_s.split('::').last
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.0.0
4
+ version: 2.0.1
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-03-19 00:00:00.000000000 Z
11
+ date: 2014-03-20 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