parseapi 1.10.5 → 1.11.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 333df640e7140867b7d014471e91afac5a07c34d805e8d9da9281d9f6dfa96d3
4
- data.tar.gz: 9b68b174f5579f57a255b7a447ceafb09cd55962b4f649a1ab238a6fba113787
3
+ metadata.gz: a034ca1ee804ae489e3e3cd526d91ce7b578d7e9bfe20ed74bf3c30ee73ca50e
4
+ data.tar.gz: 73539a5b7041667e30006e369015782f0543c3557d697d3af98a0335d877ea50
5
5
  SHA512:
6
- metadata.gz: fb485bad77954f0b25eaba5dd5f5b935712fbb61879420792c44f995f871f070c678b439f5c7907d774e4c12bcbf05744ad1d36051fd36541a8849f82bc93dbb
7
- data.tar.gz: 415c5be9723d35283bee0e35180f4d79e7e68ae9eb48c2a6587062851fc584f521baf4b0251765c873704f572722644c80c3711c22614bf60536d2d9cbd82d9d
6
+ metadata.gz: 939b541b0a6cc257571338dffc99ab566d868144ce949712c5e58b47628860271d9bf43e1a387c6d79b1f16414e9e2df2b0df48413bc28503d018b26d808e9ee
7
+ data.tar.gz: 9a4b8d5e7104cda6fc4e39904ae6d2c52e632d95d047c725dba0a9cfb6301153f09453469020f1b57bb132678a6b4a50226579b50ae66fd53a6904ec95f6a3bd
data/README.md CHANGED
@@ -73,6 +73,15 @@ Discovery example: `parse.company_search(country: 'US', industry: '0700', indust
73
73
  Supply `industry` and `industry_type` together. The supported namespace is `sic`, with an exact four-digit string such as `0700`; leading zeros are meaningful. Country-only discovery is also supported. Filters intersect and may narrow an existing selector. Country matches the profile country, not a headquarters or operating-presence claim. Unknown values do not match a requested filter. Filter-only candidates use `match.field: "filters"` and `match.value: null`; reuse the same filters and limit with a returned cursor. Counts describe this directory edition, not complete country coverage.
74
74
 
75
75
 
76
+ ## ISO identifiers
77
+
78
+ Country uses `iso_alpha3` and `iso_numeric`, State uses the full
79
+ `iso_subdivision` code such as `US-CA`, Language uses `iso_alpha3`, and Currency
80
+ uses `iso_numeric`. Primary `country`, `state`, `language` and `currency` codes
81
+ keep their meaning. Results retain the selected API contract's exact keys,
82
+ values, nulls and nesting. Earlier server contracts retain their earlier ISO
83
+ spellings. Use the existing lookup methods for each resource.
84
+
76
85
  ## Calls
77
86
 
78
87
  One method per endpoint, named after the route.
@@ -157,7 +166,7 @@ Choose display names for one request:
157
166
  parse.country('DE', lang: 'fr')
158
167
  ```
159
168
 
160
- `lang` is optional on geography lookups and their lists/searches, Language, Date, Time/Timezone, Emoji lookup/search. IP, ASN and national Company number lookups also accept it for their geographic labels. Codes, native names, quantities and response structure retain their meanings. Source coverage determines which labels are translated; unavailable labels use the API's documented fallback.
169
+ `lang` is optional on geography lookups and their lists/searches, Currency lookup, Language, Date, Time/Timezone, Emoji lookup/search. IP, ASN and national Company number lookups also accept it for their geographic labels. Codes, native names, quantities and response structure retain their meanings. Source coverage determines which labels are translated; unavailable labels use the API's documented fallback.
161
170
 
162
171
  The next call keeps its usual default unless it also supplies `lang`. Existing `deep` rules still apply. Date `format` remains an explicit input-parsing control.
163
172
 
