web_translate_it 2.0.0.rc2 → 2.0.0.rc3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,25 +4,23 @@ module WebTranslateIt
4
4
  require 'net/https'
5
5
  require 'json'
6
6
 
7
- attr_accessor :api_key, :id, :text, :description, :created_at, :updated_at, :translations, :new_record
7
+ attr_accessor :id, :text, :description, :created_at, :updated_at, :translations, :new_record
8
8
 
9
9
  # Initialize a new WebTranslateIt::Term
10
- # The only mandatory parameter is `api_key`
11
10
  #
12
11
  # Implementation Example:
13
12
  #
14
- # WebTranslateIt::Term.new('secret_api_token', { "text" => "Term Name" })
13
+ # WebTranslateIt::Term.new({ "text" => "Term Name" })
15
14
  #
16
15
  # to instantiate a new Term.
17
16
  #
18
17
  # translation_es = WebTranslateIt::TermTranslation.new({ "locale" => "es", "text" => "Hola" })
19
18
  # translation_fr = WebTranslateIt::TermTranslation.new({ "locale" => "fr", "text" => "Bonjour" })
20
- # WebTranslateIt::Term.new('secret_api_token', { "text" => "Hello", "translations" => [translation_es, translation_fr]})
19
+ # WebTranslateIt::Term.new({ "text" => "Hello", "translations" => [translation_es, translation_fr]})
21
20
  #
22
21
  # to instantiate a new Term with a Term Translations in Spanish and French.
23
22
 
24
- def initialize(api_key, params = {})
25
- self.api_key = api_key
23
+ def initialize(params = {})
26
24
  self.id = params["id"] || nil
27
25
  self.text = params["text"] || nil
28
26
  self.description = params["description"] || nil
@@ -33,20 +31,19 @@ module WebTranslateIt
33
31
  end
34
32
 
35
33
  # Fetch all terms
36
- # Needs a HTTPS Connection
37
34
  #
38
35
  # Implementation Example:
39
36
  #
40
- # WebTranslateIt::Util.http_connection do |connection|
41
- # terms = WebTranslateIt::Term.find_all(connection, 'secret_api_token')
37
+ # WebTranslateIt::Connection.new('secret_api_token') do
38
+ # terms = WebTranslateIt::Term.find_all
42
39
  # end
43
40
  #
44
41
  # puts terms.inspect #=> An array of WebTranslateIt::Term objects
45
42
  #
46
43
  # TODO: Implement pagination
47
44
 
48
- def self.find_all(http_connection, api_key, params = {})
49
- url = "/api/projects/#{api_key}/terms.yaml"
45
+ def self.find_all(params = {})
46
+ url = "/api/projects/#{Connection.api_key}/terms.yaml"
50
47
  url += '?' + HashUtil.to_params(params) unless params.empty?
51
48
 
52
49
  request = Net::HTTP::Get.new(url)
@@ -54,10 +51,10 @@ module WebTranslateIt
54
51
  request.add_field("X-Client-Version", WebTranslateIt::Util.version)
55
52
 
56
53
  begin
57
- response = Util.handle_response(http_connection.request(request), true)
54
+ response = Util.handle_response(Connection.http_connection.request(request), true)
58
55
  terms = []
59
56
  YAML.load(response).each do |term_response|
60
- term = WebTranslateIt::Term.new(api_key, term_response)
57
+ term = WebTranslateIt::Term.new(term_response)
61
58
  term.new_record = false
62
59
  terms.push(term)
63
60
  end
@@ -71,12 +68,11 @@ module WebTranslateIt
71
68
  end
72
69
 
73
70
  # Find a Term based on its ID
74
- # Needs a HTTPS Connection
75
71
  #
76
72
  # Implementation Example:
77
73
  #
78
- # WebTranslateIt::Util.http_connection do |connection|
79
- # term = WebTranslateIt::Term.find(connection, 'secret_api_token', 1234)
74
+ # WebTranslateIt::Connection.new('secret_api_token') do
75
+ # term = WebTranslateIt::Term.find(1234)
80
76
  # end
81
77
  #
82
78
  # puts term.inspect #=> A Term object
@@ -84,15 +80,15 @@ module WebTranslateIt
84
80
  # to find and instantiate the Term which ID is `1234`.
85
81
  #
86
82
 
