Class: Maven::Model::NamedHash

Inherits:
Hash
  • Object
show all
Defined in:
lib/maven/model/utils.rb

Direct Known Subclasses

DeveloperHash, LicenseHash

Instance Method Summary collapse

Instance Method Details

#do_get(clazz, args, method, block = nil) ⇒ Object



213
214
215
216
217
218
219
220
221
222
# File 'lib/maven/model/utils.rb', line 213

def do_get( clazz, args, method, block = nil)
  value = new_instance( clazz, args )
  key = value.send method
  keys << key unless keys.member? key
  self[ key ] = value
  if block
    block.call( value )
  end
  value
end

#getObject



223
# File 'lib/maven/model/utils.rb', line 223

def get; end

#keysObject



201
202
203
# File 'lib/maven/model/utils.rb', line 201

def keys
  @keys ||= []
end

#new_instance(clazz, args) ⇒ Object



205
206
207
208
209
210
211
# File 'lib/maven/model/utils.rb', line 205

def new_instance( clazz, args )
  if args.size == 1 && args[0].is_a?(clazz)
    args[0] 
  else 
    clazz.new(*args)
  end
end