Class: VGS::Aliases

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

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Aliases

Returns a new instance of Aliases.



6
7
8
# File 'lib/vgs.rb', line 6

def initialize(config)
  @aliases_api = VgsApiClient::AliasesApi.new(VgsApiClient::ApiClient.new(config))
end

Instance Method Details

#delete(_alias) ⇒ Object



47
48
49
50
51
52
53
# File 'lib/vgs.rb', line 47

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

#redact(data) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/vgs.rb', line 10

def redact(data)
  begin
    requests = data.map do |item|
      VgsApiClient::CreateAliasesRequestNew.new(attributes = {
        :format => VgsApiClient::AliasFormat.build_from_hash(item[:format]),
        :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
    raise VgsApiException, "Failed to redact data #{ data }"
  else
    response.data
  end

end

#reveal(aliases) ⇒ Object



36
37
38
39
40
41
42
43
44
45
# File 'lib/vgs.rb', line 36

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

#update(_alias, data) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/vgs.rb', line 55

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
    raise VgsApiException, "Failed to update alias #{ _alias }"
  end
end