87
- def self.find(http_connection, api_key, term_id)
88
- request = Net::HTTP::Get.new("/api/projects/#{api_key}/terms/#{term_id}.yaml")
83
+ def self.find(term_id)
84
+ request = Net::HTTP::Get.new("/api/projects/#{Connection.api_key}/terms/#{term_id}.yaml")
89
85
  request.add_field("X-Client-Name", "web_translate_it")
90
86
  request.add_field("X-Client-Version", WebTranslateIt::Util.version)
91
87
 
92
88
  begin
93
- response = http_connection.request(request)
89
+ response = Connection.http_connection.request(request)
94
90
  return nil if response.code.to_i == 404
95
- term = WebTranslateIt::Term.new(api_key, YAML.load(response.body))
91
+ term = WebTranslateIt::Term.new(YAML.load(response.body))
96
92
  term.new_record = false
97
93
  return term
98
94
  rescue Timeout::Error
@@ -103,43 +99,37 @@ module WebTranslateIt
103
99
  end
104
100
 
105
101
  # Update or create a Term to WebTranslateIt.com
106
- # Needs a HTTPS Connection
107
102
  #
108
103
  # Implementation Example:
109
104
  #
110
- # WebTranslateIt::Util.http_connection do |connection|
111
- # term = WebTranslateIt::Term.find(connection, 'secret_api_token', 1234)
105
+ # WebTranslateIt::Connection.new('secret_api_token') do
106
+ # term = WebTranslateIt::Term.find(1234)
112
107
  # term.text = "Hello"
113
- # term.save(http_connection)
108
+ # term.save
114
109
  # end
115
110
  #
116
111
 
117
- def save(http_connection)
118
- if self.new_record
119
- self.create(http_connection)
120
- else
121
- self.update(http_connection)
122
- end
112
+ def save
113
+ self.new_record ? self.create : self.update
123
114
  end
124
115
 
125
116
  # Delete a Term on WebTranslateIt.com
126
- # Needs a HTTPS Connection
127
117
  #
128
118
  # Implementation Example:
129
119
  #
130
- # WebTranslateIt::Util.http_connection do |connection|
131
- # term = WebTranslateIt::Term.find(connection, 'secret_api_token', 1234)
132
- # term.delete(http_connection)
120
+ # WebTranslateIt::Connection.new('secret_api_token') do
121
+ # term = WebTranslateIt::Term.find(1234)
122
+ # term.delete
133
123
  # end
134
124
  #
135
125
 
136
- def delete(http_connection)
137
- request = Net::HTTP::Delete.new("/api/projects/#{self.api_key}/terms/#{self.id}")
126
+ def delete
127
+ request = Net::HTTP::Delete.new("/api/projects/#{Connection.api_key}/terms/#{self.id}")
138
128
  request.add_field("X-Client-Name", "web_translate_it")
139
129
  request.add_field("X-Client-Version", WebTranslateIt::Util.version)
140
130
 
141
131
  begin
142
- Util.handle_response(http_connection.request(request), true)
132
+ Util.handle_response(Connection.http_connection.request(request), true)
143
133
  rescue Timeout::Error
144
134
  puts "The request timed out. The service may be overloaded. We will retry in 5 seconds."
145
135
  sleep(5)
@@ -148,29 +138,28 @@ module WebTranslateIt
148
138
  end
149
139
 
150
140
  # Gets a Translation for a Term
151
- # Needs a HTTPS Connection
152
141
  #
153
142
  # Implementation Example:
154
143
  #
155
- # WebTranslateIt::Util.http_connection do |connection|
156
- # term = WebTranslateIt::Term.find(connection, 'secret_api_token', 1234)
157
- # puts term.translation_for(connection, "fr") #=> A TermTranslation object
144
+ # WebTranslateIt::Connection.new('secret_api_token') do
145
+ # term = WebTranslateIt::Term.find(1234)
146
+ # puts term.translation_for("fr") #=> A TermTranslation object
158
147
  # end
159
148
  #
160
149
 
161
- def translation_for(http_connection, locale)
150
+ def translation_for(locale)
162
151
  return self.translations unless self.translations == []
163
- request = Net::HTTP::Get.new("/api/projects/#{self.api_key}/terms/#{self.id}/locales/#{locale}/translations.yaml")
152
+ request = Net::HTTP::Get.new("/api/projects/#{Connection.api_key}/terms/#{self.id}/locales/#{locale}/translations.yaml")
164
153
  request.add_field("X-Client-Name", "web_translate_it")
