Class: YAS::RenameExt

Inherits:
Object
  • Object
show all
Defined in:
lib/yas/ext/rename.rb

Overview

Rename keys from one to another

Usage:

To rename ‘fname` to `first_name`, and `lname` to `last_name` rename :fname => :first_name, :lname => :last_name

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Class Method Details

.apply(schema, hash) ⇒ Object



34
35
36
37
38
39
40
41
# File 'lib/yas/ext/rename.rb', line 34

def self.apply schema, hash
  schema.rename_keys.each do |from, to|
    if hash.has_key?(from)
      hash[to] = hash[from]
      hash.delete(from)
    end
  end
end

.when_schema_inherited(superschema, subschema) ⇒ Object



27
28
29
30
31
# File 'lib/yas/ext/rename.rb', line 27

def self.when_schema_inherited superschema, subschema
  superschema.rename_keys.each do |from, to|
    subschema.rename_keys[key] = to
  end
end

.when_used(schema) ⇒ Object



22
23
24
# File 'lib/yas/ext/rename.rb', line 22

def self.when_used schema
  schema.extend ClassMethods
end