phraseapp-ruby 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/phraseapp-ruby.rb +739 -334
  3. data/lib/version.rb +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4caf83d60f3e12126d0acf8a77e8508f5e24502b
4
- data.tar.gz: 2ba69581362cf717a18bc1c61557908ae0d2f4f9
3
+ metadata.gz: 647b18886bababdd8c53f3a09605aa9cda0652ac
4
+ data.tar.gz: e0bd2765da55f24ac7a497c989a9e64f507323d3
5
5
  SHA512:
6
- metadata.gz: eac4418e5f119507759584ed277c71f7b25e5bd566769c956517600e09a93e635c60fa9ef211d9f9f10c45243437e8ba9fe387ad9e86100ed00a8b97a9816468
7
- data.tar.gz: 46efb8abe5808275d83887b72b3642a696ab594a7c65eaa29a91da706c4dd4dc4a29a57b733dbc1f2d689467242b48fc417a27776db2d202a1d3445d2d825cad
6
+ metadata.gz: ee9987194795e7e5d6a9fc4ec11522472088f812b2c7184f3e26a2a1eb782ec668b8360c2b895ea4c7150428c003091f092ccbb0f41ceb22ef97f99405f721e9
7
+ data.tar.gz: 823167866acd7661fe5df913b4aa896273951b43193fa97656832494daa301970ffd7b99f146d842c5ba0cb85d0a572e8c7b51f08e4fe4ac7efbef90677a7813
@@ -23,8 +23,16 @@ module PhraseApp
23
23
  end
24
24
  end
25
25
 
26
+ class AffectedCount < ::OpenStruct
27
+ #records_affected,
28
+ def initialize(hash)
29
+ super(hash)
30
+ PhraseApp.handle_times(self)
31
+ end
32
+ end
33
+
26
34
  class Authorization < ::OpenStruct
27
- #created_at, hashed_token, id, note, scopes, token_last_eight, updated_at,
35
+ #created_at, expires_at, hashed_token, id, note, scopes, token_last_eight, updated_at,
28
36
  def initialize(hash)
29
37
  super(hash)
30
38
  PhraseApp.handle_times(self)
@@ -55,6 +63,14 @@ module PhraseApp
55
63
  end
56
64
  end
57
65
 
66
+ class ExcludeRule < ::OpenStruct
67
+ #created_at, id, name, updated_at,
68
+ def initialize(hash)
69
+ super(hash)
70
+ PhraseApp.handle_times(self)
71
+ end
72
+ end
73
+
58
74
  class Format < ::OpenStruct
59
75
  #api_name, default_encoding, description, exportable, extension, importable, name,
60
76
  def initialize(hash)
@@ -72,7 +88,7 @@ module PhraseApp
72
88
  end
73
89
 
74
90
  class Locale < ::OpenStruct
75
- #code, created_at, default, id, main, name, rtl, source_locale, updated_at,
91
+ #code, created_at, default, id, main, name, plural_forms, rtl, source_locale, updated_at,
76
92
  def initialize(hash)
77
93
  super(hash)
78
94
  PhraseApp.handle_times(self)
@@ -88,7 +104,7 @@ module PhraseApp
88
104
  end
89
105
 
90
106
  class LocaleFileImport < ::OpenStruct
91
- #created_at, format, id, state, updated_at,
107
+ #created_at, file_format, id, state, updated_at,
92
108
  def initialize(hash)
93
109
  super(hash)
94
110
  PhraseApp.handle_times(self)
@@ -200,7 +216,7 @@ module PhraseApp
200
216
  end
201
217
 
202
218
  class Translation < ::OpenStruct
203
- #content, created_at, excluded, id, key, locale, plural_suffix, unverified, updated_at,
219
+ #content, created_at, excluded, id, key, locale, placeholders, plural_suffix, unverified, updated_at,
204
220
  def initialize(hash)
205
221
  super(hash)
206
222
  PhraseApp.handle_times(self)
@@ -216,7 +232,7 @@ module PhraseApp
216
232
  end
217
233
 
218
234
  class TranslationKey < ::OpenStruct
219
- #created_at, description, id, name, name_hash, plural, tags, updated_at,
235
+ #created_at, data_type, description, id, name, name_hash, plural, tags, updated_at,
220
236
  def initialize(hash)
221
237
  super(hash)
222
238
  PhraseApp.handle_times(self)
@@ -224,7 +240,7 @@ module PhraseApp
224
240
  end
225
241
 
226
242
  class TranslationKeyDetails < TranslationKey
227
- #comments_count, data_type, format_value_type, max_characters_allowed, name_plural, original_file, screenshot_url, unformatted, xml_space_preserve,
243
+ #comments_count, format_value_type, max_characters_allowed, name_plural, original_file, screenshot_url, unformatted, xml_space_preserve,
228
244
  def initialize(hash)
229
245
  super(hash)
230
246
  PhraseApp.handle_times(self)
@@ -274,7 +290,11 @@ module PhraseApp
274
290
  end
275
291
 
276
292
  class PhraseApp::AuthorizationParams < ::OpenStruct
277
- # :note, :scopes,
293
+ # :expires_at, :note, :scopes,
294
+ def expires_at=(val)
295
+ self.expires_at = Time.parse(val)
296
+ end
297
+
278
298
  def note=(val)
279
299
  self.note = val
280
300
  end
@@ -290,34 +310,34 @@ class PhraseApp::AuthorizationParams < ::OpenStruct
290
310
  end
291
311
  end
292
312
 
293
- class PhraseApp::BlacklistedKeyParams < ::OpenStruct
294
- # :name,
295
- def name=(val)
296
- self.name = val
313
+ class PhraseApp::CommentParams < ::OpenStruct
314
+ # :message,
315
+ def message=(val)
316
+ self.message = val
297
317
  end
298
318
 
299
319
  def validate
300
- if self.name == nil || self.name == ""
301
- raise PhraseApp::ParamsValidationError.new("Required parameter \"name\" of \"BlacklistedKeyParams\" not set")
320
+ if self.message == nil || self.message == ""
321
+ raise PhraseApp::ParamsValidationError.new("Required parameter \"message\" of \"CommentParams\" not set")
302
322
  end
303
323
  end
304
324
  end
305
325
 
306
- class PhraseApp::CommentParams < ::OpenStruct
307
- # :message,
308
- def message=(val)
309
- self.message = val
326
+ class PhraseApp::ExcludeRuleParams < ::OpenStruct
327
+ # :name,
328
+ def name=(val)
329
+ self.name = val
310
330
  end
311
331
 
312
332
  def validate
313
- if self.message == nil || self.message == ""
314
- raise PhraseApp::ParamsValidationError.new("Required parameter \"message\" of \"CommentParams\" not set")
333
+ if self.name == nil || self.name == ""
334
+ raise PhraseApp::ParamsValidationError.new("Required parameter \"name\" of \"ExcludeRuleParams\" not set")
315
335
  end
316
336
  end
317
337
  end
318
338
 
319
339
  class PhraseApp::TranslationKeyParams < ::OpenStruct
320
- # :data_type, :description, :format_value_type, :max_characters_allowed, :name, :name_plural, :original_file, :plural, :remove_screenshot, :screenshot, :tags, :unformatted, :xml_space_preserve,
340
+ # :data_type, :description, :localized_format_key, :localized_format_string, :max_characters_allowed, :name, :name_plural, :original_file, :plural, :remove_screenshot, :screenshot, :tags, :unformatted, :xml_space_preserve,
321
341
  def data_type=(val)
322
342
  self.data_type = val
323
343
  end
@@ -326,8 +346,12 @@ class PhraseApp::TranslationKeyParams < ::OpenStruct
326
346
  self.description = val
327
347
  end
328
348
 
329
- def format_value_type=(val)
330
- self.format_value_type = val
349
+ def localized_format_key=(val)
350
+ self.localized_format_key = val
351
+ end
352
+
353
+ def localized_format_string=(val)
354
+ self.localized_format_string = val
331
355
  end
332
356
 
333
357
  def max_characters_allowed=(val)
@@ -700,7 +724,7 @@ class PhraseApp::TranslationParams < ::OpenStruct
700
724
  end
701
725
 
702
726
  class PhraseApp::LocaleFileImportParams < ::OpenStruct
703
- # :convert_emoji, :file, :format, :format_options, :locale_id, :skip_unverification, :skip_upload_tags, :tags, :update_translations,
727
+ # :convert_emoji, :file, :file_format, :format_options, :locale_id, :skip_unverification, :skip_upload_tags, :tags, :update_translations,
704
728
  def convert_emoji=(val)
