Module: MaskingField::ClassMethods
- Defined in:
- lib/masking_field/class_methods.rb
Instance Method Summary collapse
- #gen_from_integer(gen_length = 10) ⇒ Object
- #gen_from_lowercase(gen_length = 10) ⇒ Object
- #gen_from_uppercase(gen_length = 10) ⇒ Object
- #gen_mask_data(options = {}) ⇒ Object
- #masking_to(*mask_columns) ⇒ Object
Instance Method Details
#gen_from_integer(gen_length = 10) ⇒ Object
38 39 40 |
# File 'lib/masking_field/class_methods.rb', line 38 def gen_from_integer(gen_length=10) ("A".."Z").to_a.sample(gen_length).join end |
#gen_from_lowercase(gen_length = 10) ⇒ Object
30 31 32 |
# File 'lib/masking_field/class_methods.rb', line 30 def gen_from_lowercase(gen_length=10) ("a".."z").to_a.sample(gen_length).join end |
#gen_from_uppercase(gen_length = 10) ⇒ Object
34 35 36 |
# File 'lib/masking_field/class_methods.rb', line 34 def gen_from_uppercase(gen_length=10) ("A".."Z").to_a.sample(gen_length).join end |
#gen_mask_data(options = {}) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/masking_field/class_methods.rb', line 17 def gen_mask_data(={}) #文字列が指定されてたらそのまま使う return [:fixed].to_s if .present? && [:fixed].present? #指定されてなければ作る if [:gen_type] return eval("gen_from_#{options[:gen_type]}(#{options[:gen_length]||10})") elsif [:gen_length].to_i > 0 return "*" * [:gen_length].to_i else return "**********" end end |
#masking_to(*mask_columns) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/masking_field/class_methods.rb', line 3 def masking_to(*mask_columns) = mask_columns.select{|cname| cname.instance_of?(Hash) }.flatten.first masking_data = gen_mask_data(||{}) class_name = self.to_s.classify column_names = Module.const_get(class_name).columns.map(&:name).map(&:to_sym) mask_column_names = mask_columns.select{|cname| cname.instance_of?(Symbol) || cname.instance_of?(String) } (column_names & mask_column_names).each do|read_column| define_method(read_column) do masking_data end end end |