Skip to content

Commit f9852bc

Browse files
committed
refactor(example::Instagram): moved the method for url with different fields into Fields impl
1 parent bb14066 commit f9852bc

File tree

1 file changed

+17
-15
lines changed
  • src/graph/instagram/account

1 file changed

+17
-15
lines changed

src/graph/instagram/account/mod.rs

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -52,22 +52,8 @@ impl InstagramApi {
5252
/// It accepts the instagram page id.
5353
/// for reference check <https://developers.facebook.com/docs/instagram-api/reference/ig-user>
5454
pub async fn account_details(self) -> seed::fetch::Result<InstagramAccount> {
55-
log!("the base url ", self.base_url);
56-
5755
let mut url = self.base_url.replace("EDGE", "?");
58-
59-
// add required filed needed to be returned
60-
let fields_count = Fields::default().fields.len();
61-
let mut url_fields = "".to_string();
62-
63-
for (count, field) in Fields::default().fields.into_iter().enumerate() {
64-
if count < fields_count - 1 {
65-
url_fields = url_fields+ &field + ",";
66-
} else {
67-
url_fields= url_fields+ &field; // remove the comma in the last filed
68-
}
69-
}
70-
url_fields = String::from(encode(url_fields.as_str())); // encode the url
56+
let url_fields = Fields::default().build_url_with_fields(); // build urlenconded url withe regired fields
7157

7258
let mut request_url = url
7359
+ "fields="
@@ -138,3 +124,19 @@ impl Default for Fields {
138124
Self { fields }
139125
}
140126
}
127+
128+
impl Fields {
129+
pub fn build_url_with_fields(self) -> String {
130+
let mut url_fields= "".to_string();
131+
let fields_count = Fields::default().fields.len();
132+
for (count, field) in Fields::default().fields.into_iter().enumerate() {
133+
if count < fields_count - 1 {
134+
url_fields = url_fields+ &field + ",";
135+
} else {
136+
url_fields= url_fields+ &field; // remove the comma in the last filed
137+
}
138+
}
139+
url_fields = String::from(encode(url_fields.as_str())); // encode the url
140+
url_fields
141+
}
142+
}

0 commit comments

Comments
 (0)