Class: RESTClient

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

Instance Method Summary collapse

Constructor Details

#initialize(service_account, bundle_id, locale = "") ⇒ RESTClient

Returns a new instance of RESTClient.



55
56
57
58
59
60
61
62
63
# File 'lib/rest_client.rb', line 55

def initialize(, bundle_id, locale = "")
  @bundles = []
  @languages = {}
  @resource_data = {}
   = 
  @bundle_id = bundle_id
  
  get_resource_strings(locale)
end

Instance Method Details

#get_bundle_idObject



137
138
139
# File 'lib/rest_client.rb', line 137

def get_bundle_id
  @bundle_id
end

#get_bundle_infoObject

bundle info contains the languages - used get_bundle_info to reflect current API



75
76
77
78
79
80
81
82
83
84
# File 'lib/rest_client.rb', line 75

def get_bundle_info
  if @languages.empty?
    url_string = "#{@service_account.get_url_string}/#{@service_account.get_instance_id}/#{URL_PATH}/#{@bundle_id}"
    puts url_string
    response = make_request(url_string, )
    source_language = response[BUNDLE_STRING][SOURCE_LANGUAGE_STRING]
    @languages[source_language] = response[BUNDLE_STRING][TARGET_LANGUAGES_STRING]
  end
  @languages
end

#get_bundlesObject



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

def get_bundles
  if @bundles.empty?
    url_string = "#{@service_account.get_url_string}/#{@service_account.get_instance_id}/#{URL_PATH}"
    response = make_request(url_string, )
    @bundles = request[BUNDLE_ID_STRING]
  end
  @bundles
end

#get_resource_strings(locale = "") ⇒ Object



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/rest_client.rb', line 86

def get_resource_strings(locale = "")
  if @resource_data.empty?
    target_languages = []

    if locale.empty?
      language_dictionary = get_bundle_info
      target_languages = get_target_languages.dup
      target_languages << get_source_language
    else
      if (!@supportedLangs.include? locale)
        if (@expectedMatches.has_key? locale)
          locale = @expectedMatches[locale]
        else
          raise "Unsupported Locale: #{locale}"
        end
      end
      target_languages << locale
    end

    get_translations(, target_languages, @bundle_id)
  else
    @resource_data
  end
end

#get_service_accountObject



133
134
135
# File 'lib/rest_client.rb', line 133

def 
  
end

#get_source_languageObject



124
125
126
# File 'lib/rest_client.rb', line 124

def get_source_language
  @languages.keys[0]
end

#get_target_languagesObject



128
129
130
131
# File 'lib/rest_client.rb', line 128

def get_target_languages
  source_language = get_source_language
  @languages[source_language]
end

#has_language(language) ⇒ Object



111
112
113
114
115
116
117
118
119
120
121
122
# File 'lib/rest_client.rb', line 111

def has_language(language)
  if language.equal? get_source_language
    return true
  end
  get_target_languages.each do |lang|
    if lang.equal? language
      return true
    end
  end
  
  return false
end

#set_bundle_id(name) ⇒ Object



149
150
151
# File 'lib/rest_client.rb', line 149

def set_bundle_id(name)
  @bundle_id = name
end

#set_resource_strings(map) ⇒ Object



141
142
143
# File 'lib/rest_client.rb', line 141

def set_resource_strings (map)
  @resource_data = map
end

#set_service_account(sa) ⇒ Object



145
146
147
# File 'lib/rest_client.rb', line 145

def (sa)
   = sa
end