@@ -210,7 +219,7 @@ Source deep adds `standard_offset`, `standard_offset_seconds`, signed `dst_offse
210
219
 
211
220
  ## Place statistics and optional detail
212
221
 
213
- Country Core contains the everyday reference: `name`, `name_full`, `name_local`, demonym and country codes, continent, region and subregion, currency, calling code, `flag`, language and timezone codes, borders, bloc memberships and `capital: { name, lat, lon }`. Paid Deep adds specialist detail, including population, total area and national statistics. `gdp_usd` and `gdp_per_capita_usd` are current US dollars; `population_growth_percent`, `urban_population_percent` and `internet_users_percent` use a 0–100 percent scale (growth can be negative or exceed 100). GDP per person and these three percentages round once to two decimals in the API response. `elevation_average` is average terrain elevation in meters; `lowest_point.elevation` and `highest_point.elevation` keep their point-specific meaning. Unknown stays null and a known zero stays zero. Country tax references are grouped once as `deep.tax: { name, rate }`; the rate remains a percentage. Read capital from the Core object and read the tax name and rate from the Deep tax object.
222
+ Country Core contains the everyday reference: `name`, `name_full`, `name_local`, demonym, `iso_alpha3` and `iso_numeric` country identifiers, continent, region and subregion, currency, calling code, `flag`, language and timezone codes, borders, bloc memberships and `capital: { name, lat, lon }`. Paid Deep adds specialist detail, including population, total area and national statistics. `gdp_usd` and `gdp_per_capita_usd` are current US dollars; `population_growth_percent`, `urban_population_percent` and `internet_users_percent` use a 0–100 percent scale (growth can be negative or exceed 100). GDP per person and these three percentages round once to two decimals in the API response. `elevation_average` is average terrain elevation in meters; `lowest_point.elevation` and `highest_point.elevation` keep their point-specific meaning. Unknown stays null and a known zero stays zero. Country tax references are grouped once as `deep.tax: { name, rate }`; the rate remains a percentage. Read capital from the Core object and read the tax name and rate from the Deep tax object.
214
223
 
215
224
  Australian postal lookups include core `localities` with suburb choices (`city`, `state`, `state_name`) on every plan. Null or an omitted field means unknown, while `[]` means the reviewed reference has no eligible choices. `city` stays null when the source is ambiguous, even if there is only one eligible choice. Let the user select their suburb and keep manual entry available. These are geographic choices, not mailing-address verification. [G-NAF source, adaptations and licence](https://parseapi.com/legal/attribution#postal-au).
216
225
 
@@ -251,6 +260,7 @@ Choose enrichment for the question you need answered.
251
260
  | Domain | Registration dates, registrar, status and DNSSEC, included with a paid plan. Use `dns` for DNS records and `mx` for mail routing. |
252
261
  | Email | A metered mailbox check with deliverability, catch-all, status, reason and address hints, using included email checks or enabled on-demand usage. |
253
262
  | Phone, Time, Date, Language, Emoji, Point | Optional detail in the same pooled request on every plan. |
263
+ | Currency | Currency metadata on paid plans; lookup and exchange-rate conversion use pooled requests. |
254
264
  | Country, State, District, City, Postal | The place profile on paid plans, including demographic and tax facts where held. |
255
265
  | Name, Industry | Name evidence or the industry definition profile on paid plans. |
256
266
  | Company | The complete product detail bag on paid plans. |
@@ -352,9 +362,9 @@ puts basic['at'], detail.dig('deep', 'next_dst')
352
362
  result = parse.stack("example.com")
353
363
  ```
354
364
 
355
- Pass a public hostname without a scheme, path, port or IP address. Stack returns the checked URL and `checked_at` time, followed by `scope`, `pages` and `partial`. `scope` is `homepage` or `site`; `pages` counts successfully checked HTML pages. `partial` is true for homepage-only or incomplete bounded site checks. False means the known in-scope candidates were completed, not that every page on a website was visited. A homepage result has `scope: "homepage"`, `pages: 1` and `partial: true`.
365
+ Stack checks static homepage HTML and response headers. It returns the checked URL, original `checked_at` time and eight technology arrays.
356
366
 
357
- `cms`, `servers`, `frameworks`, `ecommerce`, `analytics`, `chat`, `payments` and `hosting` are arrays because a site can use several technologies in each category. Each entry contains `technology`, `name` and nullable `version`. Technology codes are open strings. A successful check uses empty arrays for categories with no matches. When no HTML page could be checked, `checked_at` and all categories are null, `pages` is 0 and `partial` is null. Unknown or conflicting versions are null. Missing detections do not prove absence.
367
+ `cms`, `servers`, `frameworks`, `ecommerce`, `analytics`, `chat`, `payments` and `hosting` are arrays because a site can use several technologies in each category. Each entry contains `technology`, `name` and nullable `version`. Technology codes are open strings. A successful check uses empty arrays for categories with no matches. When no HTML page could be checked, `checked_at` and all categories are null. Unknown or conflicting versions are null. Detections describe the checked homepage.
358
368
 
359
369
  Successful checks may be reused for up to 24 hours. `pretty` optionally formats the wire JSON. Stack uses your plan's request allowance and API version 2.0.0 selected by this client.
360
370
 
@@ -251,7 +251,7 @@ module ParseAPI
251
251
  end
252
252
 
253
253
  # Identify website technologies and versions by category.
254
- # All categories are lists. Scope, pages and partial describe bounded coverage.
254
+ # Categories are arrays or null.
255
255
  # Lists are nil when no page could be checked and empty for no matches.
256
256
  def stack(domain, deep: false, pretty: false)
257
257
  get("/stack/#{seg(domain)}", deep: deep, pretty: pretty)
@@ -301,6 +301,14 @@ module ParseAPI
301
301
 
302
302
 
303
303
 
304
+ def currency(code, deep: false, lang: nil)
305
+ get("/currency/#{seg(code)}", deep: deep, lang: lang)
306
+ end
307
+
308
+ def currency_rate(base, quote, date: nil, amount: nil)
309
+ get("/currency/#{seg(base)}/#{seg(quote)}", date: date, amount: amount)
310
+ end
311
+
304
312
  def language(code, deep: false, lang: nil)
305
313
  get("/language/#{seg(code)}", deep: deep, lang: lang)
306
314
  end
@@ -1,3 +1,3 @@
1
1
  module ParseAPI
2
- VERSION = '1.10.5'.freeze
2
+ VERSION = '1.11.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parseapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.5
4
+ version: 1.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ParseAPI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-10-30 00:00:00.000000000 Z
11
+ date: 2026-10-31 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: