phrase 1.0.12 → 2.1.0

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.
Files changed (172) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +56 -9
  3. data/docs/Account.md +3 -1
  4. data/docs/AccountDetails.md +5 -1
  5. data/docs/AccountDetails1.md +3 -1
  6. data/docs/AccountSearchResult.md +29 -0
  7. data/docs/Branch.md +5 -1
  8. data/docs/Comment.md +3 -1
  9. data/docs/CurrentUser.md +31 -0
  10. data/docs/JobLocale.md +5 -1
  11. data/docs/JobTemplate.md +29 -0
  12. data/docs/JobTemplateCreateParameters.md +21 -0
  13. data/docs/JobTemplateLocale.md +23 -0
  14. data/docs/JobTemplateLocaleUpdateParameters.md +23 -0
  15. data/docs/JobTemplateLocalesApi.md +347 -0
  16. data/docs/JobTemplateLocalesCreateParameters.md +23 -0
  17. data/docs/JobTemplatePreview.md +19 -0
  18. data/docs/JobTemplateUpdateParameters.md +21 -0
  19. data/docs/JobTemplateUserPreview.md +23 -0
  20. data/docs/JobTemplatesApi.md +337 -0
  21. data/docs/KeysApi.md +137 -9
  22. data/docs/KeysExcludeParameters.md +23 -0
  23. data/docs/KeysIncludeParameters.md +23 -0
  24. data/docs/KeysSearchParameters.md +1 -1
  25. data/docs/KeysTagParameters.md +1 -1
  26. data/docs/KeysUntagParameters.md +1 -1
  27. data/docs/LocalePreview1.md +23 -0
  28. data/docs/LocalesApi.md +73 -6
  29. data/docs/MemberSpaces.md +2 -2
  30. data/docs/MemberUpdateParameters.md +4 -2
  31. data/docs/Notification.md +41 -0
  32. data/docs/NotificationGroup.md +23 -0
  33. data/docs/NotificationGroupDetail.md +27 -0
  34. data/docs/NotificationGroupsApi.md +194 -0
  35. data/docs/NotificationsApi.md +194 -0
  36. data/docs/OrderCreateParameters.md +2 -0
  37. data/docs/Project.md +2 -0
  38. data/docs/ProjectCreateParameters.md +35 -1
  39. data/docs/ProjectDetails.md +2 -0
  40. data/docs/ProjectUpdateParameters.md +43 -9
  41. data/docs/ProjectsApi.md +7 -1
  42. data/docs/ScreenshotCreateParameters.md +3 -1
  43. data/docs/ScreenshotMarkerCreateParameters.md +3 -1
  44. data/docs/ScreenshotMarkerUpdateParameters.md +3 -1
  45. data/docs/ScreenshotMarkersApi.md +9 -3
  46. data/docs/ScreenshotUpdateParameters.md +3 -1
  47. data/docs/ScreenshotsApi.md +8 -2
  48. data/docs/SearchApi.md +72 -0
  49. data/docs/SearchInAccountParameters.md +23 -0
  50. data/docs/Space1.md +25 -0
  51. data/docs/Subscription.md +19 -0
  52. data/docs/TranslationOrder.md +2 -0
  53. data/docs/TranslationsApi.md +25 -25
  54. data/docs/User.md +0 -2
  55. data/docs/UsersApi.md +2 -2
  56. data/docs/Variable.md +23 -0
  57. data/docs/VariableCreateParameters.md +19 -0
  58. data/docs/VariableUpdateParameters.md +19 -0
  59. data/docs/VariablesApi.md +331 -0
  60. data/lib/phrase.rb +28 -0
  61. data/lib/phrase/api/job_template_locales_api.rb +417 -0
  62. data/lib/phrase/api/job_templates_api.rb +387 -0
  63. data/lib/phrase/api/keys_api.rb +158 -10
  64. data/lib/phrase/api/locales_api.rb +76 -5
  65. data/lib/phrase/api/notification_groups_api.rb +202 -0
  66. data/lib/phrase/api/notifications_api.rb +202 -0
  67. data/lib/phrase/api/projects_api.rb +9 -0
  68. data/lib/phrase/api/screenshot_markers_api.rb +9 -0
  69. data/lib/phrase/api/screenshots_api.rb +9 -0
  70. data/lib/phrase/api/search_api.rb +84 -0
  71. data/lib/phrase/api/translations_api.rb +35 -35
  72. data/lib/phrase/api/users_api.rb +3 -3
  73. data/lib/phrase/api/variables_api.rb +378 -0
  74. data/lib/phrase/models/account.rb +13 -4
  75. data/lib/phrase/models/account_details.rb +22 -4
  76. data/lib/phrase/models/account_details1.rb +10 -1
  77. data/lib/phrase/models/account_search_result.rb +250 -0
  78. data/lib/phrase/models/branch.rb +19 -1
  79. data/lib/phrase/models/comment.rb +15 -4
  80. data/lib/phrase/models/current_user.rb +257 -0
  81. data/lib/phrase/models/job_locale.rb +22 -4
  82. data/lib/phrase/models/job_template.rb +248 -0
  83. data/lib/phrase/models/job_template_create_parameters.rb +220 -0
  84. data/lib/phrase/models/job_template_locale.rb +223 -0
  85. data/lib/phrase/models/job_template_locale_update_parameters.rb +234 -0
  86. data/lib/phrase/models/job_template_locales_create_parameters.rb +234 -0
  87. data/lib/phrase/models/job_template_preview.rb +203 -0
  88. data/lib/phrase/models/job_template_update_parameters.rb +220 -0
  89. data/lib/phrase/models/job_template_user_preview.rb +221 -0
  90. data/lib/phrase/models/keys_exclude_parameters.rb +225 -0
  91. data/lib/phrase/models/keys_include_parameters.rb +225 -0
  92. data/lib/phrase/models/keys_search_parameters.rb +1 -1
  93. data/lib/phrase/models/keys_tag_parameters.rb +1 -1
  94. data/lib/phrase/models/keys_untag_parameters.rb +1 -1
  95. data/lib/phrase/models/locale_preview1.rb +221 -0
  96. data/lib/phrase/models/member_spaces.rb +2 -2
  97. data/lib/phrase/models/member_update_parameters.rb +12 -2
  98. data/lib/phrase/models/notification.rb +302 -0
  99. data/lib/phrase/models/notification_group.rb +221 -0
  100. data/lib/phrase/models/notification_group_detail.rb +239 -0
  101. data/lib/phrase/models/order_create_parameters.rb +11 -1
  102. data/lib/phrase/models/project.rb +10 -1
  103. data/lib/phrase/models/project_create_parameters.rb +174 -4
  104. data/lib/phrase/models/project_details.rb +10 -1
  105. data/lib/phrase/models/project_update_parameters.rb +183 -13
  106. data/lib/phrase/models/screenshot_create_parameters.rb +11 -1
  107. data/lib/phrase/models/screenshot_marker_create_parameters.rb +11 -1
  108. data/lib/phrase/models/screenshot_marker_update_parameters.rb +11 -1
  109. data/lib/phrase/models/screenshot_update_parameters.rb +11 -1
  110. data/lib/phrase/models/search_in_account_parameters.rb +225 -0
  111. data/lib/phrase/models/space1.rb +230 -0
  112. data/lib/phrase/models/subscription.rb +203 -0
  113. data/lib/phrase/models/translation_order.rb +10 -1
  114. data/lib/phrase/models/user.rb +1 -10
  115. data/lib/phrase/models/variable.rb +221 -0
  116. data/lib/phrase/models/variable_create_parameters.rb +205 -0
  117. data/lib/phrase/models/variable_update_parameters.rb +205 -0
  118. data/lib/phrase/version.rb +1 -1
  119. data/spec/api/job_template_locales_api_spec.rb +103 -0
  120. data/spec/api/job_templates_api_spec.rb +98 -0
  121. data/spec/api/keys_api_spec.rb +32 -4
  122. data/spec/api/locales_api_spec.rb +17 -2
  123. data/spec/api/notification_groups_api_spec.rb +62 -0
  124. data/spec/api/notifications_api_spec.rb +62 -0
  125. data/spec/api/projects_api_spec.rb +3 -0
  126. data/spec/api/screenshot_markers_api_spec.rb +3 -0
  127. data/spec/api/screenshots_api_spec.rb +3 -0
  128. data/spec/api/search_api_spec.rb +37 -0
  129. data/spec/api/translations_api_spec.rb +10 -10
  130. data/spec/api/users_api_spec.rb +1 -1
  131. data/spec/api/variables_api_spec.rb +95 -0
  132. data/spec/models/account_details1_spec.rb +6 -0
  133. data/spec/models/account_details_spec.rb +12 -0
  134. data/spec/models/account_search_result_spec.rb +65 -0
  135. data/spec/models/account_spec.rb +6 -0
  136. data/spec/models/branch_spec.rb +12 -0
  137. data/spec/models/comment_spec.rb +6 -0
  138. data/spec/models/current_user_spec.rb +71 -0
  139. data/spec/models/job_locale_spec.rb +12 -0
  140. data/spec/models/job_template_create_parameters_spec.rb +41 -0
  141. data/spec/models/job_template_locale_spec.rb +47 -0
  142. data/spec/models/job_template_locale_update_parameters_spec.rb +47 -0
  143. data/spec/models/job_template_locales_create_parameters_spec.rb +47 -0
  144. data/spec/models/job_template_preview_spec.rb +35 -0
  145. data/spec/models/job_template_spec.rb +65 -0
  146. data/spec/models/job_template_update_parameters_spec.rb +41 -0
  147. data/spec/models/job_template_user_preview_spec.rb +47 -0
  148. data/spec/models/keys_exclude_parameters_spec.rb +47 -0
  149. data/spec/models/keys_include_parameters_spec.rb +47 -0
  150. data/spec/models/locale_preview1_spec.rb +47 -0
  151. data/spec/models/member_update_parameters_spec.rb +6 -0
  152. data/spec/models/notification_group_detail_spec.rb +59 -0
  153. data/spec/models/notification_group_spec.rb +47 -0
  154. data/spec/models/notification_spec.rb +101 -0
  155. data/spec/models/order_create_parameters_spec.rb +6 -0
  156. data/spec/models/project_create_parameters_spec.rb +102 -0
  157. data/spec/models/project_details_spec.rb +6 -0
  158. data/spec/models/project_spec.rb +6 -0
  159. data/spec/models/project_update_parameters_spec.rb +103 -1
  160. data/spec/models/screenshot_create_parameters_spec.rb +6 -0
  161. data/spec/models/screenshot_marker_create_parameters_spec.rb +6 -0
  162. data/spec/models/screenshot_marker_update_parameters_spec.rb +6 -0
  163. data/spec/models/screenshot_update_parameters_spec.rb +6 -0
  164. data/spec/models/search_in_account_parameters_spec.rb +47 -0
  165. data/spec/models/space1_spec.rb +53 -0
  166. data/spec/models/subscription_spec.rb +35 -0
  167. data/spec/models/translation_order_spec.rb +6 -0
  168. data/spec/models/user_spec.rb +0 -6
  169. data/spec/models/variable_create_parameters_spec.rb +35 -0
  170. data/spec/models/variable_spec.rb +47 -0
  171. data/spec/models/variable_update_parameters_spec.rb +35 -0
  172. metadata +281 -169
