@@ -94,22 +94,17 @@ def market_categories
94
94
# @param columns [String, Array <String>] One or more columns to limit results to
95
95
# @return [OpenStruct] The requested character
96
96
def character ( id : nil , all_data : false , poll : false , data : [ ] , columns : [ ] )
97
- if all_data
98
- data = ALL_CHARACTER_DATA
99
- else
100
- data = [ *data ] . join ( ',' )
101
- end
102
-
103
- params = { data : data , columns : [ *columns ] . join ( ',' ) }
97
+ params = { data : character_data ( all_data , data ) , columns : [ *columns ] . join ( ',' ) }
104
98
request_cached ( self , "character/#{ id } " , :character , params , poll )
105
99
end
106
100
107
101
# @param ids [String, Array<Integer>] Character IDs
108
102
# @param all_data [true, false] Return the full set of character data
103
+ # @param data [String, Array <String>] Additional data to request, see: https://xivapi.com/docs/Character#character
109
104
# @param columns [String, Array <String>] One or more columns to limit results to
110
105
# @return [Array<OpenStruct>] The requested characters
111
- def characters ( ids : nil , all_data : false , columns : [ ] )
112
- body = { ids : [ *ids ] . join ( ',' ) , data : all_data ? ALL_CHARACTER_DATA : nil , columns : [ *columns ] . join ( ',' ) }
106
+ def characters ( ids : nil , all_data : false , data : [ ] , columns : [ ] )
107
+ body = { ids : [ *ids ] . join ( ',' ) , data : character_data ( all_data , data ) , columns : [ *columns ] . join ( ',' ) }
113
108
request ( self , 'characters' , { } , body )
114
109
end
115
110
@@ -201,4 +196,9 @@ def lodestone(category)
201
196
def patch_list
202
197
request ( self , 'patchlist' )
203
198
end
199
+
200
+ private
201
+ def character_data ( all_data , data )
202
+ all_data ? ALL_CHARACTER_DATA : [ *data ] . join ( ',' )
203
+ end
204
204
end
0 commit comments