params 1.0.2 → 1.1.0

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.
@@ -122,7 +122,6 @@ module Params
122
122
  end
123
123
  end
124
124
  when 'Complex' then
125
- when 'Global' then
126
125
  unless @value.nil?
127
126
  unless (value.class.eql? Hash) or (value.class.eql? Array)
128
127
  raise("Parameter:'#{@name}' type:'Complex' but value type to override " \
@@ -146,52 +145,52 @@ module Params
146
145
  end
147
146
  end
148
147
 
149
- # The globals data structure.
150
- @globals_db = Hash.new
148
+ # The parameters data structure.
149
+ @params_data_base = Hash.new
151
150
 
152
151
  def Params.raise_error_if_param_does_not_exist(name)
153
- if not @globals_db[name]
152
+ if not @params_data_base[name]
154
153
  raise("before using parameter:'#{name}', it should first be defined through Param module methods:" \
155
- "Params.string, Params.path, Params.integer, Params.float or Params.boolean.")
154
+ "Params.string, Params.path, Params.integer, Params.float, Params.complex, or Params.boolean.")
156
155
  end
157
156
  end
158
157
 
159
158
  def Params.raise_error_if_param_exists(name)
160
- if @globals_db[name]
159
+ if @params_data_base[name]
161
160
  raise("Parameter:'#{name}', can only be defined once.")
162
161
  end
163
162
  end
164
163
 
165
- # Read global param value by other modules.
164
+ # Read param value by other modules.
166
165
  # Note that this operator should only be used, after parameter has been defined through
167
166
  # one of Param module methods: Params.string, Params.integer,
168
167
  # Params.float or Params.boolean."
169
168
  def Params.[](name)
170
169
  raise_error_if_param_does_not_exist(name)
171
- @globals_db[name].value
170
+ @params_data_base[name].value
172
171
  end
173
172
 
174
173
  def Params.each(&block)
175
- @globals_db.each(&block)
174
+ @params_data_base.each(&block)
176
175
  end
177
176
 
178
- # Write global param value by other modules.
177
+ # Write param value by other modules.
179
178
  # Note that this operator should only be used, after parameter has been defined through
180
179
  # one of Param module methods: Params.string, Params.integer,
181
180
  # Params.float or Params.boolean."
182
181
  def Params.[]=(name, value)
183
182
  raise_error_if_param_does_not_exist(name)
184
- set_value = @globals_db[name].value_type_check(value)
185
- @globals_db[name].value = set_value
183
+ set_value = @params_data_base[name].value_type_check(value)
184
+ @params_data_base[name].value = set_value
186
185
  end
187
186
 
188
187
  #override parameter should only be called by Params module methods.
189
188
  def Params.override_param(name, value)
190
- existing_param = @globals_db[name]
189
+ existing_param = @params_data_base[name]
191
190
  if existing_param.nil?
192
191
  raise("Parameter:'#{name}' has not been defined and can not be overridden. " \
193
192
  "It should first be defined through Param module methods:" \
194
- "Params.string, Params.path, Params.integer, Params.float or Params.boolean.")
193
+ "Params.string, Params.path, Params.integer, Params.float, Params.complex, or Params.boolean.")
195
194
  end
196
195
  if value.nil?
197
196
  existing_param.value = nil
@@ -211,46 +210,41 @@ module Params
211
210
  end
212
211
  end
213
212
 
214
- # Define new global parameter of type Integer.
213
+ # Define new parameter of type Integer.
215
214
  def Params.integer(name, value, description)
216
215
  raise_error_if_param_exists(name)
217
- @globals_db[name] = Param.new(name, value, 'Integer', description)
216
+ @params_data_base[name] = Param.new(name, value, 'Integer', description)
218
217
  end
219
218
 
220
- # Define new global parameter of type Float.
219
+ # Define new parameter of type Float.
221
220
  def Params.float(name, value, description)
222
221
  raise_error_if_param_exists(name)
223
- @globals_db[name] = Param.new(name, value, 'Float', description)
222
+ @params_data_base[name] = Param.new(name, value, 'Float', description)
224
223
  end
225
224
 
226
- # Define new global parameter of type String.
225
+ # Define new parameter of type String.
227
226
  def Params.string(name, value, description)
228
227
  raise_error_if_param_exists(name)
229
- @globals_db[name] = Param.new(name, value, 'String', description)
228
+ @params_data_base[name] = Param.new(name, value, 'String', description)
230
229
  end
231
230
 
232
- # Define new global parameter of type path (the only difference with string is that the path expends '~' to
231
+ # Define new parameter of type path (the only difference with string is that the path expends '~' to
233
232
  # full user directory).
234
233
  def Params.path(name, value, description)
235
234
  raise_error_if_param_exists(name)
236
235
  value = File.expand_path(value) unless value.nil?
237
- @globals_db[name] = Param.new(name, value, 'Path', description)
236
+ @params_data_base[name] = Param.new(name, value, 'Path', description)
238
237
  end
239
238
 
240
239
  def Params.complex(name, value, description)
241
240
  raise_error_if_param_exists(name)
242
- @globals_db[name] = Param.new(name, value, 'Complex', description)
241
+ @params_data_base[name] = Param.new(name, value, 'Complex', description)
243
242
  end
244
243
 
245
- def Params.global(name, value, description)
246
- raise_error_if_param_exists(name)
247
- @globals_db[name] = Param.new(name, value, 'Global', description)
248
- end
249
-
250
- # Define new global parameter of type Boolean.
244
+ # Define new parameter of type Boolean.
251
245
  def Params.boolean(name, value, description)
252
246
  raise_error_if_param_exists(name)
253
- @globals_db[name] = Param.new(name, value, 'Boolean', description)
247
+ @params_data_base[name] = Param.new(name, value, 'Boolean', description)
254
248
  end
255
249
 
256
250
  # Initializes the project parameters.
@@ -297,7 +291,7 @@ module Params
297
291
  @init_debug_messages << 'Initialized executable parameters:'
298
292
  @init_debug_messages << '---------------------------------'
299
293
  counter=0
300
- @globals_db.values.each do |param|
294
+ @params_data_base.values.each do |param|
301
295
  counter += 1
302
296
  @init_debug_messages << "Param ##{counter}: #{param.name}=#{param.value}"
303
297
  end
@@ -324,7 +318,7 @@ module Params
324
318
  # Define List of options see example on
325
319
  # http://ruby.about.com/od/advancedruby/a/optionparser2.htm
326
320
  opts = OptionParser.new do |opts|
327
- @globals_db.values.each do |param|
321
+ @params_data_base.values.each do |param|
328
322
  tmp_name_long = "--#{param.name} #{param.name.upcase}" # Define a command with single mandatory parameter
329
323
  tmp_value = param.desc + " Default value:" + param.value.to_s # Description and Default value
330
324
 
@@ -395,7 +389,7 @@ paths:
395
389
  end # end of Parse function
396
390
 
397
391
  def Params.to_simple_hash
398
- @globals_db.map { |param|
392
+ @params_data_base.map { |param|
399
393
  param.value
400
394
  }
401
395
  end
@@ -1,3 +1,3 @@
1
1
  module Params
2
- VERSION = "1.0.2"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -45,7 +45,7 @@ module Params
45
45
  expect { Params::read_yml_params StringIO.new 'not_defined: 10' }.to raise_error \
46
46
  "Parameter:'not_defined' has not been defined and can not be overridden. " \
47
47
  "It should first be defined through Param module methods:" \
48
- "Params.string, Params.path, Params.integer, Params.float or Params.boolean."
48
+ "Params.string, Params.path, Params.integer, Params.float, Params.complex, or Params.boolean."
49
49
  end
50
50
 
51
51
  it 'Will test yml parameter loading' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: params
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-06-12 00:00:00.000000000 Z
13
+ date: 2013-06-24 00:00:00.000000000 Z
14
14
  dependencies: []
15
15
  description: Dynamically stores, parses and providers params. Uses module local readers.
16
16
  email: bbfsdev@gmail.com