class PhraseApp::InContextEditor::DisplayableKeyIdentifier
Attributes
api_wrapper[R]
key_names_cache[R]
Public Class Methods
new(api_wrapper)
click to toggle source
# 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
Public Instance Methods
identify(key_name, options)
click to toggle source
# 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
Private Instance Methods
find_keys_within_phraseapp(key_names)
click to toggle source
# File lib/phraseapp-in-context-editor-ruby/displayable_key_identifier.rb, line 32 def find_keys_within_phraseapp(key_names) key_names_to_check_against_api = key_names - @key_names_cache.pre_fetched(key_names) @key_names_cache.pre_cached(key_names) | key_names_returned_from_api_for(key_names_to_check_against_api) end
key_names_returned_from_api_for(key_names)
click to toggle source
# File lib/phraseapp-in-context-editor-ruby/displayable_key_identifier.rb, line 37 def key_names_returned_from_api_for(key_names) if key_names.size > 0 api_wrapper.keys_by_names(key_names).map { |key| key.name } else [] end end