705
729
  if val == "true"
706
730
  self.convert_emoji = true
@@ -715,8 +739,8 @@ class PhraseApp::LocaleFileImportParams < ::OpenStruct
715
739
  self.file = val
716
740
  end
717
741
 
718
- def format=(val)
719
- self.format = val
742
+ def file_format=(val)
743
+ self.file_format = val
720
744
  end
721
745
 
722
746
  def format_options=(val)
@@ -807,8 +831,23 @@ end
807
831
  class PhraseApp::ParamsError < StandardError; end
808
832
 
809
833
 
810
- class PhraseApp::KeyListParams < ::OpenStruct
811
- # :locale_id, :order, :sort, :translated,
834
+ class PhraseApp::KeysDeleteParams < ::OpenStruct
835
+ # :locale_id, :q,
836
+ def locale_id=(val)
837
+ self.locale_id = val
838
+ end
839
+
840
+ def q=(val)
841
+ self.q = val
842
+ end
843
+
844
+ def validate
845
+
846
+ end
847
+ end
848
+
849
+ class PhraseApp::KeysListParams < ::OpenStruct
850
+ # :locale_id, :order, :q, :sort,
812
851
  def locale_id=(val)
813
852
  self.locale_id = val
814
853
  end
@@ -817,18 +856,35 @@ class PhraseApp::KeyListParams < ::OpenStruct
817
856
  self.order = val
818
857
  end
819
858
 
859
+ def q=(val)
860
+ self.q = val
861
+ end
862
+
820
863
  def sort=(val)
821
864
  self.sort = val
822
865
  end
823
866
 
824
- def translated=(val)
825
- if val == "true"
826
- self.translated = true
827
- elsif val == "false" #ignore
828
- self.translated = b
829
- else
830
- PhraseApp::ParamsValidationError.new("invalid value #{val}")
831
- end
867
+ def validate
868
+
869
+ end
870
+ end
871
+
872
+ class PhraseApp::KeysSearchParams < ::OpenStruct
873
+ # :locale_id, :order, :q, :sort,
874
+ def locale_id=(val)
875
+ self.locale_id = val
876
+ end
877
+
878
+ def order=(val)
879
+ self.order = val
880
+ end
881
+
882
+ def q=(val)
883
+ self.q = val
884
+ end
885
+
886
+ def sort=(val)
887
+ self.sort = val
832
888
  end
833
889
 
834
890
  def validate
@@ -836,8 +892,50 @@ class PhraseApp::KeyListParams < ::OpenStruct
836
892
  end
837
893
  end
838
894
 
895
+ class PhraseApp::KeysTagParams < ::OpenStruct
896
+ # :locale_id, :q, :tags,
897
+ def locale_id=(val)
898
+ self.locale_id = val
899
+ end
900
+
901
+ def q=(val)
902
+ self.q = val
903
+ end
904
+
905
+ def tags=(val)
906
+ self.tags = val.split(',')
907
+ end
908
+
909
+ def validate
910
+ if self.tags == nil
911
+ raise PhraseApp::ParamsValidationError.new("Required parameter \"tags\" of \"keys_tagParams\" not set")
912
+ end
913
+ end
914
+ end
915
+
916
+ class PhraseApp::KeysUntagParams < ::OpenStruct
917
+ # :locale_id, :q, :tags,
918
+ def locale_id=(val)
919
+ self.locale_id = val
920
+ end
921
+
922
+ def q=(val)
923
+ self.q = val
924
+ end
925
+
926
+ def tags=(val)
927
+ self.tags = val.split(',')
928
+ end
929
+
930
+ def validate
931
+ if self.tags == nil
932
+ raise PhraseApp::ParamsValidationError.new("Required parameter \"tags\" of \"keys_untagParams\" not set")
933
+ end
934
+ end
935
+ end
936
+
839
937
  class PhraseApp::LocaleDownloadParams < ::OpenStruct
840
- # :convert_emoji, :format, :format_options, :include_empty_translations, :keep_notranslate_tags, :tag_id,
938
+ # :convert_emoji, :file_format, :format_options, :include_empty_translations, :keep_notranslate_tags, :tag_id,
841
939
  def convert_emoji=(val)
842
940
  if val == "true"
843
941
  self.convert_emoji = true
@@ -848,8 +946,8 @@ class PhraseApp::LocaleDownloadParams < ::OpenStruct
848
946
  end
849
947
  end
850
948
 
851
- def format=(val)
852
- self.format = val
949
+ def file_format=(val)
950
+ self.file_format = val
853
951
  end
854
952
 
855
953
  def format_options=(val)
@@ -881,24 +979,30 @@ class PhraseApp::LocaleDownloadParams < ::OpenStruct
881
979
  end
882
980
 
883
981
  def validate
884
- if self.format == nil || self.format == ""
885
- raise PhraseApp::ParamsValidationError.new("Required parameter \"format\" of \"locale_downloadParams\" not set")
982
+ if self.file_format == nil || self.file_format == ""
983
+ raise PhraseApp::ParamsValidationError.new("Required parameter \"file_format\" of \"locale_downloadParams\" not set")
886
984
  end
887
985
  end
888
986
  end
889
987
 
890
- class PhraseApp::TranslationListAllParams < ::OpenStruct
891
- # :order, :since, :sort, :unverified,
892
- def order=(val)
893
- self.order = val
988
+ class PhraseApp::TranslationUpdateParams < ::OpenStruct
989
+ # :content, :excluded, :plural_suffix, :unverified,
990
+ def content=(val)
991
+ self.content = val
894
992
  end
895
993
 
896
- def since=(val)
897
- self.since = Time.parse(val)
994
+ def excluded=(val)
995
+ if val == "true"
996
+ self.excluded = true
997
+ elsif val == "false" #ignore
998
+ self.excluded = b
999
+ else
1000
+ PhraseApp::ParamsValidationError.new("invalid value #{val}")
1001
+ end
898
1002
  end
899
1003
 
900
- def sort=(val)
901
- self.sort = val
1004
+ def plural_suffix=(val)
1005
+ self.plural_suffix = val
902
1006
  end
903
1007
 
904
1008
  def unverified=(val)
@@ -911,33 +1015,63 @@ class PhraseApp::TranslationListAllParams < ::OpenStruct
911
1015
  end
912
1016
  end
913
1017
 
1018
+ def validate
1019
+ if self.content == nil || self.content == ""
1020
+ raise PhraseApp::ParamsValidationError.new("Required parameter \"content\" of \"translation_updateParams\" not set")
1021
+ end
1022
+ end
1023
+ end
1024
+
1025
+ class PhraseApp::TranslationsByKeyParams < ::OpenStruct
1026
+ # :order, :q, :sort,
1027
+ def order=(val)
1028
+ self.order = val
1029
+ end
1030
+
1031
+ def q=(val)
1032
+ self.q = val
1033
+ end
1034
+
1035
+ def sort=(val)
1036
+ self.sort = val
1037
+ end
1038
+
914
1039
  def validate
915
1040
 
916
1041
  end
917
1042
  end
918
1043
 
919
- class PhraseApp::TranslationListKeyParams < ::OpenStruct
920
- # :order, :since, :sort, :unverified,
1044
+ class PhraseApp::TranslationsByLocaleParams < ::OpenStruct
1045
+ # :order, :q, :sort,
921
1046
  def order=(val)
922
1047
  self.order = val
923
1048
  end
924
1049
 
925
- def since=(val)
926
- self.since = Time.parse(val)
1050
+ def q=(val)
1051
+ self.q = val
927
1052
  end
928
1053
 
929
1054
  def sort=(val)
930
1055
  self.sort = val
931
1056
  end
932
1057
 
933
- def unverified=(val)
934
- if val == "true"
935
- self.unverified = true
936
- elsif val == "false" #ignore
937
- self.unverified = b
938
- else
939
- PhraseApp::ParamsValidationError.new("invalid value #{val}")
940
- end
1058
+ def validate
1059
+
1060
+ end
1061
+ end
1062
+
1063
+ class PhraseApp::TranslationsExcludeParams < ::OpenStruct
1064
+ # :order, :q, :sort,
1065
+ def order=(val)
1066
+ self.order = val
1067
+ end
1068
+
1069
+ def q=(val)
1070
+ self.q = val
1071
+ end
1072
+
1073
+ def sort=(val)
1074
+ self.sort = val
941
1075
  end
942
1076
 
943
1077
  def validate
@@ -945,28 +1079,37 @@ class PhraseApp::TranslationListKeyParams < ::OpenStruct
945
1079
  end
946
1080
  end
947
1081
 
948
- class PhraseApp::TranslationListLocaleParams < ::OpenStruct
949
- # :order, :since, :sort, :unverified,
1082
+ class PhraseApp::TranslationsIncludeParams < ::OpenStruct
1083
+ # :order, :q, :sort,
950
1084
  def order=(val)
951
1085
  self.order = val
952
1086
  end
953
1087
 
954
- def since=(val)
955
- self.since = Time.parse(val)
1088
+ def q=(val)
1089
+ self.q = val
956
1090
  end
957
1091
 
958
1092
  def sort=(val)
959
1093
  self.sort = val
960
1094
  end
961
1095
 
962
- def unverified=(val)
963
- if val == "true"
964
- self.unverified = true
965
- elsif val == "false" #ignore
966
- self.unverified = b
967
- else
968
- PhraseApp::ParamsValidationError.new("invalid value #{val}")
969
- end
1096
+ def validate
1097
+
1098
+ end
1099
+ end
1100
+
1101
+ class PhraseApp::TranslationsListParams < ::OpenStruct
1102
+ # :order, :q, :sort,
1103
+ def order=(val)
1104
+ self.order = val
1105
+ end
1106
+
1107
+ def q=(val)
1108
+ self.q = val
1109
+ end
1110
+
1111
+ def sort=(val)
1112
+ self.sort = val
970
1113
  end
971
1114
 
972
1115
  def validate
@@ -974,40 +1117,60 @@ class PhraseApp::TranslationListLocaleParams < ::OpenStruct
974
1117
  end
975
1118
  end
976
1119
 
977
- class PhraseApp::TranslationUpdateParams < ::OpenStruct
978
- # :content, :excluded, :plural_suffix, :unverified,
979
- def content=(val)
980
- self.content = val
1120
+ class PhraseApp::TranslationsSearchParams < ::OpenStruct
1121
+ # :order, :q, :sort,
1122
+ def order=(val)
1123
+ self.order = val
981
1124
  end
982
1125
 
983
- def excluded=(val)
984
- if val == "true"
985
- self.excluded = true
986
- elsif val == "false" #ignore
987
- self.excluded = b
988
- else
989
- PhraseApp::ParamsValidationError.new("invalid value #{val}")
990
- end
1126
+ def q=(val)
1127
+ self.q = val
991
1128
  end
992
1129
 
993
- def plural_suffix=(val)
994
- self.plural_suffix = val
1130
+ def sort=(val)
1131
+ self.sort = val
995
1132
  end
996
1133
 
997
- def unverified=(val)
998
- if val == "true"
999
- self.unverified = true
1000
- elsif val == "false" #ignore
1001
- self.unverified = b
1002
- else
1003
- PhraseApp::ParamsValidationError.new("invalid value #{val}")
1004
- end
1134
+ def validate
1135
+
1136
+ end
1137
+ end
1138
+
1139
+ class PhraseApp::TranslationsUnverifyParams < ::OpenStruct
1140
+ # :order, :q, :sort,
1141
+ def order=(val)
1142
+ self.order = val
1143
+ end
1144
+
1145
+ def q=(val)
1146
+ self.q = val
1147
+ end
1148
+
1149
+ def sort=(val)
1150
+ self.sort = val
1005
1151
  end
1006
1152
 
1007
1153
  def validate
1008
- if self.content == nil || self.content == ""
1009
- raise PhraseApp::ParamsValidationError.new("Required parameter \"content\" of \"translation_updateParams\" not set")
1010
- end
1154
+
1155
+ end
1156
+ end
1157
+
1158
+ class PhraseApp::TranslationsVerifyParams < ::OpenStruct
1159
+ # :order, :q, :sort,
1160
+ def order=(val)
1161
+ self.order = val
1162
+ end
1163
+
1164
+ def q=(val)
1165
+ self.q = val
1166
+ end
1167
+
1168
+ def sort=(val)
1169
+ self.sort = val
1170
+ end
1171
+
1172
+ def validate
1173
+
1011
1174
  end
1012
1175
  end
1013
1176
 
@@ -1039,7 +1202,7 @@ class PhraseApp::Client
1039
1202
  return PhraseApp::AuthorizationWithToken.new(JSON.load(rc.body)), err
1040
1203
  end
1041
1204
 
1042
- # Delete an existing authorization. Please note that this will revoke access for that token, so API calls using that token will stop working.
1205
+ # Delete an existing authorization. API calls using that token will stop working.
1043
1206
  def self.authorization_delete(id)
1044
1207
  path = sprintf("/v2/authorizations/%s", id)
1045
1208
  data_hash = {}
@@ -1054,21 +1217,6 @@ class PhraseApp::Client
1054
1217
  return err
1055
1218
  end
1056
1219
 
1057
- # List all your authorizations.
1058
- def self.authorization_list(page, per_page)
1059
- path = sprintf("/v2/authorizations")
1060
- data_hash = {}
1061
- post_body = nil
1062
-
1063
- reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1064
- rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
1065
- if err != nil
1066
- return nil, err
1067
- end
1068
-
1069
- return JSON.load(rc.body).map { |item| PhraseApp::Authorization.new(item) }, err
1070
- end
1071
-
1072
1220
  # Get details on a single authorization.
1073
1221
  def self.authorization_show(id)
1074
1222
  path = sprintf("/v2/authorizations/%s", id)
@@ -1110,15 +1258,30 @@ class PhraseApp::Client
1110
1258
  return PhraseApp::Authorization.new(JSON.load(rc.body)), err
1111
1259
  end
1112
1260
 
1113
- # Create a new blacklisted key.
1114
- def self.blacklist_key_create(project_id, params)
1115
- path = sprintf("/v2/projects/%s/blacklisted_keys", project_id)
1261
+ # List all your authorizations.
1262
+ def self.authorizations_list(page, per_page)
1263
+ path = sprintf("/v2/authorizations")
1116
1264
  data_hash = {}
1117
1265
  post_body = nil
1118
1266
 
1119
- if params.present?
1120
- unless params.kind_of?(PhraseApp::BlacklistKeyCreateParams)
1121
- raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::BlacklistKeyCreateParams")
1267
+ reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1268
+ rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
1269
+ if err != nil
1270
+ return nil, err
1271
+ end
1272
+
1273
+ return JSON.load(rc.body).map { |item| PhraseApp::Authorization.new(item) }, err
1274
+ end
1275
+
1276
+ # Create a new comment for a key.
1277
+ def self.comment_create(project_id, key_id, params)
1278
+ path = sprintf("/v2/projects/%s/keys/%s/comments", project_id, key_id)
1279
+ data_hash = {}
1280
+ post_body = nil
1281
+
1282
+ if params.present?
1283
+ unless params.kind_of?(PhraseApp::CommentCreateParams)
1284
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::CommentCreateParams")
1122
1285
  end
1123
1286
  end
1124
1287
 
@@ -1133,12 +1296,12 @@ class PhraseApp::Client
1133
1296
  return nil, err
1134
1297
  end
1135
1298
 
1136
- return PhraseApp::BlacklistedKey.new(JSON.load(rc.body)), err
1299
+ return PhraseApp::Comment.new(JSON.load(rc.body)), err
1137
1300
  end
1138
1301
 
1139
- # Delete an existing blacklisted key.
1140
- def self.blacklist_key_delete(project_id, id)
1141
- path = sprintf("/v2/projects/%s/blacklisted_keys/%s", project_id, id)
1302
+ # Delete an existing comment.
1303
+ def self.comment_delete(project_id, key_id, id)
1304
+ path = sprintf("/v2/projects/%s/keys/%s/comments/%s", project_id, key_id, id)
1142
1305
  data_hash = {}
1143
1306
  post_body = nil
1144
1307
 
@@ -1151,71 +1314,75 @@ class PhraseApp::Client
1151
1314
  return err
1152
1315
  end
1153
1316
 
1154
- # Get details on a single blacklisted key for a given project.
1155
- def self.blacklist_key_show(project_id, id)
1156
- path = sprintf("/v2/projects/%s/blacklisted_keys/%s", project_id, id)
1317
+ # Check if comment was marked as read. Returns 204 if read, 404 if unread.
1318
+ def self.comment_mark_check(project_id, key_id, id)
1319
+ path = sprintf("/v2/projects/%s/keys/%s/comments/%s/read", project_id, key_id, id)
1157
1320
  data_hash = {}
1158
1321
  post_body = nil
1159
1322
 
1160
1323
  reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1161
- rc, err = PhraseApp.send_request("GET", path, reqHelper.ctype, reqHelper.body, 200)
1324
+ rc, err = PhraseApp.send_request("GET", path, reqHelper.ctype, reqHelper.body, 204)
1162
1325
  if err != nil
1163
1326
  return nil, err
1164
1327
  end
1165
1328
 
1166
- return PhraseApp::BlacklistedKey.new(JSON.load(rc.body)), err
1329
+ return err
1167
1330
  end
1168
1331
 
1169
- # Update an existing blacklisted key.
1170
- def self.blacklist_key_update(project_id, id, params)
1171
- path = sprintf("/v2/projects/%s/blacklisted_keys/%s", project_id, id)
1332
+ # Mark a comment as read
1333
+ def self.comment_mark_read(project_id, key_id, id)
1334
+ path = sprintf("/v2/projects/%s/keys/%s/comments/%s/read", project_id, key_id, id)
1172
1335
  data_hash = {}
1173
1336
  post_body = nil
1174
1337
 
1175
- if params.present?
1176
- unless params.kind_of?(PhraseApp::BlacklistKeyUpdateParams)
1177
- raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::BlacklistKeyUpdateParams")
1178
- end
1179
- end
1180
-
1181
- data_hash = params.to_h
1182
- err = params.validate
1338
+ reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1339
+ rc, err = PhraseApp.send_request("PATCH", path, reqHelper.ctype, reqHelper.body, 204)
1183
1340
  if err != nil
1184
1341
  return nil, err
1185
1342
  end
1343
+
1344
+ return err
1345
+ end
1346
+
1347
+ # Mark a comment as unread
1348
+ def self.comment_mark_unread(project_id, key_id, id)
1349
+ path = sprintf("/v2/projects/%s/keys/%s/comments/%s/read", project_id, key_id, id)
1350
+ data_hash = {}
1351
+ post_body = nil
1352
+
1186
1353
  reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1187
- rc, err = PhraseApp.send_request("PATCH", path, reqHelper.ctype, reqHelper.body, 200)
1354
+ rc, err = PhraseApp.send_request("DELETE", path, reqHelper.ctype, reqHelper.body, 204)
1188
1355
  if err != nil
1189
1356
  return nil, err
1190
1357
  end
1191
1358
 
1192
- return PhraseApp::BlacklistedKey.new(JSON.load(rc.body)), err
1359
+ return err
1193
1360
  end
1194
1361
 
1195
- # List all blacklisted keys for the given project.
1196
- def self.blacklist_show(project_id, page, per_page)
1197
- path = sprintf("/v2/projects/%s/blacklisted_keys", project_id)
1362
+ # Get details on a single comment.
1363
+ def self.comment_show(project_id, key_id, id)
1364
+ path = sprintf("/v2/projects/%s/keys/%s/comments/%s", project_id, key_id, id)
1198
1365
  data_hash = {}
1199
1366
  post_body = nil
1200
1367
 
1201
1368
  reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1202
- rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
1369
+ rc, err = PhraseApp.send_request("GET", path, reqHelper.ctype, reqHelper.body, 200)
1203
1370
  if err != nil
1204
1371
  return nil, err
1205
1372
  end
1206
1373
 
1207
- return JSON.load(rc.body).map { |item| PhraseApp::BlacklistedKey.new(item) }, err
1374
+ return PhraseApp::Comment.new(JSON.load(rc.body)), err
1208
1375
  end
1209
1376
 
1210
- # Create a new comment for a key.
1211
- def self.comment_create(project_id, key_id, params)
1212
- path = sprintf("/v2/projects/%s/keys/%s/comments", project_id, key_id)
1377
+ # Update an existing comment.
1378
+ def self.comment_update(project_id, key_id, id, params)
1379
+ path = sprintf("/v2/projects/%s/keys/%s/comments/%s", project_id, key_id, id)
1213
1380
  data_hash = {}
1214
1381
  post_body = nil
1215
1382
 
1216
1383
  if params.present?
1217
- unless params.kind_of?(PhraseApp::CommentCreateParams)
1218
- raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::CommentCreateParams")
1384
+ unless params.kind_of?(PhraseApp::CommentUpdateParams)
1385
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::CommentUpdateParams")
1219
1386
  end
1220
1387
  end
1221
1388
 
@@ -1225,7 +1392,7 @@ class PhraseApp::Client
1225
1392
  return nil, err
1226
1393
  end
1227
1394
  reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1228
- rc, err = PhraseApp.send_request("POST", path, reqHelper.ctype, reqHelper.body, 201)
1395
+ rc, err = PhraseApp.send_request("PATCH", path, reqHelper.ctype, reqHelper.body, 200)
1229
1396
  if err != nil
1230
1397
  return nil, err
1231
1398
  end
@@ -1233,23 +1400,8 @@ class PhraseApp::Client
1233
1400
  return PhraseApp::Comment.new(JSON.load(rc.body)), err
1234
1401
  end
1235
1402
 
1236
- # Delete an existing comment.
1237
- def self.comment_delete(project_id, key_id, id)
1238
- path = sprintf("/v2/projects/%s/keys/%s/comments/%s", project_id, key_id, id)
1239
- data_hash = {}
1240
- post_body = nil
1241
-
1242
- reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1243
- rc, err = PhraseApp.send_request("DELETE", path, reqHelper.ctype, reqHelper.body, 204)
1244
- if err != nil
1245
- return nil, err
1246
- end
1247
-
1248
- return err
1249
- end
1250
-
1251
1403
  # List all comments for a key.
1252
- def self.comment_list(project_id, key_id, page, per_page)
1404
+ def self.comments_list(project_id, key_id, page, per_page)
1253
1405
  path = sprintf("/v2/projects/%s/keys/%s/comments", project_id, key_id)
1254
1406
  data_hash = {}
1255
1407
  post_body = nil
@@ -1263,39 +1415,35 @@ class PhraseApp::Client
1263
1415
  return JSON.load(rc.body).map { |item| PhraseApp::Comment.new(item) }, err
1264
1416
  end
1265
1417
 
1266
- # Check if comment was marked as read. Returns 204 if read, 404 if unread.
1267
- def self.comment_mark_check(project_id, key_id, id)
1268
- path = sprintf("/v2/projects/%s/keys/%s/comments/%s/read", project_id, key_id, id)
1418
+ # Create a new blacklisted key.
1419
+ def self.exclude_rule_create(project_id, params)
1420
+ path = sprintf("/v2/projects/%s/blacklisted_keys", project_id)
1269
1421
  data_hash = {}
1270
1422
  post_body = nil
1271
1423
 
1272
- reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1273
- rc, err = PhraseApp.send_request("GET", path, reqHelper.ctype, reqHelper.body, 204)
1424
+ if params.present?
1425
+ unless params.kind_of?(PhraseApp::ExcludeRuleCreateParams)
1426
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::ExcludeRuleCreateParams")
1427
+ end
1428
+ end
1429
+
1430
+ data_hash = params.to_h
1431
+ err = params.validate
1274
1432
  if err != nil
1275
1433
  return nil, err
1276
1434
  end
1277
-
1278
- return err
1279
- end
1280
-
1281
- # Mark a comment as read
1282
- def self.comment_mark_read(project_id, key_id, id)
1283
- path = sprintf("/v2/projects/%s/keys/%s/comments/%s/read", project_id, key_id, id)
1284
- data_hash = {}
1285
- post_body = nil
1286
-
1287
1435
  reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1288
- rc, err = PhraseApp.send_request("PUT", path, reqHelper.ctype, reqHelper.body, 204)
1436
+ rc, err = PhraseApp.send_request("POST", path, reqHelper.ctype, reqHelper.body, 201)
1289
1437
  if err != nil
1290
1438
  return nil, err
1291
1439
  end
1292
1440
 
1293
- return err
1441
+ return PhraseApp::BlacklistedKey.new(JSON.load(rc.body)), err
1294
1442
  end
1295
1443
 
1296
- # Mark a comment as unread
1297
- def self.comment_mark_unread(project_id, key_id, id)
1298
- path = sprintf("/v2/projects/%s/keys/%s/comments/%s/read", project_id, key_id, id)
1444
+ # Delete an existing blacklisted key.
1445
+ def self.exclude_rule_delete(project_id, id)
1446
+ path = sprintf("/v2/projects/%s/blacklisted_keys/%s", project_id, id)
1299
1447
  data_hash = {}
