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 = {}
	@service_account = 
	@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, @service_account)
		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(@service_account, target_languages, @bundle_id)
	else
		@resource_data
	end
end

#get_service_accountObject



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

def 
	@service_account
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)
	@service_account = sa
end