@@ -0,0 +1,205 @@
1
+ require 'date'
2
+
3
+ module Phrase
4
+ class VariableCreateParameters
5
+ # Name of the variable
6
+ attr_accessor :name
7
+
8
+ # Value of the variable
9
+ attr_accessor :value
10
+
11
+ # Attribute mapping from ruby-style variable name to JSON key.
12
+ def self.attribute_map
13
+ {
14
+ :'name' => :'name',
15
+ :'value' => :'value'
16
+ }
17
+ end
18
+
19
+ # Attribute type mapping.
20
+ def self.openapi_types
21
+ {
22
+ :'name' => :'String',
23
+ :'value' => :'String'
24
+ }
25
+ end
26
+
27
+ # List of attributes with nullable: true
28
+ def self.openapi_nullable
29
+ Set.new([
30
+ ])
31
+ end
32
+
33
+ # Initializes the object
34
+ # @param [Hash] attributes Model attributes in the form of hash
35
+ def initialize(attributes = {})
36
+ if (!attributes.is_a?(Hash))
37
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Phrase::VariableCreateParameters` initialize method"
38
+ end
39
+
40
+ # check to see if the attribute exists and convert string to symbol for hash key
41
+ attributes = attributes.each_with_object({}) { |(k, v), h|
42
+ if (!self.class.attribute_map.key?(k.to_sym))
43
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Phrase::VariableCreateParameters`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
44
+ end
45
+ h[k.to_sym] = v
46
+ }
47
+
48
+ if attributes.key?(:'name')
49
+ self.name = attributes[:'name']
50
+ end
51
+
52
+ if attributes.key?(:'value')
53
+ self.value = attributes[:'value']
54
+ end
55
+ end
56
+
57
+ # Show invalid properties with the reasons. Usually used together with valid?
58
+ # @return Array for valid properties with the reasons
59
+ def list_invalid_properties
60
+ invalid_properties = Array.new
61
+ invalid_properties
62
+ end
63
+
64
+ # Check to see if the all the properties in the model are valid
65
+ # @return true if the model is valid
66
+ def valid?
67
+ true
68
+ end
69
+
70
+ # Checks equality by comparing each attribute.
71
+ # @param [Object] Object to be compared
72
+ def ==(o)
73
+ return true if self.equal?(o)
74
+ self.class == o.class &&
75
+ name == o.name &&
76
+ value == o.value
77
+ end
78
+
79
+ # @see the `==` method
80
+ # @param [Object] Object to be compared
81
+ def eql?(o)
82
+ self == o
83
+ end
84
+
85
+ # Calculates hash code according to all attributes.
86
+ # @return [Integer] Hash code
87
+ def hash
88
+ [name, value].hash
89
+ end
90
+
91
+ # Builds the object from hash
92
+ # @param [Hash] attributes Model attributes in the form of hash
93
+ # @return [Object] Returns the model itself
94
+ def self.build_from_hash(attributes)
95
+ new.build_from_hash(attributes)
96
+ end
97
+
98
+ # Builds the object from hash
99
+ # @param [Hash] attributes Model attributes in the form of hash
100
+ # @return [Object] Returns the model itself
101
+ def build_from_hash(attributes)
102
+ return nil unless attributes.is_a?(Hash)
103
+ self.class.openapi_types.each_pair do |key, type|
104
+ if type =~ /\AArray<(.*)>/i
105
+ # check to ensure the input is an array given that the attribute
106
+ # is documented as an array but the input is not
107
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
108
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
109
+ end
110
+ elsif !attributes[self.class.attribute_map[key]].nil?
111
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
112
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
113
+ end
114
+
115
+ self
116
+ end
117
+
118
+ # Deserializes the data based on type
119
+ # @param string type Data type
120
+ # @param string value Value to be deserialized
121
+ # @return [Object] Deserialized data
122
+ def _deserialize(type, value)
123
+ case type.to_sym
124
+ when :DateTime
125
+ DateTime.parse(value)
126
+ when :Date
127
+ Date.parse(value)
128
+ when :String
129
+ value.to_s
130
+ when :Integer
131
+ value.to_i
132
+ when :Float
133
+ value.to_f
134
+ when :Boolean
135
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
136
+ true
137
+ else
138
+ false
139
+ end
140
+ when :Object
141
+ # generic object (usually a Hash), return directly
142
+ value
143
+ when /\AArray<(?<inner_type>.+)>\z/
144
+ inner_type = Regexp.last_match[:inner_type]
145
+ value.map { |v| _deserialize(inner_type, v) }
146
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
147
+ k_type = Regexp.last_match[:k_type]
148
+ v_type = Regexp.last_match[:v_type]
149
+ {}.tap do |hash|
150
+ value.each do |k, v|
151
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
152
+ end
153
+ end
154
+ else # model
155
+ Phrase.const_get(type).build_from_hash(value)
156
+ end
157
+ end
158
+
159
+ # Returns the string representation of the object
160
+ # @return [String] String presentation of the object
161
+ def to_s
162
+ to_hash.to_s
163
+ end
164
+
165
+ # to_body is an alias to to_hash (backward compatibility)
166
+ # @return [Hash] Returns the object in the form of hash
167
+ def to_body
168
+ to_hash
169
+ end
170
+
171
+ # Returns the object in the form of hash
172
+ # @return [Hash] Returns the object in the form of hash
173
+ def to_hash
174
+ hash = {}
175
+ self.class.attribute_map.each_pair do |attr, param|
176
+ value = self.send(attr)
177
+ if value.nil?
178
+ is_nullable = self.class.openapi_nullable.include?(attr)
179
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
180
+ end
181
+
182
+ hash[param] = _to_hash(value)
183
+ end
184
+ hash
185
+ end
186
+
187
+ # Outputs non-array value in the form of hash
188
+ # For object, use to_hash. Otherwise, just return the value
189
+ # @param [Object] value Any valid value
190
+ # @return [Hash] Returns the value in the form of hash
191
+ def _to_hash(value)
192
+ if value.is_a?(Array)
193
+ value.compact.map { |v| _to_hash(v) }
194
+ elsif value.is_a?(Hash)
195
+ {}.tap do |hash|
196
+ value.each { |k, v| hash[k] = _to_hash(v) }
197
+ end
198
+ elsif value.respond_to? :to_hash
199
+ value.to_hash
200
+ else
201
+ value
202
+ end
203
+ end
204
+ end
205
+ end
@@ -0,0 +1,205 @@
1
+ require 'date'
2
+
3
+ module Phrase
4
+ class VariableUpdateParameters
5
+ # Name of the variable
6
+ attr_accessor :name
7
+
8
+ # Value of the variable
9
+ attr_accessor :value
10
+
11
+ # Attribute mapping from ruby-style variable name to JSON key.
12
+ def self.attribute_map
13
+ {
14
+ :'name' => :'name',
15
+ :'value' => :'value'
16
+ }
17
+ end
18
+
19
+ # Attribute type mapping.
20
+ def self.openapi_types
21
+ {
22
+ :'name' => :'String',
23
+ :'value' => :'String'
24
+ }
25
+ end
26
+
27
+ # List of attributes with nullable: true
28
+ def self.openapi_nullable
29
+ Set.new([
30
+ ])
31
+ end
32
+
33
+ # Initializes the object
34
+ # @param [Hash] attributes Model attributes in the form of hash
35
+ def initialize(attributes = {})
36
+ if (!attributes.is_a?(Hash))
37
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Phrase::VariableUpdateParameters` initialize method"
38
+ end
39
+
40
+ # check to see if the attribute exists and convert string to symbol for hash key
41
+ attributes = attributes.each_with_object({}) { |(k, v), h|
42
+ if (!self.class.attribute_map.key?(k.to_sym))
43
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Phrase::VariableUpdateParameters`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
44
+ end
45
+ h[k.to_sym] = v
46
+ }
47
+
48
+ if attributes.key?(:'name')
49
+ self.name = attributes[:'name']
50
+ end
51
+
52
+ if attributes.key?(:'value')
53
+ self.value = attributes[:'value']
54
+ end
55
+ end
56
+
57
+ # Show invalid properties with the reasons. Usually used together with valid?
58
+ # @return Array for valid properties with the reasons
59
+ def list_invalid_properties
60
+ invalid_properties = Array.new
61
+ invalid_properties
62
+ end
63
+
64
+ # Check to see if the all the properties in the model are valid
65
+ # @return true if the model is valid
66
+ def valid?
67
+ true
68
+ end
69
+
70
+ # Checks equality by comparing each attribute.
71
+ # @param [Object] Object to be compared
72
+ def ==(o)
73
+ return true if self.equal?(o)
74
+ self.class == o.class &&
75
+ name == o.name &&
76
+ value == o.value
77
+ end
78
+
79
+ # @see the `==` method
80
+ # @param [Object] Object to be compared
81
+ def eql?(o)
82
+ self == o
83
+ end
84
+
85
+ # Calculates hash code according to all attributes.
86
+ # @return [Integer] Hash code
87
+ def hash
88
+ [name, value].hash
89
+ end
90
+
91
+ # Builds the object from hash
92
+ # @param [Hash] attributes Model attributes in the form of hash
93
+ # @return [Object] Returns the model itself
94
+ def self.build_from_hash(attributes)
95
+ new.build_from_hash(attributes)
96
+ end
97
+
98
+ # Builds the object from hash
99
+ # @param [Hash] attributes Model attributes in the form of hash
100
+ # @return [Object] Returns the model itself
101
+ def build_from_hash(attributes)
102
+ return nil unless attributes.is_a?(Hash)
103
+ self.class.openapi_types.each_pair do |key, type|
104
+ if type =~ /\AArray<(.*)>/i
105
+ # check to ensure the input is an array given that the attribute
106
+ # is documented as an array but the input is not
107
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
108
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
109
+ end
110
+ elsif !attributes[self.class.attribute_map[key]].nil?
111
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
112
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
113
+ end
114
+
115
+ self
116
+ end
117
+
118
+ # Deserializes the data based on type
119
+ # @param string type Data type
120
+ # @param string value Value to be deserialized
121
+ # @return [Object] Deserialized data
122
+ def _deserialize(type, value)
123
+ case type.to_sym
124
+ when :DateTime
125
+ DateTime.parse(value)
126
+ when :Date
127
+ Date.parse(value)
128
+ when :String
129
+ value.to_s
130
+ when :Integer
131
+ value.to_i
132
+ when :Float
133
+ value.to_f
134
+ when :Boolean
135
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
136
+ true
137
+ else
138
+ false
139
+ end
140
+ when :Object
141
+ # generic object (usually a Hash), return directly
142
+ value
143
+ when /\AArray<(?<inner_type>.+)>\z/
144
+ inner_type = Regexp.last_match[:inner_type]
145
+ value.map { |v| _deserialize(inner_type, v) }
146
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
147
+ k_type = Regexp.last_match[:k_type]
148
+ v_type = Regexp.last_match[:v_type]
149
+ {}.tap do |hash|
150
+ value.each do |k, v|
151
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
152
+ end
153
+ end
154
+ else # model
155
+ Phrase.const_get(type).build_from_hash(value)
156
+ end
157
+ end
158
+
159
+ # Returns the string representation of the object
160
+ # @return [String] String presentation of the object
161
+ def to_s
162
+ to_hash.to_s
163
+ end
164
+
165
+ # to_body is an alias to to_hash (backward compatibility)
166
+ # @return [Hash] Returns the object in the form of hash
167
+ def to_body
168
+ to_hash
169
+ end
170
+
171
+ # Returns the object in the form of hash
172
+ # @return [Hash] Returns the object in the form of hash
173
+ def to_hash
174
+ hash = {}
175
+ self.class.attribute_map.each_pair do |attr, param|
176
+ value = self.send(attr)
177
+ if value.nil?
178
+ is_nullable = self.class.openapi_nullable.include?(attr)
179
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
180
+ end
181
+
182
+ hash[param] = _to_hash(value)
183
+ end
184
+ hash
185
+ end
186
+
187
+ # Outputs non-array value in the form of hash
188
+ # For object, use to_hash. Otherwise, just return the value
189
+ # @param [Object] value Any valid value
190
+ # @return [Hash] Returns the value in the form of hash
191
+ def _to_hash(value)
192
+ if value.is_a?(Array)
193
+ value.compact.map { |v| _to_hash(v) }
194
+ elsif value.is_a?(Hash)
195
+ {}.tap do |hash|
196
+ value.each { |k, v| hash[k] = _to_hash(v) }
197
+ end
198
+ elsif value.respond_to? :to_hash
199
+ value.to_hash
200
+ else
201
+ value
202
+ end
203
+ end
204
+ end
205
+ end
@@ -1,3 +1,3 @@
1
1
  module Phrase