1300
1448
  post_body = nil
1301
1449
 
@@ -1308,9 +1456,9 @@ class PhraseApp::Client
1308
1456
  return err
1309
1457
  end
1310
1458
 
1311
- # Get details on a single comment.
1312
- def self.comment_show(project_id, key_id, id)
1313
- path = sprintf("/v2/projects/%s/keys/%s/comments/%s", project_id, key_id, id)
1459
+ # Get details on a single blacklisted key for a given project.
1460
+ def self.exclude_rule_show(project_id, id)
1461
+ path = sprintf("/v2/projects/%s/blacklisted_keys/%s", project_id, id)
1314
1462
  data_hash = {}
1315
1463
  post_body = nil
1316
1464
 
@@ -1320,18 +1468,18 @@ class PhraseApp::Client
1320
1468
  return nil, err
1321
1469
  end
1322
1470
 
1323
- return PhraseApp::Comment.new(JSON.load(rc.body)), err
1471
+ return PhraseApp::BlacklistedKey.new(JSON.load(rc.body)), err
1324
1472
  end
1325
1473
 
1326
- # Update an existing comment.
1327
- def self.comment_update(project_id, key_id, id, params)
1328
- path = sprintf("/v2/projects/%s/keys/%s/comments/%s", project_id, key_id, id)
1474
+ # Update an existing blacklisted key.
1475
+ def self.exclude_rule_update(project_id, id, params)
1476
+ path = sprintf("/v2/projects/%s/blacklisted_keys/%s", project_id, id)
1329
1477
  data_hash = {}
1330
1478
  post_body = nil
1331
1479
 
1332
1480
  if params.present?
1333
- unless params.kind_of?(PhraseApp::CommentUpdateParams)
1334
- raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::CommentUpdateParams")
1481
+ unless params.kind_of?(PhraseApp::ExcludeRuleUpdateParams)
1482
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::ExcludeRuleUpdateParams")
1335
1483
  end
1336
1484
  end
1337
1485
 
@@ -1346,7 +1494,22 @@ class PhraseApp::Client
1346
1494
  return nil, err
1347
1495
  end
1348
1496
 
1349
- return PhraseApp::Comment.new(JSON.load(rc.body)), err
1497
+ return PhraseApp::BlacklistedKey.new(JSON.load(rc.body)), err
1498
+ end
1499
+
1500
+ # List all blacklisted keys for the given project.
1501
+ def self.exclude_rules_index(project_id, page, per_page)
1502
+ path = sprintf("/v2/projects/%s/blacklisted_keys", project_id)
1503
+ data_hash = {}
1504
+ post_body = nil
1505
+
1506
+ reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1507
+ rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
1508
+ if err != nil
1509
+ return nil, err
1510
+ end
1511
+
1512
+ return JSON.load(rc.body).map { |item| PhraseApp::BlacklistedKey.new(item) }, err
1350
1513
  end
1351
1514
 
1352
1515
  # Get a handy list of all localization file formats supported in PhraseApp.
@@ -1383,8 +1546,12 @@ class PhraseApp::Client
1383
1546
  data_hash["description"] = params.description
1384
1547
  end
1385
1548
 
1386
- if params.format_value_type != nil
1387
- data_hash["format_value_type"] = params.format_value_type
1549
+ if params.localized_format_key != nil
1550
+ data_hash["localized_format_key"] = params.localized_format_key
1551
+ end
1552
+
1553
+ if params.localized_format_string != nil
1554
+ data_hash["localized_format_string"] = params.localized_format_string
1388
1555
  end
1389
1556
 
1390
1557
  if params.max_characters_allowed != nil
@@ -1459,32 +1626,6 @@ class PhraseApp::Client
1459
1626
  return err
1460
1627
  end
1461
1628
 
1462
- # List all keys for the given project.
1463
- def self.key_list(project_id, page, per_page, params)
1464
- path = sprintf("/v2/projects/%s/keys", project_id)
1465
- data_hash = {}
1466
- post_body = nil
1467
-
1468
- if params.present?
1469
- unless params.kind_of?(PhraseApp::KeyListParams)
1470
- raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::KeyListParams")
1471
- end
1472
- end
1473
-
1474
- data_hash = params.to_h
1475
- err = params.validate
1476
- if err != nil
1477
- return nil, err
1478
- end
1479
- reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1480
- rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
1481
- if err != nil
1482
- return nil, err
1483
- end
1484
-
1485
- return JSON.load(rc.body).map { |item| PhraseApp::TranslationKey.new(item) }, err
1486
- end
1487
-
1488
1629
  # Get details on a single key for a given project.
1489
1630
  def self.key_show(project_id, id)
1490
1631
  path = sprintf("/v2/projects/%s/keys/%s", project_id, id)
@@ -1519,8 +1660,12 @@ class PhraseApp::Client
1519
1660
  data_hash["description"] = params.description
1520
1661
  end
1521
1662
 
1522
- if params.format_value_type != nil
1523
- data_hash["format_value_type"] = params.format_value_type
1663
+ if params.localized_format_key != nil
1664
+ data_hash["localized_format_key"] = params.localized_format_key
1665
+ end
1666
+
1667
+ if params.localized_format_string != nil
1668
+ data_hash["localized_format_string"] = params.localized_format_string
1524
1669
  end
1525
1670
 
1526
1671
  if params.max_characters_allowed != nil
@@ -1580,6 +1725,136 @@ class PhraseApp::Client
1580
1725
  return PhraseApp::TranslationKeyDetails.new(JSON.load(rc.body)), err
1581
1726
  end
1582
1727
 
1728
+ # Delete all keys matching query. Same constraints as list.
1729
+ def self.keys_delete(project_id, params)
1730
+ path = sprintf("/v2/projects/%s/keys", project_id)
1731
+ data_hash = {}
1732
+ post_body = nil
1733
+
1734
+ if params.present?
1735
+ unless params.kind_of?(PhraseApp::KeysDeleteParams)
1736
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::KeysDeleteParams")
1737
+ end
1738
+ end
1739
+
1740
+ data_hash = params.to_h
1741
+ err = params.validate
1742
+ if err != nil
1743
+ return nil, err
1744
+ end
1745
+ reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1746
+ rc, err = PhraseApp.send_request("DELETE", path, reqHelper.ctype, reqHelper.body, 204)
1747
+ if err != nil
1748
+ return nil, err
1749
+ end
1750
+
1751
+ return err
1752
+ end
1753
+
1754
+ # List all keys for the given project. Alternatively you can POST requests to /search.
1755
+ def self.keys_list(project_id, page, per_page, params)
1756
+ path = sprintf("/v2/projects/%s/keys", project_id)
1757
+ data_hash = {}
1758
+ post_body = nil
1759
+
1760
+ if params.present?
1761
+ unless params.kind_of?(PhraseApp::KeysListParams)
1762
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::KeysListParams")
1763
+ end
1764
+ end
1765
+
1766
+ data_hash = params.to_h
1767
+ err = params.validate
1768
+ if err != nil
1769
+ return nil, err
1770
+ end
1771
+ reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1772
+ rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
1773
+ if err != nil
1774
+ return nil, err
1775
+ end
1776
+
1777
+ return JSON.load(rc.body).map { |item| PhraseApp::TranslationKey.new(item) }, err
1778
+ end
1779
+
1780
+ # List all keys for the given project matching query.
1781
+ def self.keys_search(project_id, page, per_page, params)
1782
+ path = sprintf("/v2/projects/%s/keys/search", project_id)
1783
+ data_hash = {}
1784
+ post_body = nil
1785
+
1786
+ if params.present?
1787
+ unless params.kind_of?(PhraseApp::KeysSearchParams)
1788
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::KeysSearchParams")
1789
+ end
1790
+ end
1791
+
1792
+ data_hash = params.to_h
1793
+ err = params.validate
1794
+ if err != nil
1795
+ return nil, err
1796
+ end
1797
+ reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1798
+ rc, err = PhraseApp.send_request_paginated("POST", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
1799
+ if err != nil
1800
+ return nil, err
1801
+ end
1802
+
1803
+ return JSON.load(rc.body).map { |item| PhraseApp::TranslationKey.new(item) }, err
1804
+ end
1805
+
1806
+ # Tags all keys matching query. Same constraints as list.
1807
+ def self.keys_tag(project_id, params)
1808
+ path = sprintf("/v2/projects/%s/keys/tag", project_id)
1809
+ data_hash = {}
1810
+ post_body = nil
1811
+
1812
+ if params.present?
1813
+ unless params.kind_of?(PhraseApp::KeysTagParams)
1814
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::KeysTagParams")
1815
+ end
1816
+ end
1817
+
1818
+ data_hash = params.to_h
1819
+ err = params.validate
1820
+ if err != nil
1821
+ return nil, err
1822
+ end
1823
+ reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1824
+ rc, err = PhraseApp.send_request("PATCH", path, reqHelper.ctype, reqHelper.body, 204)
1825
+ if err != nil
1826
+ return nil, err
1827
+ end
1828
+
1829
+ return err
1830
+ end
1831
+
1832
+ # Removes specified tags from keys matching query.
1833
+ def self.keys_untag(project_id, params)
1834
+ path = sprintf("/v2/projects/%s/keys/tag", project_id)
1835
+ data_hash = {}
1836
+ post_body = nil
1837
+
1838
+ if params.present?
1839
+ unless params.kind_of?(PhraseApp::KeysUntagParams)
1840
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::KeysUntagParams")
1841
+ end
1842
+ end
1843
+
1844
+ data_hash = params.to_h
1845
+ err = params.validate
1846
+ if err != nil
1847
+ return nil, err
1848
+ end
1849
+ reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1850
+ rc, err = PhraseApp.send_request("DELETE", path, reqHelper.ctype, reqHelper.body, 204)
1851
+ if err != nil
1852
+ return nil, err
1853
+ end
1854
+
1855
+ return err
1856
+ end
1857
+
1583
1858
  # Create a new locale.
1584
1859
  def self.locale_create(project_id, params)
1585
1860
  path = sprintf("/v2/projects/%s/locales", project_id)
@@ -1643,23 +1918,8 @@ class PhraseApp::Client
1643
1918
  if err != nil
1644
1919
  return nil, err
1645
1920
  end
1646
- return rc.body
1647
- return err
1648
- end
1649
-
1650
- # List all locales for the given project.
1651
- def self.locale_list(project_id, page, per_page)
1652
- path = sprintf("/v2/projects/%s/locales", project_id)
1653
- data_hash = {}
1654
- post_body = nil
1655
-
1656
- reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1657
- rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
1658
- if err != nil
1659
- return nil, err
1660
- end
1661
-
1662
- return JSON.load(rc.body).map { |item| PhraseApp::Locale.new(item) }, err
1921
+ return rc.body
1922
+ return err
1663
1923
  end
1664
1924
 
1665
1925
  # Get details on a single locale for a given project.
@@ -1703,7 +1963,22 @@ class PhraseApp::Client
1703
1963
  return PhraseApp::LocaleDetails.new(JSON.load(rc.body)), err
1704
1964
  end
1705
1965
 
1706
- # Confirm an existing order. Sends the order to the language service provider for processing. Please note that your access token must include the <code>orders.create</code> scope to confirm orders.
1966
+ # List all locales for the given project.
1967
+ def self.locales_list(project_id, page, per_page)
1968
+ path = sprintf("/v2/projects/%s/locales", project_id)
1969
+ data_hash = {}
1970
+ post_body = nil
1971
+
1972
+ reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1973
+ rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
1974
+ if err != nil
1975
+ return nil, err
1976
+ end
1977
+
1978
+ return JSON.load(rc.body).map { |item| PhraseApp::Locale.new(item) }, err
1979
+ end
1980
+
1981
+ # Confirm an existing order and send it to the provider for translation. Same constraints as for create.
1707
1982
  def self.order_confirm(project_id, id)
1708
1983
  path = sprintf("/v2/projects/%s/orders/%s/confirm", project_id, id)
1709
1984
  data_hash = {}
@@ -1718,7 +1993,7 @@ class PhraseApp::Client
1718
1993
  return PhraseApp::TranslationOrder.new(JSON.load(rc.body)), err
1719
1994
  end
1720
1995
 
1721
- # Create a new order. Please note that your access token must include the <code>orders.create</code> scope to create orders.
1996
+ # Create a new order. Access token scope must include <code>orders.create</code>.
1722
1997
  def self.order_create(project_id, params)
1723
1998
  path = sprintf("/v2/projects/%s/orders", project_id)
1724
1999
  data_hash = {}
@@ -1759,34 +2034,34 @@ class PhraseApp::Client
1759
2034
  return err
1760
2035
  end
1761
2036
 
1762
- # List all orders for the given project.
1763
- def self.order_list(project_id, page, per_page)
1764
- path = sprintf("/v2/projects/%s/orders", project_id)
2037
+ # Get details on a single order.
2038
+ def self.order_show(project_id, id)
2039
+ path = sprintf("/v2/projects/%s/orders/%s", project_id, id)
1765
2040
  data_hash = {}
1766
2041
  post_body = nil
1767
2042
 
1768
2043
  reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1769
- rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
2044
+ rc, err = PhraseApp.send_request("GET", path, reqHelper.ctype, reqHelper.body, 200)
1770
2045
  if err != nil
1771
2046
  return nil, err
1772
2047
  end
1773
2048
 
1774
- return JSON.load(rc.body).map { |item| PhraseApp::TranslationOrder.new(item) }, err
2049
+ return PhraseApp::TranslationOrder.new(JSON.load(rc.body)), err
1775
2050
  end
1776
2051
 
1777
- # Get details on a single order.
1778
- def self.order_show(project_id, id)
1779
- path = sprintf("/v2/projects/%s/orders/%s", project_id, id)
2052
+ # List all orders for the given project.
2053
+ def self.orders_list(project_id, page, per_page)
2054
+ path = sprintf("/v2/projects/%s/orders", project_id)
1780
2055
  data_hash = {}
1781
2056
  post_body = nil
1782
2057
 
1783
2058
  reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1784
- rc, err = PhraseApp.send_request("GET", path, reqHelper.ctype, reqHelper.body, 200)
2059
+ rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
1785
2060
  if err != nil
1786
2061
  return nil, err
1787
2062
  end
1788
2063
 
1789
- return PhraseApp::TranslationOrder.new(JSON.load(rc.body)), err
2064
+ return JSON.load(rc.body).map { |item| PhraseApp::TranslationOrder.new(item) }, err
1790
2065
  end
1791
2066
 
1792
2067
  # Create a new project.
@@ -1830,21 +2105,6 @@ class PhraseApp::Client
1830
2105
  return err
1831
2106
  end
1832
2107
 
1833
- # List all projects the current user has access to.
1834
- def self.project_list(page, per_page)
1835
- path = sprintf("/v2/projects")
1836
- data_hash = {}
1837
- post_body = nil
1838
-
1839
- reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1840
- rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
1841
- if err != nil
1842
- return nil, err
1843
- end
1844
-
1845
- return JSON.load(rc.body).map { |item| PhraseApp::Project.new(item) }, err
1846
- end
1847
-
1848
2108
  # Get details on a single project.
1849
2109
  def self.project_show(id)
1850
2110
  path = sprintf("/v2/projects/%s", id)
@@ -1886,6 +2146,21 @@ class PhraseApp::Client
1886
2146
  return PhraseApp::ProjectDetails.new(JSON.load(rc.body)), err
1887
2147
  end
1888
2148
 
2149
+ # List all projects the current user has access to.
2150
+ def self.projects_list(page, per_page)
2151
+ path = sprintf("/v2/projects")
2152
+ data_hash = {}
2153
+ post_body = nil
2154
+
2155
+ reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
2156
+ rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
2157
+ if err != nil
2158
+ return nil, err
2159
+ end
2160
+
2161
+ return JSON.load(rc.body).map { |item| PhraseApp::Project.new(item) }, err
2162
+ end
2163
+
1889
2164
  # Show details for current User.
1890
2165
  def self.show_user()
1891
2166
  path = sprintf("/v2/user")
@@ -1942,21 +2217,6 @@ class PhraseApp::Client
1942
2217
  return err
1943
2218
  end
1944
2219
 
1945
- # List all styleguides for the given project.
1946
- def self.styleguide_list(project_id, page, per_page)
1947
- path = sprintf("/v2/projects/%s/styleguides", project_id)
1948
- data_hash = {}
1949
- post_body = nil
1950
-
1951
- reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
1952
- rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
1953
- if err != nil
1954
- return nil, err
1955
- end
1956
-
1957
- return JSON.load(rc.body).map { |item| PhraseApp::Styleguide.new(item) }, err
1958
- end
1959
-
1960
2220
  # Get details on a single style guide.
1961
2221
  def self.styleguide_show(project_id, id)
1962
2222
  path = sprintf("/v2/projects/%s/styleguides/%s", project_id, id)
@@ -1998,6 +2258,21 @@ class PhraseApp::Client
1998
2258
  return PhraseApp::StyleguideDetails.new(JSON.load(rc.body)), err
1999
2259
  end
2000
2260
 
2261
+ # List all styleguides for the given project.
2262
+ def self.styleguides_list(project_id, page, per_page)
2263
+ path = sprintf("/v2/projects/%s/styleguides", project_id)
2264
+ data_hash = {}
2265
+ post_body = nil
2266
+
2267
+ reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
2268
+ rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
2269
+ if err != nil
2270
+ return nil, err
2271
+ end
2272
+
2273
+ return JSON.load(rc.body).map { |item| PhraseApp::Styleguide.new(item) }, err
2274
+ end
2275
+
2001
2276
  # Create a new tag.
2002
2277
  def self.tag_create(project_id, params)
2003
2278
  path = sprintf("/v2/projects/%s/tags", project_id)
@@ -2039,34 +2314,34 @@ class PhraseApp::Client
2039
2314
  return err
2040
2315
  end
2041
2316
 
2042
- # List all tags for the given project.
2043
- def self.tag_list(project_id, page, per_page)
2044
- path = sprintf("/v2/projects/%s/tags", project_id)
2317
+ # Get details and progress information on a single tag for a given project.
2318
+ def self.tag_show(project_id, name)
2319
+ path = sprintf("/v2/projects/%s/tags/%s", project_id, name)
2045
2320
  data_hash = {}
2046
2321
  post_body = nil
2047
2322
 
2048
2323
  reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
2049
- rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
2324
+ rc, err = PhraseApp.send_request("GET", path, reqHelper.ctype, reqHelper.body, 200)
2050
2325
  if err != nil
2051
2326
  return nil, err
2052
2327
  end
2053
2328
 
2054
- return JSON.load(rc.body).map { |item| PhraseApp::Tag.new(item) }, err
2329
+ return PhraseApp::TagWithStats.new(JSON.load(rc.body)), err
2055
2330
  end
2056
2331
 
2057
- # Get details and progress information on a single tag for a given project.
2058
- def self.tag_show(project_id, name)
2059
- path = sprintf("/v2/projects/%s/tags/%s", project_id, name)
2332
+ # List all tags for the given project.
2333
+ def self.tags_list(project_id, page, per_page)
2334
+ path = sprintf("/v2/projects/%s/tags", project_id)
2060
2335
  data_hash = {}
2061
2336
  post_body = nil
2062
2337
 
2063
2338
  reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
2064
- rc, err = PhraseApp.send_request("GET", path, reqHelper.ctype, reqHelper.body, 200)
2339
+ rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
2065
2340
  if err != nil
2066
2341
  return nil, err
2067
2342
  end
2068
2343
 
2069
- return PhraseApp::TagWithStats.new(JSON.load(rc.body)), err
2344
+ return JSON.load(rc.body).map { |item| PhraseApp::Tag.new(item) }, err
2070
2345
  end
2071
2346
 
2072
2347
  # Create a translation.
@@ -2095,15 +2370,30 @@ class PhraseApp::Client
2095
2370
  return PhraseApp::TranslationDetails.new(JSON.load(rc.body)), err
2096
2371
  end
2097
2372
 
2098
- # List translations for the given project.
2099
- def self.translation_list_all(project_id, page, per_page, params)
2100
- path = sprintf("/v2/projects/%s/translations", project_id)
2373
+ # Get details on a single translation.
2374
+ def self.translation_show(project_id, id)
2375
+ path = sprintf("/v2/projects/%s/translations/%s", project_id, id)
2376
+ data_hash = {}
2377
+ post_body = nil
2378
+
2379
+ reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
2380
+ rc, err = PhraseApp.send_request("GET", path, reqHelper.ctype, reqHelper.body, 200)
2381
+ if err != nil
2382
+ return nil, err
2383
+ end
2384
+
2385
+ return PhraseApp::TranslationDetails.new(JSON.load(rc.body)), err
2386
+ end
2387
+
2388
+ # Update an existing translation.
2389
+ def self.translation_update(project_id, id, params)
2390
+ path = sprintf("/v2/projects/%s/translations/%s", project_id, id)
2101
2391
  data_hash = {}
2102
2392
  post_body = nil
2103
2393
 
2104
2394
  if params.present?
2105
- unless params.kind_of?(PhraseApp::TranslationListAllParams)
2106
- raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::TranslationListAllParams")
2395
+ unless params.kind_of?(PhraseApp::TranslationUpdateParams)
2396
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::TranslationUpdateParams")
2107
2397
  end
2108
2398
  end
2109
2399
 
@@ -2113,23 +2403,23 @@ class PhraseApp::Client
2113
2403
  return nil, err
2114
2404
  end
2115
2405
  reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
2116
- rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
2406
+ rc, err = PhraseApp.send_request("PATCH", path, reqHelper.ctype, reqHelper.body, 200)
2117
2407
  if err != nil
2118
2408
  return nil, err
2119
2409
  end
2120
2410
 
2121
- return JSON.load(rc.body).map { |item| PhraseApp::Translation.new(item) }, err
2411
+ return PhraseApp::TranslationDetails.new(JSON.load(rc.body)), err
2122
2412
  end
2123
2413
 
2124
2414
  # List translations for a specific key.
2125
- def self.translation_list_key(project_id, key_id, page, per_page, params)
2415
+ def self.translations_by_key(project_id, key_id, page, per_page, params)
2126
2416
  path = sprintf("/v2/projects/%s/keys/%s/translations", project_id, key_id)
2127
2417
  data_hash = {}
2128
2418
  post_body = nil
2129
2419
 
2130
2420
  if params.present?
2131
- unless params.kind_of?(PhraseApp::TranslationListKeyParams)
2132
- raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::TranslationListKeyParams")
2421
+ unless params.kind_of?(PhraseApp::TranslationsByKeyParams)
2422
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::TranslationsByKeyParams")
2133
2423
  end
2134
2424
  end
2135
2425
 
@@ -2148,14 +2438,14 @@ class PhraseApp::Client
2148
2438
  end
2149
2439
 
2150
2440
  # List translations for a specific locale.
2151
- def self.translation_list_locale(project_id, locale_id, page, per_page, params)
2441
+ def self.translations_by_locale(project_id, locale_id, page, per_page, params)
2152
2442
  path = sprintf("/v2/projects/%s/locales/%s/translations", project_id, locale_id)
2153
2443
  data_hash = {}
2154
2444
  post_body = nil
2155
2445
 
2156
2446
  if params.present?
2157
- unless params.kind_of?(PhraseApp::TranslationListLocaleParams)
2158
- raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::TranslationListLocaleParams")
2447
+ unless params.kind_of?(PhraseApp::TranslationsByLocaleParams)
2448
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::TranslationsByLocaleParams")
2159
2449
  end
2160
2450
  end
2161
2451
 
@@ -2173,30 +2463,41 @@ class PhraseApp::Client
2173
2463
  return JSON.load(rc.body).map { |item| PhraseApp::Translation.new(item) }, err
2174
2464
  end
2175
2465
 
2176
- # Get details on a single translation.
2177
- def self.translation_show(project_id, id)
2178
- path = sprintf("/v2/projects/%s/translations/%s", project_id, id)
2466
+ # Exclude translations matching query from locale export.
2467
+ def self.translations_exclude(project_id, params)
2468
+ path = sprintf("/v2/projects/%s/translations/exclude", project_id)
2179
2469
  data_hash = {}
2180
2470
  post_body = nil
2181
2471
 
2472
+ if params.present?
2473
+ unless params.kind_of?(PhraseApp::TranslationsExcludeParams)
2474
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::TranslationsExcludeParams")
2475
+ end
2476
+ end
2477
+
2478
+ data_hash = params.to_h
2479
+ err = params.validate
2480
+ if err != nil
2481
+ return nil, err
2482
+ end
2182
2483
  reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
2183
- rc, err = PhraseApp.send_request("GET", path, reqHelper.ctype, reqHelper.body, 200)
2484
+ rc, err = PhraseApp.send_request("PATCH", path, reqHelper.ctype, reqHelper.body, 200)
2184
2485
  if err != nil
2185
2486
  return nil, err
2186
2487
  end
2187
2488
 
2188
- return PhraseApp::TranslationDetails.new(JSON.load(rc.body)), err
2489
+ return PhraseApp::AffectedCount.new(JSON.load(rc.body)), err
2189
2490
  end
2190
2491
 
2191
- # Update an existing translation.
2192
- def self.translation_update(project_id, id, params)
2193
- path = sprintf("/v2/projects/%s/translations/%s", project_id, id)
2492
+ # Include translations matching query in locale export
2493
+ def self.translations_include(project_id, params)
2494
+ path = sprintf("/v2/projects/%s/translations/include", project_id)
2194
2495
  data_hash = {}
2195
2496
  post_body = nil
2196
2497
 
2197
2498
  if params.present?
2198
- unless params.kind_of?(PhraseApp::TranslationUpdateParams)
2199
- raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::TranslationUpdateParams")
2499
+ unless params.kind_of?(PhraseApp::TranslationsIncludeParams)
2500
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::TranslationsIncludeParams")
2200
2501
  end
2201
2502
  end
2202
2503
 
@@ -2211,10 +2512,114 @@ class PhraseApp::Client
2211
2512
  return nil, err
2212
2513
  end
2213
2514
 
2214
- return PhraseApp::TranslationDetails.new(JSON.load(rc.body)), err
2515
+ return PhraseApp::AffectedCount.new(JSON.load(rc.body)), err
2516
+ end
2517
+
2518
+ # List translations for the given project. Alternatively, POST request to /search
2519
+ def self.translations_list(project_id, page, per_page, params)
2520
+ path = sprintf("/v2/projects/%s/translations", project_id)
2521
+ data_hash = {}
2522
+ post_body = nil
2523
+
2524
+ if params.present?
2525
+ unless params.kind_of?(PhraseApp::TranslationsListParams)
2526
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::TranslationsListParams")
2527
+ end
2528
+ end
2529
+
2530
+ data_hash = params.to_h
2531
+ err = params.validate
2532
+ if err != nil
2533
+ return nil, err
2534
+ end
2535
+ reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
2536
+ rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
2537
+ if err != nil
2538
+ return nil, err
2539
+ end
2540
+
2541
+ return JSON.load(rc.body).map { |item| PhraseApp::Translation.new(item) }, err
2542
+ end
2543
+
2544
+ # List translations for the given project if you exceed GET request limitations on translations list.
2545
+ def self.translations_search(project_id, page, per_page, params)
2546
+ path = sprintf("/v2/projects/%s/translations/search", project_id)
2547
+ data_hash = {}
2548
+ post_body = nil
2549
+
2550
+ if params.present?
2551
+ unless params.kind_of?(PhraseApp::TranslationsSearchParams)
2552
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::TranslationsSearchParams")
2553
+ end
2554
+ end
2555
+
2556
+ data_hash = params.to_h
2557
+ err = params.validate
2558
+ if err != nil
2559
+ return nil, err
2560
+ end
2561
+ reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
2562
+ rc, err = PhraseApp.send_request_paginated("POST", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
2563
+ if err != nil
2564
+ return nil, err
2565
+ end
2566
+
2567
+ return JSON.load(rc.body).map { |item| PhraseApp::Translation.new(item) }, err
2568
+ end
2569
+
2570
+ # Mark translations matching query as unverified
2571
+ def self.translations_unverify(project_id, params)
2572
+ path = sprintf("/v2/projects/%s/translations/unverify", project_id)
2573
+ data_hash = {}
2574
+ post_body = nil
2575
+
2576
+ if params.present?
2577
+ unless params.kind_of?(PhraseApp::TranslationsUnverifyParams)
2578
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::TranslationsUnverifyParams")
2579
+ end
2580
+ end
2581
+
2582
+ data_hash = params.to_h
2583
+ err = params.validate
2584
+ if err != nil
2585
+ return nil, err
2586
+ end
2587
+ reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
2588
+ rc, err = PhraseApp.send_request("PATCH", path, reqHelper.ctype, reqHelper.body, 200)
2589
+ if err != nil
2590
+ return nil, err
2591
+ end
2592
+
2593
+ return PhraseApp::AffectedCount.new(JSON.load(rc.body)), err
2594
+ end
2595
+
2596
+ # Verify translations matching query.
2597
+ def self.translations_verify(project_id, params)
2598
+ path = sprintf("/v2/projects/%s/translations/verify", project_id)
2599
+ data_hash = {}
2600
+ post_body = nil
2601
+
2602
+ if params.present?
2603
+ unless params.kind_of?(PhraseApp::TranslationsVerifyParams)
2604
+ raise PhraseApp::ParamsError.new("Expected params to be kind_of PhraseApp::TranslationsVerifyParams")
2605
+ end
2606
+ end
2607
+
2608
+ data_hash = params.to_h
2609
+ err = params.validate
2610
+ if err != nil
2611
+ return nil, err
2612
+ end
2613
+ reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
2614
+ rc, err = PhraseApp.send_request("PATCH", path, reqHelper.ctype, reqHelper.body, 200)
2615
+ if err != nil
2616
+ return nil, err
2617
+ end
2618
+
2619
+ return PhraseApp::AffectedCount.new(JSON.load(rc.body)), err
2215
2620
  end
2216
2621
 
2217
- # Upload a new file to your project. This will extract all new content such as keys, translations, locales, tags etc. and store them in your project.
2622
+ # Upload a new language file. Creates necessary resources in your project.
2218
2623
  def self.upload_create(project_id, params)
2219
2624
  path = sprintf("/v2/projects/%s/uploads", project_id)
2220
2625
  data_hash = {}
@@ -2239,8 +2644,8 @@ class PhraseApp::Client
2239
2644
  post_body << "\r\n"
2240
2645
  end
2241
2646
 
2242
- if params.format != nil
2243
- data_hash["format"] = params.format
2647
+ if params.file_format != nil
2648
+ data_hash["file_format"] = params.file_format
2244
2649
  end
2245
2650
 
2246
2651
  if params.format_options != nil
@@ -2295,34 +2700,34 @@ class PhraseApp::Client
2295
2700
  return PhraseApp::LocaleFileImportWithSummary.new(JSON.load(rc.body)), err
2296
2701
  end
2297
2702
 
2298
- # List all versions for the given translation.
2299
- def self.version_list(project_id, translation_id, page, per_page)
2300
- path = sprintf("/v2/projects/%s/translations/%s/versions", project_id, translation_id)
2703
+ # Get details on a single version.
2704
+ def self.version_show(project_id, translation_id, id)
2705
+ path = sprintf("/v2/projects/%s/translations/%s/versions/%s", project_id, translation_id, id)
2301
2706
  data_hash = {}
2302
2707
  post_body = nil
2303
2708
 
2304
2709
  reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
2305
- rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
2710
+ rc, err = PhraseApp.send_request("GET", path, reqHelper.ctype, reqHelper.body, 200)
2306
2711
  if err != nil
2307
2712
  return nil, err
2308
2713
  end
2309
2714
 
2310
- return JSON.load(rc.body).map { |item| PhraseApp::TranslationVersion.new(item) }, err
2715
+ return PhraseApp::TranslationVersionWithUser.new(JSON.load(rc.body)), err
2311
2716
  end
2312
2717
 
2313
- # Get details on a single version.
2314
- def self.version_show(project_id, translation_id, id)
2315
- path = sprintf("/v2/projects/%s/translations/%s/versions/%s", project_id, translation_id, id)
2718
+ # List all versions for the given translation.
2719
+ def self.versions_list(project_id, translation_id, page, per_page)
2720
+ path = sprintf("/v2/projects/%s/translations/%s/versions", project_id, translation_id)
2316
2721
  data_hash = {}
2317
2722
  post_body = nil
2318
2723
 
2319
2724
  reqHelper = PhraseApp::RequestHelper.new(data_hash, post_body)
2320
- rc, err = PhraseApp.send_request("GET", path, reqHelper.ctype, reqHelper.body, 200)
2725
+ rc, err = PhraseApp.send_request_paginated("GET", path, reqHelper.ctype, reqHelper.body, 200, page, per_page)
2321
2726
  if err != nil
2322
2727
  return nil, err
2323
2728
  end
2324
2729
 
2325
- return PhraseApp::TranslationVersionWithUser.new(JSON.load(rc.body)), err
2730
+ return JSON.load(rc.body).map { |item| PhraseApp::TranslationVersion.new(item) }, err
2326
2731
  end
2327
2732
 
2328
2733
  end