Class: PhraseApp::InContextEditor::DisplayableKeyIdentifier

Inherits:
Object
  • Object
show all
Defined in:
lib/phraseapp-in-context-editor-ruby/displayable_key_identifier.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_wrapper) ⇒ DisplayableKeyIdentifier

Returns a new instance of DisplayableKeyIdentifier.



9
10
11
12
# File 'lib/phraseapp-in-context-editor-ruby/displayable_key_identifier.rb', line 9

def initialize(api_wrapper)
  @api_wrapper = api_wrapper
  @key_names_cache = KeyNamesCache.new(@api_wrapper)
end

Instance Attribute Details

#api_wrapperObject (readonly)

Returns the value of attribute api_wrapper.



7
8
9
# File 'lib/phraseapp-in-context-editor-ruby/displayable_key_identifier.rb', line 7

def api_wrapper
  @api_wrapper
end

#key_names_cacheObject (readonly)

Returns the value of attribute key_names_cache.



7
8
9
# File 'lib/phraseapp-in-context-editor-ruby/displayable_key_identifier.rb', line 7

def key_names_cache
  @key_names_cache
end

Instance Method Details

#identify(key_name, options) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/phraseapp-in-context-editor-ruby/displayable_key_identifier.rb', line 14

def identify(key_name, options)
  fallback_key_names = FallbackKeysFetcher.extract_fallback_keys(key_name, options)
  return key_name if fallback_key_names.empty?

  key_names = [key_name] | fallback_key_names
  available_key_names = find_keys_within_phraseapp(key_names)

  key_names.each do |item|
    if available_key_names.include?(item)
      return item
    end
  end

  return key_name
end