phrase 0.2.0.beta.6 → 0.2.0.beta.7

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.
@@ -41,11 +41,27 @@ class Phrase::Api::Client
41
41
  raise "You must specify a key" if key.nil? or key.blank?
42
42
  keys = {}
43
43
  result = JSON.parse(perform_api_request("/translation_keys/translate", :get, {:key => key}))
44
- if result["translate"]
45
- keys = result["translate"]
46
- end
44
+ keys = extract_structured_object(result["translate"]) if result["translate"]
47
45
  keys
48
46
  end
47
+
48
+ def extract_structured_object(translation)
49
+ if translation.is_a?(Hash)
50
+ symbolize_keys(translation)
51
+ else
52
+ translation
53
+ end
54
+ end
55
+
56
+ def symbolize_keys(hash)
57
+ hash.symbolize_keys!
58
+ hash.each do |key, value|
59
+ if value.is_a?(Hash)
60
+ hash[key] = symbolize_keys(value)
61
+ end
62
+ end
63
+ hash
64
+ end
49
65
 
50
66
  def find_keys_by_name(key_names=[])
51
67
  result = JSON.parse(perform_api_request("/translation_keys", :get, {:key_names => key_names}))
@@ -179,4 +195,4 @@ private
179
195
  client.ca_file = File.join(File.dirname(__FILE__), "..", "..", "cacert.pem")
180
196
  client
181
197
  end
182
- end
198
+ end
@@ -98,4 +98,4 @@ private
98
98
  $stderr.puts message
99
99
  end
100
100
  end
101
- end
101
+ end
@@ -4,7 +4,7 @@ $:.unshift lib unless $:.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "phrase"
7
- s.version = "0.2.0.beta.6"
7
+ s.version = "0.2.0.beta.7"
8
8
  s.platform = Gem::Platform::RUBY
9
9
  s.authors = ["Dynport GmbH"]
10
10
  s.email = ["info@phraseapp.com"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phrase
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.beta.6
4
+ version: 0.2.0.beta.7
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-28 00:00:00.000000000 Z
12
+ date: 2012-07-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &70299047587540 !ruby/object:Gem::Requirement
16
+ requirement: &70347496325440 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70299047587540
24
+ version_requirements: *70347496325440
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: addressable
27
- requirement: &70299047586920 !ruby/object:Gem::Requirement
27
+ requirement: &70347496324800 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: 2.2.8
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70299047586920
35
+ version_requirements: *70347496324800
36
36
  description: phrase allows you to edit translations inline, on the page itself. More
37
37
  information at phraseapp.com
38
38
  email: