| Module | Kwalify::Util |
| In: |
lib/kwalify/util/ordered-hash.rb
lib/kwalify/util/hashlike.rb lib/kwalify/util.rb lib/kwalify.rb |
create a hash table from list of hash with primary key.
ex.
hashlist = [
{ "name"=>"Foo", "gender"=>"M", "age"=>20, },
{ "name"=>"Bar", "gender"=>"F", "age"=>25, },
{ "name"=>"Baz", "gender"=>"M", "age"=>30, },
]
hashtable = YamlHelper.create_hashtable(hashlist, "name")
p hashtable
# => { "Foo" => { "name"=>"Foo", "gender"=>"M", "age"=>20, },
# "Bar" => { "name"=>"Bar", "gender"=>"F", "age"=>25, },
# "Baz" => { "name"=>"Baz", "gender"=>"M", "age"=>30, }, }
get nested value directly.
ex.
val = YamlHelper.get_value(obj, ['aaa', 0, 'xxx'])
This is equal to the following:
begin
val = obj['aaa'][0]['xxx']
rescue NameError
val = nil
end
traverse rule
ex.
schema = YAML.load_file('myschema.yaml')
validator = Kwalify::Validator.new(schema)
Kwalify::Util.traverse_rule(validator) do |rule|
p rule if rule.classname
end
traverse schema
ex.
schema = YAML.load_file('myschema.yaml')
Kwalify::Util.traverse_schema(schema) do |rulehash|
## add module prefix to class name
if rulehash['class']
rulehash['class'] = 'MyModule::' + rulehash['class']
end
end