Skip to content

Example on concatenating multiple faker generators? #1

Open
@zanhsieh

Description

@zanhsieh

Hi,

Just wonder what should the right syntax for concatenating multiple faker generators.

I tried this on my mask.yml

version: 1
db_url: mongodb://mongodb:27017/development
models:
  - name: users
    fields:
      emailAddress: "\"%s.%s\" % [FFaker::Name.unique.first_name, FFaker::Name.unique.last_name]

But it returns error:

Masking users (475/18288)
Can't mask users

Traceback (most recent call last):
	29: from /usr/local/bundle/bin/mongo_masker:23:in `<main>'
	28: from /usr/local/bundle/bin/mongo_masker:23:in `load'
	27: from /usr/local/bundle/gems/mongo_masker-1.0.2/bin/mongo_masker:16:in `<top (required)>'
	26: from /usr/local/bundle/gems/thor-1.0.1/lib/thor/base.rb:485:in `start'
	25: from /usr/local/bundle/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch'
	24: from /usr/local/bundle/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command'
	23: from /usr/local/bundle/gems/thor-1.0.1/lib/thor/command.rb:27:in `run'
	22: from /usr/local/bundle/gems/mongo_masker-1.0.2/bin/mongo_masker:12:in `mask'
	21: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:22:in `mask'
	20: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:42:in `track_time'
	19: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:23:in `block in mask'
	18: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:23:in `each'
	17: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:24:in `block (2 levels) in mask'
	16: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:58:in `mask_document'
	15: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:75:in `mask_each_document'
	14: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:75:in `each_with_index'
	13: from /usr/local/bundle/gems/mongo-2.11.2/lib/mongo/collection/view/iterable.rb:50:in `each'
	12: from /usr/local/bundle/gems/mongo-2.11.2/lib/mongo/cursor.rb:152:in `each'
	11: from /usr/local/bundle/gems/mongo-2.11.2/lib/mongo/cursor.rb:152:in `loop'
	10: from /usr/local/bundle/gems/mongo-2.11.2/lib/mongo/cursor.rb:154:in `block in each'
	 9: from /usr/local/bundle/gems/mongo-2.11.2/lib/mongo/collection/view/iterable.rb:51:in `block in each'
	 8: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:77:in `block in mask_each_document'
	 7: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:112:in `create_mask'
	 6: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:112:in `each'
	 5: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:119:in `block in create_mask'
	 4: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:132:in `evalute_field_value'
	 3: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:132:in `eval'
	 2: from (eval):1:in `evalute_field_value'
	 1: from /usr/local/bundle/gems/ffaker-2.13.0/lib/ffaker/utils/unique_utils.rb:14:in `method_missing'
/usr/local/bundle/gems/ffaker-2.13.0/lib/ffaker/utils/unique_utils.rb:42:in `add_results_to_hash': FFaker::UniqueUtils::RetryLimitExceeded (FFaker::UniqueUtils::RetryLimitExceeded)
	26: from /usr/local/bundle/bin/mongo_masker:23:in `<main>'
	25: from /usr/local/bundle/bin/mongo_masker:23:in `load'
	24: from /usr/local/bundle/gems/mongo_masker-1.0.2/bin/mongo_masker:16:in `<top (required)>'
	23: from /usr/local/bundle/gems/thor-1.0.1/lib/thor/base.rb:485:in `start'
	22: from /usr/local/bundle/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch'
	21: from /usr/local/bundle/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command'
	20: from /usr/local/bundle/gems/thor-1.0.1/lib/thor/command.rb:27:in `run'
	19: from /usr/local/bundle/gems/mongo_masker-1.0.2/bin/mongo_masker:12:in `mask'
	18: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:22:in `mask'
	17: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:42:in `track_time'
	16: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:23:in `block in mask'
	15: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:23:in `each'
	14: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:24:in `block (2 levels) in mask'
	13: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:58:in `mask_document'
	12: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:75:in `mask_each_document'
	11: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:75:in `each_with_index'
	10: from /usr/local/bundle/gems/mongo-2.11.2/lib/mongo/collection/view/iterable.rb:50:in `each'
	 9: from /usr/local/bundle/gems/mongo-2.11.2/lib/mongo/cursor.rb:152:in `each'
	 8: from /usr/local/bundle/gems/mongo-2.11.2/lib/mongo/cursor.rb:152:in `loop'
	 7: from /usr/local/bundle/gems/mongo-2.11.2/lib/mongo/cursor.rb:154:in `block in each'
	 6: from /usr/local/bundle/gems/mongo-2.11.2/lib/mongo/collection/view/iterable.rb:51:in `block in each'
	 5: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:77:in `block in mask_each_document'
	 4: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:112:in `create_mask'
	 3: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:112:in `each'
	 2: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:119:in `block in create_mask'
	 1: from /usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:131:in `evalute_field_value'
/usr/local/bundle/gems/mongo_masker-1.0.2/lib/mongo_masker.rb:134:in `rescue in evalute_field_value': Can't eval `"%s.%s" % [FFaker::Name.unique.first_name, FFaker::Name.unique.last_name]` (RuntimeError)

Also, tried following in mask.yml but having similar errors.

"FFaker::Name.unique.first_name+\".\"+FFaker::Name.unique.last_name"
FFaker::Name.unique.first_name+'.'+FFaker::Name.unique.last_name
"Kernal::format(\"%s.%s\", FFaker::Name.unique.first_name, FFaker::Name.unique.first_name)"
FFaker::Name.unique.first_name.concat('.').concat(FFaker::Name.unique.last_name)

Please advice.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions