trackdown 0.3.0 → 0.4.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.
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - rameerez
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-02-08 00:00:00.000000000 Z
10
+ date: 2026-08-15 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: countries
@@ -23,30 +23,26 @@ dependencies:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
25
  version: '7.0'
26
- description: Trackdown is a Ruby gem that allows you to geolocate IP addresses easily.
27
- It works out of the box with Cloudflare headers if your Rails app is behind it;
28
- or you can also use MaxMind databases (BYOK). The gem offers a clean API for Rails
29
- applications to fetch country, city, emoji flag, region, continent, postal code,
30
- latitude, longitude and other GeoIP information for any IP address. Supports Cloudflare
31
- headers, and MaxMind GeoLite2 databases (offline capable).
26
+ description: Trackdown is a Ruby gem for IP geolocation in Rails applications. It
27
+ reads request-bound location headers from Cloudflare and Amazon CloudFront, verifies
28
+ CDN client-IP corroboration in automatic mode, or uses a local MaxMind database
29
+ (BYOK). It returns country, city, emoji flag, region, continent, postal code, latitude,
30
+ longitude, timezone, and related GeoIP fields.
32
31
  email:
33
32
  - rubygems@rameerez.com
34
33
  executables: []
35
34
  extensions: []
36
35
  extra_rdoc_files: []
37
36
  files:
38
- - ".simplecov"
39
- - AGENTS.md
40
37
  - CHANGELOG.md
41
- - CLAUDE.md
42
38
  - LICENSE.txt
43
39
  - README.md
44
- - Rakefile
45
40
  - lib/generators/trackdown/install_generator.rb
46
41
  - lib/generators/trackdown/templates/trackdown.rb
47
42
  - lib/generators/trackdown/templates/trackdown_database_refresh_job.rb
48
43
  - lib/trackdown.rb
49
44
  - lib/trackdown/configuration.rb
45
+ - lib/trackdown/database_fingerprint.rb
50
46
  - lib/trackdown/database_updater.rb
51
47
  - lib/trackdown/error.rb
52
48
  - lib/trackdown/ip_locator.rb
@@ -55,9 +51,9 @@ files:
55
51
  - lib/trackdown/providers/auto_provider.rb
56
52
  - lib/trackdown/providers/base_provider.rb
57
53
  - lib/trackdown/providers/cloudflare_provider.rb
54
+ - lib/trackdown/providers/cloudfront_provider.rb
58
55
  - lib/trackdown/providers/maxmind_provider.rb
59
56
  - lib/trackdown/version.rb
60
- - sig/trackdown.rbs
61
57
  homepage: https://github.com/rameerez/trackdown
62
58
  licenses:
63
59
  - MIT
@@ -74,7 +70,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
74
70
  requirements:
75
71
  - - ">="
76
72
  - !ruby/object:Gem::Version
77
- version: 3.0.0
73
+ version: 3.1.0
78
74
  required_rubygems_version: !ruby/object:Gem::Requirement
79
75
  requirements:
80
76
  - - ">="
@@ -83,6 +79,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
79
  requirements: []
84
80
  rubygems_version: 3.6.2
85
81
  specification_version: 4
86
- summary: Get country, city, and emoji flag information for IP addresses using Cloudflare
87
- or MaxMind
82
+ summary: Geolocate IP addresses using verified Cloudflare or CloudFront headers, or
83
+ MaxMind
88
84
  test_files: []
data/.simplecov DELETED
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- SimpleCov.start do
4
- formatter SimpleCov::Formatter::SimpleFormatter
5
-
6
- add_filter "/test/"
7
-
8
- track_files "{lib,app}/**/*.rb"
9
-
10
- enable_coverage :branch
11
-
12
- minimum_coverage line: 80, branch: 65
13
-
14
- command_name "Job #{ENV['TEST_ENV_NUMBER']}" if ENV['TEST_ENV_NUMBER']
15
- end
16
-
17
- SimpleCov.at_exit do
18
- SimpleCov.result.format!
19
- puts "\n" + "=" * 60
20
- puts "COVERAGE SUMMARY"
21
- puts "=" * 60
22
- puts "Line Coverage: #{SimpleCov.result.covered_percent.round(2)}%"
23
- puts "Branch Coverage: #{SimpleCov.result.coverage_statistics[:branch]&.percent&.round(2) || 'N/A'}%"
24
- puts "=" * 60
25
- end
data/AGENTS.md DELETED
@@ -1,5 +0,0 @@
1
- # AGENTS.md
2
-
3
- This file provides guidance to AI agents (OpenAI Codex, Claude Code, etc.) when working with code in this repository.
4
-
5
- Please go ahead and read the full context for this project at `.cursor/rules/0-overview.mdc` and `.cursor/rules/1-quality.mdc` now
data/CLAUDE.md DELETED
@@ -1,5 +0,0 @@
1
- # CLAUDE.md
2
-
3
- This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
-
5
- Please go ahead and read the full context for this project at `.cursor/rules/0-overview.mdc` and `.cursor/rules/1-quality.mdc` now
data/Rakefile DELETED
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "bundler/gem_tasks"
4
- require "rake/testtask"
5
-
6
- Rake::TestTask.new(:test) do |t|
7
- t.libs << "test"
8
- t.libs << "lib"
9
- t.test_files = FileList["test/**/*_test.rb"]
10
- end
11
-
12
- task default: :test
data/sig/trackdown.rbs DELETED
@@ -1,4 +0,0 @@
1
- module Trackdown
2
- VERSION: String
3
- # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
- end