Module | Kwalify::Util |
In: |
lib/kwalify.rb
lib/kwalify/util.rb lib/kwalify/util/ordered-hash.rb lib/kwalify/util/hashlike.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