Class: VGS::Aliases

Inherits:
Object
  • Object
show all
Defined in:
lib/vgs_api_client.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Aliases

Returns a new instance of Aliases.

Raises:

  • (ArgumentError)


17
18
19
20
# File 'lib/vgs_api_client.rb', line 17

def initialize(config)
  raise ArgumentError, 'config is nil' if config.nil?
  @aliases_api = VgsApiClient::AliasesApi.new(VgsApiClient::ApiClient.new(config))
end

Instance Method Details

#delete(_alias) ⇒ Object



76
77
78
79
80
81
82
# File 'lib/vgs_api_client.rb', line 76

def delete(_alias)
  begin
    @aliases_api.delete_alias(_alias = _alias)
  rescue Exception => e
    raise map_exception("Failed to delete alias #{ _alias }", e)
  end
end

#redact(data) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/vgs_api_client.rb', line 41

def redact(data)
  begin
    requests = data.map do |item|
      VgsApiClient::CreateAliasesRequestNew.new(attributes = {
        :format => VgsApiClient::AliasFormat.build_from_hash(item[:format] || "UUID"),
        :classifiers => item[:classifiers],
        :value => item[:value],
        :storage => item[:storage]
      })
    end

    create_aliases_request = VgsApiClient::CreateAliasesRequest.new(attributes = {
      :data => requests
    })
    response = @aliases_api.create_aliases(opts = {
      :create_aliases_request => create_aliases_request.to_hash
    })
  rescue Exception => e
    raise map_exception("Failed to redact data #{ data }", e)
  else
    response.data
  end
end

#reveal(aliases) ⇒ Object



65
66
67
68
69
70
71
72
73
74
# File 'lib/vgs_api_client.rb', line 65

def reveal(aliases)
  begin
    query = aliases.kind_of?(Array) ? aliases.join(",") : aliases
    response = @aliases_api.reveal_multiple_aliases(q = query)
  rescue Exception => e
    raise map_exception("Failed to reveal aliases #{ aliases }", e)
  else
    response.data
  end
end

#update(_alias, data) ⇒ Object



84
85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'lib/vgs_api_client.rb', line 84

def update(_alias, data)
  begin
    update_alias_request = VgsApiClient::UpdateAliasRequest.new(attributes = {
      :data => VgsApiClient::UpdateAliasRequestData.new(attributes = {
        :classifiers => data[:classifiers]
      })
    })
    @aliases_api.update_alias(_alias = _alias, opts = {
      :update_alias_request => update_alias_request.to_hash
    })
  rescue Exception => e
    raise map_exception("Failed to update alias #{ _alias }", e)
  end
end