165
154
  request.add_field("X-Client-Version", WebTranslateIt::Util.version)
166
155
 
167
156
  begin
168
- response = Util.handle_response(http_connection.request(request), true)
157
+ response = Util.handle_response(Connection.http_connection.request(request), true)
169
158
  array = YAML.load(response)
170
159
  return nil if array.empty?
171
160
  translations = []
172
161
  array.each do |translation|
173
- term_translation = WebTranslateIt::TermTranslation.new(api_key, translation)
162
+ term_translation = WebTranslateIt::TermTranslation.new(translation)
174
163
  translations.push(term_translation)
175
164
  end
176
165
  return translations
@@ -184,8 +173,8 @@ module WebTranslateIt
184
173
 
185
174
  protected
186
175
 
187
- def update(http_connection)
188
- request = Net::HTTP::Put.new("/api/projects/#{self.api_key}/terms/#{self.id}.yaml")
176
+ def update
177
+ request = Net::HTTP::Put.new("/api/projects/#{Connection.api_key}/terms/#{self.id}.yaml")
189
178
  request.add_field("X-Client-Name", "web_translate_it")
190
179
  request.add_field("X-Client-Version", WebTranslateIt::Util.version)
191
180
  request.add_field("Content-Type", "application/json")
@@ -194,11 +183,11 @@ module WebTranslateIt
194
183
 
195
184
  self.translations.each do |translation|
196
185
  translation.term_id = self.id
197
- translation.save(http_connection)
186
+ translation.save
198
187
  end
199
188
 
200
189
  begin
201
- Util.handle_response(http_connection.request(request), true)
190
+ Util.handle_response(Connection.http_connection.request(request), true)
202
191
  rescue Timeout::Error
203
192
  puts "The request timed out. The service may be overloaded. We will retry in 5 seconds."
204
193
  sleep(5)
@@ -206,8 +195,8 @@ module WebTranslateIt
206
195
  end
207
196
  end
208
197
 
209
- def create(http_connection)
210
- request = Net::HTTP::Post.new("/api/projects/#{api_key}/terms")
198
+ def create
199
+ request = Net::HTTP::Post.new("/api/projects/#{Connection.api_key}/terms")
211
200
  request.add_field("X-Client-Name", "web_translate_it")
212
201
  request.add_field("X-Client-Version", WebTranslateIt::Util.version)
213
202
  request.add_field("Content-Type", "application/json")
@@ -215,7 +204,7 @@ module WebTranslateIt
215
204
  request.body = self.to_json(true)
216
205
 
217
206
  begin
218
- response = YAML.load(Util.handle_response(http_connection.request(request), true))
207
+ response = YAML.load(Util.handle_response(Connection.http_connection.request(request), true))
219
208
  self.id = response["id"]
220
209
  self.new_record = false
221
210
  return true
@@ -4,20 +4,18 @@ module WebTranslateIt
4
4
  require 'net/https'
5
5
  require 'json'
6
6
 
7
- attr_accessor :api_key, :id, :locale, :text, :description, :status, :new_record, :term_id
7
+ attr_accessor :id, :locale, :text, :description, :status, :new_record, :term_id
8
8
 
9
9
  # Initialize a new WebTranslateIt::TermTranslation
10
- # Mandatory parameter is `api_key`
11
10
  #
12
11
  # Implementation Example:
13
12
  #
14
- # WebTranslateIt::TermTranslation.new('secret_api_token', { "text" => "Super!" })
13
+ # WebTranslateIt::TermTranslation.new({ "text" => "Super!" })
15
14
  #
16
15
  # to instantiate a new TermTranslation.
17
16
  #
18
17
 
19
- def initialize(api_key, params = {})
20
- self.api_key = api_key
18
+ def initialize(params = {})
21
19
  self.id = params["id"] || nil
22
20
  self.locale = params["locale"] || nil
23
21
  self.text = params["text"] || nil
@@ -31,19 +29,14 @@ module WebTranslateIt
31
29
  #
32
30
  # Implementation Example:
33
31
  #
34
- # translation = WebTranslateIt::TermTranslation.new('secret_api_token', { "term_id" => "1234", "text" => "Super!" })
35
- # translation.text = "I changed it!"
36
- # WebTranslateIt::Util.http_connection do |connection|
37
- # translation.save(connection)
32
+ # translation = WebTranslateIt::TermTranslation.new({ "term_id" => "1234", "text" => "Super!" })
33
+ # WebTranslateIt::Connection.new('secret_api_token') do
34
+ # translation.save
38
35
  # end
39
36
  #
40
37
 
41
- def save(http_connection)
42
- if self.new_record
43
- self.create(http_connection)
44
- else
45
- self.update(http_connection)
46
- end
38
+ def save
39
+ self.new_record ? self.create : self.update
47
40
  end
48
41
 
49
42
  def to_hash
@@ -58,8 +51,8 @@ module WebTranslateIt
58
51
 
59
52
  protected
60
53
 
61
- def create(http_connection)
62
- request = Net::HTTP::Post.new("/api/projects/#{self.api_key}/terms/#{self.term_id}/locales/#{self.locale}/translations")
54
+ def create
55
+ request = Net::HTTP::Post.new("/api/projects/#{Connection.api_key}/terms/#{self.term_id}/locales/#{self.locale}/translations")
63
56
  request.add_field("X-Client-Name", "web_translate_it")
64
57
  request.add_field("X-Client-Version", WebTranslateIt::Util.version)
65
58
  request.add_field("Content-Type", "application/json")
@@ -67,7 +60,7 @@ module WebTranslateIt
67
60
  request.body = self.to_hash.to_json
68
61
 
69
62
  begin
70
- response = Util.handle_response(http_connection.request(request), true)
63
+ response = Util.handle_response(Connection.http_connection.request(request), true)
71
64
  response = YAML.load(response)
72
65
  self.id = response["id"]
73
66
  self.new_record = false
@@ -80,8 +73,8 @@ module WebTranslateIt
80
73
  end
81
74
  end
82
75
 
83
- def update(http_connection)
84
- request = Net::HTTP::Put.new("/api/projects/#{self.api_key}/terms/#{self.id}/locales/#{self.locale}/translations/#{self.id}")
76
+ def update
77
+ request = Net::HTTP::Put.new("/api/projects/#{Connection.api_key}/terms/#{self.id}/locales/#{self.locale}/translations/#{self.id}")
85
78
  request.add_field("X-Client-Name", "web_translate_it")
86
79
  request.add_field("X-Client-Version", WebTranslateIt::Util.version)
87
80
  request.add_field("Content-Type", "application/json")
@@ -89,7 +82,7 @@ module WebTranslateIt
89
82
  request.body = self.to_hash.to_json
90
83
 
91
84
  begin
92
- Util.handle_response(http_connection.request(request), true)
85
+ Util.handle_response(Connection.http_connection.request(request), true)
93
86
 
94
87
  rescue Timeout::Error
95
88
  puts "The request timed out. The service may be overloaded. We will retry in 5 seconds."
@@ -97,6 +90,5 @@ module WebTranslateIt
97
90
  retry
98
91
  end
99
92
  end
100
-
101
93
  end
102
94
  end
@@ -4,20 +4,18 @@ module WebTranslateIt
4
4
  require 'net/https'
5
5
  require 'json'
6
6
 
7
- attr_accessor :api_key, :id, :locale, :text, :status, :created_at, :updated_at, :version, :string_id
7
+ attr_accessor :id, :locale, :text, :status, :created_at, :updated_at, :version, :string_id
8
8
 
9
9
  # Initialize a new WebTranslateIt::Translation
10
- # Mandatory parameters are `api_key` and { "string_id" => "1234" }
11
10
  #
12
11
  # Implementation Example:
13
12
  #
14
- # WebTranslateIt::Translation.new('secret_api_token', { "string_id" => "1234", "text" => "Super!" })
13
+ # WebTranslateIt::Translation.new({ "string_id" => "1234", "text" => "Super!" })
15
14
  #
16
15
  # to instantiate a new Translation without any text.
17
16
  #
18
17
 
19
- def initialize(api_key, params = {})
20
- self.api_key = api_key
18
+ def initialize(params = {})
21
19
  self.id = params["id"] || nil
22
20
  self.locale = params["locale"] || nil
23
21
  self.text = params["text"] || nil
@@ -36,22 +34,21 @@ module WebTranslateIt
36
34
  #
37
35
  # Implementation Example:
38
36
  #
39
- # translation = WebTranslateIt::Translation.new('secret_api_token', { "string_id" => "1234", "text" => "Super!" })
40
- # translation.text = "I changed it!"
41
- # WebTranslateIt::Util.http_connection do |connection|
42
- # translation.save(connection)
37
+ # translation = WebTranslateIt::Translation.new({ "string_id" => "1234", "text" => "Super!" })
38
+ # WebTranslateIt::Connection.new('secret_api_token') do
39
+ # translation.save
43
40
  # end
44
41
  #
45
42
 
46
- def save(http_connection)
47
- request = Net::HTTP::Post.new("/api/projects/#{self.api_key}/strings/#{self.string_id}/locales/#{self.locale}/translations")
43
+ def save
44
+ request = Net::HTTP::Post.new("/api/projects/#{Connection.api_key}/strings/#{self.string_id}/locales/#{self.locale}/translations")
48
45
  request.add_field("X-Client-Name", "web_translate_it")
49
46
  request.add_field("X-Client-Version", WebTranslateIt::Util.version)
50
47
  request.add_field("Content-Type", "application/json")
51
48
  request.body = self.to_hash.to_json
52
49
 
53
50
  begin
54
- Util.handle_response(http_connection.request(request), true)
51
+ Util.handle_response(Connection.http_connection.request(request), true)
55
52
  rescue Timeout::Error
56
53
  puts "The request timed out. The service may be overloaded. We will retry in 5 seconds."
57
54
  sleep(5)
@@ -1,9 +1,5 @@
1
1
  # encoding: utf-8
2
2
  module WebTranslateIt
3
- require 'net/http'
4
- require 'net/https'
5
- require 'uri'
6
- require 'ostruct'
7
3
 
8
4
  # A few useful functions
9
5
  class Util
@@ -13,41 +9,7 @@ module WebTranslateIt
13
9
  def self.version
14
10
  IO.read(File.expand_path('../../../version', __FILE__))
15
11
  end
16
-
17
- # Yields a HTTP connection over SSL to Web Translate It.
18
- # This is used for the connections to the API throughout the library.
19
- # Use it like so:
20
- #
21
- # WebTranslateIt::Util.http_connection do |http|
22
- # request = Net::HTTP::Get.new(api_url)
23
- # response = http.request(request)
24
- # end
25
- #
26
- # This method will try to connect through a proxy if `http_proxy` is set.
27
- #
28
- def self.http_connection
29
- proxy = ENV['http_proxy'] ? URI.parse(ENV['http_proxy']) : OpenStruct.new
30
- http = Net::HTTP::Proxy(proxy.host, proxy.port, proxy.user, proxy.password).new('webtranslateit.com', 443)
31
- http.use_ssl = true
32
- http.open_timeout = http.read_timeout = 30
33
- begin
34
- http.verify_mode = OpenSSL::SSL::VERIFY_PEER
35
- if File.exists?('/etc/ssl/certs') # Ubuntu
36
- http.ca_path = '/etc/ssl/certs'
37
- else
38
- http.ca_file = File.expand_path('cacert.pem', __FILE__)
39
- end
40
- yield http.start
41
- rescue OpenSSL::SSL::SSLError
42
- puts "Unable to verify SSL certificate."
43
- http = Net::HTTP::Proxy(proxy.host, proxy.port, proxy.user, proxy.password).new('webtranslateit.com', 443)
44
- http.use_ssl = true
45
- http.open_timeout = http.read_timeout = 30
46
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE
47
- yield http.start
48
- end
49
- end
50
-
12
+
51
13
  def self.calculate_percentage(processed, total)
52
14
  return 0 if total == 0
53
15
  ((processed*10)/total).to_f.ceil*10
@@ -6,8 +6,7 @@ describe WebTranslateIt::String do
6
6
 
7
7
  describe "#initialize" do
8
8
  it "should assign api_key and many parameters" do
9
- string = WebTranslateIt::String.new(api_key, { "id" => 1234, "key" => "bacon"})
10
- string.api_key.should == api_key
9
+ string = WebTranslateIt::String.new({ "id" => 1234, "key" => "bacon"})
11
10
  string.id.should == 1234
12
11
  string.key.should == "bacon"
13
12
  end
@@ -15,80 +14,80 @@ describe WebTranslateIt::String do
15
14
 
16
15
  describe "#save" do
17
16
  it "should create a new String" do
18
- WebTranslateIt::Util.http_connection do |connection|
19
- string = WebTranslateIt::String.new(api_key, { "key" => "bacon" })
20
- string.save(connection)
17
+ WebTranslateIt::Connection.new(api_key) do
18
+ string = WebTranslateIt::String.new({ "key" => "bacon" })
19
+ string.save
21
20
  string.id.should_not be_nil
22
- string_fetched = WebTranslateIt::String.find(connection, api_key, string.id)
21
+ string_fetched = WebTranslateIt::String.find(string.id)
23
22
  string_fetched.should_not be_nil
24
23
  string_fetched.should be_a(WebTranslateIt::String)
25
24
  string_fetched.id.should == string.id
26
- string.delete(connection)
25
+ string.delete
27
26
  end
28
27
  end
29
28
 
30
29
  it "should update an existing String" do
31
- WebTranslateIt::Util.http_connection do |connection|
32
- string = WebTranslateIt::String.new(api_key, { "key" => "bacony" })
33
- string.save(connection)
30
+ WebTranslateIt::Connection.new(api_key) do
31
+ string = WebTranslateIt::String.new({ "key" => "bacony" })
32
+ string.save
34
33
  string.key = "bacon changed"
35
- string.save(connection)
36
- string_fetched = WebTranslateIt::String.find(connection, api_key, string.id)
34
+ string.save
35
+ string_fetched = WebTranslateIt::String.find(string.id)
37
36
  string_fetched.key.should == "bacon changed"
38
- string.delete(connection)
37
+ string.delete
39
38
  end
40
39
  end
41
40
 
42
41
  it "should create a new String with Translation" do
43
- translation1 = WebTranslateIt::Translation.new(api_key, { "locale" => "en", "text" => "Hello" })
44
- translation2 = WebTranslateIt::Translation.new(api_key, { "locale" => "fr", "text" => "Bonjour" })
42
+ translation1 = WebTranslateIt::Translation.new({ "locale" => "en", "text" => "Hello" })
43
+ translation2 = WebTranslateIt::Translation.new({ "locale" => "fr", "text" => "Bonjour" })
45
44
 
46
- string = WebTranslateIt::String.new(api_key, { "key" => "bacon", "translations" => [translation1, translation2] })
47
- WebTranslateIt::Util.http_connection do |connection|
48
- string.save(connection)
49
- string_fetched = WebTranslateIt::String.find(connection, api_key, string.id)
50
- string_fetched.translation_for(connection, "en").should_not be_nil
51
- string_fetched.translation_for(connection, "en").text.should == "Hello"
52
- string_fetched.translation_for(connection, "fr").should_not be_nil
53
- string_fetched.translation_for(connection, "fr").text.should == "Bonjour"
54
- string_fetched.translation_for(connection, "es").should be_nil
55
- string.delete(connection)
45
+ string = WebTranslateIt::String.new({ "key" => "bacon", "translations" => [translation1, translation2] })
46
+ WebTranslateIt::Connection.new(api_key) do
47
+ string.save
48
+ string_fetched = WebTranslateIt::String.find(string.id)
49
+ string_fetched.translation_for("en").should_not be_nil
50
+ string_fetched.translation_for("en").text.should == "Hello"
51
+ string_fetched.translation_for("fr").should_not be_nil
52
+ string_fetched.translation_for("fr").text.should == "Bonjour"
53
+ string_fetched.translation_for("es").should be_nil
54
+ string.delete
56
55
  end
57
56
  end
58
57
 
59
58
  it "should update a String and save its Translation" do
60
- translation1 = WebTranslateIt::Translation.new(api_key, { "locale" => "en", "text" => "Hello" })
61
- translation2 = WebTranslateIt::Translation.new(api_key, { "locale" => "fr", "text" => "Bonjour" })
59
+ translation1 = WebTranslateIt::Translation.new({ "locale" => "en", "text" => "Hello" })
60
+ translation2 = WebTranslateIt::Translation.new({ "locale" => "fr", "text" => "Bonjour" })
62
61
 
63
- string = WebTranslateIt::String.new(api_key, { "key" => "bacon" })
64
- WebTranslateIt::Util.http_connection do |connection|
65
- string.save(connection)
66
- string_fetched = WebTranslateIt::String.find(connection, api_key, string.id)
67
- string_fetched.translation_for(connection, "fr").should be_nil
62
+ string = WebTranslateIt::String.new({ "key" => "bacon" })
63
+ WebTranslateIt::Connection.new(api_key) do
64
+ string.save
65
+ string_fetched = WebTranslateIt::String.find(string.id)
66
+ string_fetched.translation_for("fr").should be_nil
68
67
 