2
- VERSION = '1.0.12'
2
+ VERSION = '2.1.0'
3
3
  end
@@ -0,0 +1,103 @@
1
+ require 'spec_helper'
2
+ require 'json'
3
+
4
+ # Unit tests for Phrase::JobTemplateLocalesApi
5
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
6
+ # Please update as you see appropriate
7
+ describe 'JobTemplateLocalesApi' do
8
+ before do
9
+ # run before each test
10
+ @api_instance = Phrase::JobTemplateLocalesApi.new
11
+ end
12
+
13
+ after do
14
+ # run after each test
15
+ end
16
+
17
+ describe 'test an instance of JobTemplateLocalesApi' do
18
+ it 'should create an instance of JobTemplateLocalesApi' do
19
+ expect(@api_instance).to be_instance_of(Phrase::JobTemplateLocalesApi)
20
+ end
21
+ end
22
+
23
+ # unit tests for job_template_locale_delete
24
+ # Delete a job template locale
25
+ # Delete an existing job template locale.
26
+ # @param project_id Project ID
27
+ # @param job_template_id Job Template ID
28
+ # @param job_template_locale_id Job Template Locale ID
29
+ # @param [Hash] opts the optional parameters
30
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
31
+ # @option opts [String] :branch specify the branch to use
32
+ # @return [nil]
33
+ describe 'job_template_locale_delete test' do
34
+ it 'should work' do
35
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
36
+ end
37
+ end
38
+
39
+ # unit tests for job_template_locale_show
40
+ # Get a single job template locale
41
+ # Get a single job template locale for a given job template.
42
+ # @param project_id Project ID
43
+ # @param job_template_id Job Template ID
44
+ # @param job_template_locale_id Job Template Locale ID
45
+ # @param [Hash] opts the optional parameters
46
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
47
+ # @option opts [String] :branch specify the branch to use
48
+ # @return [Object]
49
+ describe 'job_template_locale_show test' do
50
+ it 'should work' do
51
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
52
+ end
53
+ end
54
+
55
+ # unit tests for job_template_locale_update
56
+ # Update a job template locale
57
+ # Update an existing job template locale.
58
+ # @param project_id Project ID
59
+ # @param job_template_id Job Template ID
60
+ # @param job_template_locale_id Job Template Locale ID
61
+ # @param job_template_locale_update_parameters
62
+ # @param [Hash] opts the optional parameters
63
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
64
+ # @return [Object]
65
+ describe 'job_template_locale_update test' do
66
+ it 'should work' do
67
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
68
+ end
69
+ end
70
+
71
+ # unit tests for job_template_locales_create
72
+ # Create a job template locale
73
+ # Create a new job template locale.
74
+ # @param project_id Project ID
75
+ # @param job_template_id Job Template ID
76
+ # @param job_template_locales_create_parameters
77
+ # @param [Hash] opts the optional parameters
78
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
79
+ # @return [JobTemplateLocale]
80
+ describe 'job_template_locales_create test' do
81
+ it 'should work' do
82
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
83
+ end
84
+ end
85
+
86
+ # unit tests for job_template_locales_list
87
+ # List job template locales
88
+ # List all job template locales for a given job template.
89
+ # @param project_id Project ID
90
+ # @param job_template_id Job Template ID
91
+ # @param [Hash] opts the optional parameters
92
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
93
+ # @option opts [Integer] :page Page number
94
+ # @option opts [Integer] :per_page allows you to specify a page size up to 100 items, 25 by default
95
+ # @option opts [String] :branch specify the branch to use
96
+ # @return [Array<Object>]
97
+ describe 'job_template_locales_list test' do
98
+ it 'should work' do
99
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
100
+ end
101
+ end
102
+
103
+ end