69
68
  string_fetched.translations = [translation1, translation2]
70
- string_fetched.save(connection)
69
+ string_fetched.save
71
70
 
72
- string_fetched = WebTranslateIt::String.find(connection, api_key, string.id)
73
- string_fetched.translation_for(connection, "en").should_not be_nil
74
- string_fetched.translation_for(connection, "en").text.should == "Hello"
75
- string_fetched.translation_for(connection, "fr").should_not be_nil
76
- string_fetched.translation_for(connection, "fr").text.should == "Bonjour"
77
- string.delete(connection)
71
+ string_fetched = WebTranslateIt::String.find(string.id)
72
+ string_fetched.translation_for("en").should_not be_nil
73
+ string_fetched.translation_for("en").text.should == "Hello"
74
+ string_fetched.translation_for("fr").should_not be_nil
75
+ string_fetched.translation_for("fr").text.should == "Bonjour"
76
+ string.delete
78
77
  end
79
78
  end
80
79
  end
81
80
 
82
81
  describe "#delete" do
83
82
  it "should delete a String" do
84
- string = WebTranslateIt::String.new(api_key, { "key" => "bacon" })
85
- WebTranslateIt::Util.http_connection do |connection|
86
- string.save(connection)
87
- string_fetched = WebTranslateIt::String.find(connection, api_key, string.id)
83
+ string = WebTranslateIt::String.new({ "key" => "bacon" })
84
+ WebTranslateIt::Connection.new(api_key) do
85
+ string.save
86
+ string_fetched = WebTranslateIt::String.find(string.id)
88
87
  string_fetched.should_not be_nil
89
88
 
90
- string_fetched.delete(connection)
91
- string_fetched = WebTranslateIt::String.find(connection, api_key, string.id)
89
+ string_fetched.delete
90
+ string_fetched = WebTranslateIt::String.find(string.id)
92
91
  string_fetched.should be_nil
93
92
  end
94
93
  end
@@ -96,31 +95,31 @@ describe WebTranslateIt::String do
96
95
 
97
96
  describe "#find_all" do
98
97
  it "should find many strings" do
99
- WebTranslateIt::Util.http_connection do |connection|
100
- string1 = WebTranslateIt::String.new(api_key, { "key" => "bacon" })
101
- string1.save(connection)
102
- string2 = WebTranslateIt::String.new(api_key, { "key" => "tart" })
103
- string2.save(connection)
104
- string3 = WebTranslateIt::String.new(api_key, { "key" => "bacon tart" })
105
- string3.save(connection)
98
+ WebTranslateIt::Connection.new(api_key) do
99
+ string1 = WebTranslateIt::String.new({ "key" => "bacon" })
100
+ string1.save
101
+ string2 = WebTranslateIt::String.new({ "key" => "tart" })
102
+ string2.save
103
+ string3 = WebTranslateIt::String.new({ "key" => "bacon tart" })
104
+ string3.save
106
105
 
107
- strings = WebTranslateIt::String.find_all(connection, api_key, { "key" => "bacon" })
106
+ strings = WebTranslateIt::String.find_all({ "key" => "bacon" })
108
107
  strings.count.should == 2
109
108
  strings[0].key.should == "bacon"
110
109
  strings[1].key.should == "bacon tart"
111
110
 
112
- strings = WebTranslateIt::String.find_all(connection, api_key, { "key" => "tart" })
111
+ strings = WebTranslateIt::String.find_all({ "key" => "tart" })
113
112
  strings.count.should == 2
114
113
  strings[0].key.should == "tart"
115
114
  strings[1].key.should == "bacon tart"
116
115
 
117
- strings = WebTranslateIt::String.find_all(connection, api_key, { "key" => "bacon tart" })
116
+ strings = WebTranslateIt::String.find_all({ "key" => "bacon tart" })
118
117
  strings.count.should == 1
119
118
  strings[0].key.should == "bacon tart"
120
119
 
121
- string1.delete(connection)
122
- string2.delete(connection)
123
- string3.delete(connection)
120
+ string1.delete
121
+ string2.delete
122
+ string3.delete
124
123
  end
125
124
  end
126
125
  end