rails_url_shortener 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 47080dc11acdaa0241ee52957569c21edbd5601520c0d38ec6af35235f908b93
4
- data.tar.gz: 269295c42a9401047337940703d692514b93273d933556b8f6672ce06f636d49
3
+ metadata.gz: bada11c316875a094b6bb41ca076db3adc1b52bf277206cea1a910b4505974b3
4
+ data.tar.gz: 3ceae3dc8be6b256b83b196b6602ae65f07c6e17d885bf7eb0308127b4a18356
5
5
  SHA512:
6
- metadata.gz: 64af1ffcb6346cf73b6cbfa5b16df9fc376bfa8c787db032f8207df12ad9bc772ab794d997eb3a2f091ad57dac510d1f0f42a6fae4115a0d553dccc4d73f53a0
7
- data.tar.gz: b012dfa013e104668245ceca19e4d4834684cf8552a1699e14af8729f1c8b60fbc6ce94c301f0bab61b6570ab17bc2b5f5c763605b1c28dd8101e4a1906fe3e5
6
+ metadata.gz: a9081dbc5d20f346df7e9f712a509f11e6e358a13e6309ced32a8f88ea6b3ebbde0e3ef0a702b1c1e39bfd11c441122b863d73f4dba7780e920e3ebf771f6bf5
7
+ data.tar.gz: 354c754d94b1cd677523d2f4bfde370722311b584fd041ee8a2272930d2df3c09a8e18f64501d12ed8aca4a833b2b302767fb20e1b85c402af06f64dc80bb215
data/README.md CHANGED
@@ -1,3 +1,9 @@
1
+
2
+ [![Ruby on Rails CI](https://github.com/a-chacon/rails-url-shortener/actions/workflows/rubyonrails.yml/badge.svg)](https://github.com/a-chacon/rails-url-shortener/actions/workflows/rubyonrails.yml)
3
+ ![Gem Version](https://img.shields.io/gem/v/rails_url_shortener)
4
+
5
+ ![GitHub License](https://img.shields.io/github/license/a-chacon/rails_url_shortener)
6
+
1
7
  # RailsUrlShortener
2
8
 
3
9
  RailsUrlShortener is a small Rails engine that provides your app with short URL functionality and IP logging capabilities - like having your own Bitly service. By default, RailsUrlShortener saves all visits to your links for future analysis or other interesting uses.
@@ -33,29 +33,27 @@ module RailsUrlShortener
33
33
  # Parse a request information and save
34
34
  #
35
35
  # Return boolean
36
-
36
+ # rubocop:disable Metrics/AbcSize
37
37
  def self.parse_and_save(url, request)
38
- # browser detection
39
38
  browser(request)
40
- if !RailsUrlShortener.save_bots_visits && @browser.bot?
41
- false
42
- else
43
- # save
44
- visit = Visit.create(
45
- url: url,
46
- ip: request.ip,
47
- browser: @browser.name,
48
- browser_version: @browser.full_version,
49
- platform: @browser.platform.name,
50
- platform_version: @browser.platform.version,
51
- bot: @browser.bot?,
52
- user_agent: request.headers['User-Agent']
53
- )
54
- # We enqueue a job for get more data later
55
- IpCrawlerJob.perform_later(visit)
56
- visit
57
- end
39
+ return false if !RailsUrlShortener.save_bots_visits && @browser.bot?
40
+
41
+ visit = Visit.create(
42
+ url: url,
43
+ ip: request.ip,
44
+ browser: @browser.name,
45
+ browser_version: @browser.full_version,
46
+ platform: @browser.platform.name,
47
+ platform_version: @browser.platform.version,
48
+ bot: @browser.bot?,
49
+ user_agent: request.headers['User-Agent'],
50
+ referer: request.headers['Referer']
51
+ )
52
+
53
+ IpCrawlerJob.perform_later(visit)
54
+ visit
58
55
  end
56
+ # rubocop:enable Metrics/AbcSize
59
57
 
60
58
  def self.browser(request)
61
59
  @browser = Browser.new(request.headers['User-Agent'])
@@ -0,0 +1,5 @@
1
+ class AddRefererToVistis < ActiveRecord::Migration[7.0]
2
+ def change
3
+ add_column :rails_url_shortener_visits, :referer, :string, default: ""
4
+ end
5
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsUrlShortener
4
- VERSION = '0.3.0'
4
+ VERSION = '0.4.0'
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_url_shortener
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
  - a-chacon
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-03-16 00:00:00.000000000 Z
10
+ date: 2025-05-08 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: browser
@@ -62,6 +62,7 @@ files:
62
62
  - db/migrate/20220407202526_create_rails_url_shortener_urls.rb
63
63
  - db/migrate/20220407202539_create_rails_url_shortener_visits.rb
64
64
  - db/migrate/20220418184647_create_rails_url_shortener_ipgeos.rb
65
+ - db/migrate/20250508120951_add_referer_to_vistis.rb
65
66
  - lib/generators/rails_url_shortener/rails_url_shortener_generator.rb
66
67
  - lib/generators/rails_url_shortener/templates/initializer.rb
67
68
  - lib/rails_url_shortener.rb
@@ -73,9 +74,9 @@ licenses:
73
74
  - GPL-3.0
74
75
  metadata:
75
76
  bug_tracker_uri: https://www.github.com/a-chacon/rails-url-shortener/issues
76
- changelog_uri: https://www.github.com/a-chacon/rails-url-shortener/releases/tag/v0.3.0
77
+ changelog_uri: https://www.github.com/a-chacon/rails-url-shortener/releases/tag/v0.4.0
77
78
  documentation_uri: https://github.com/a-chacon/rails-url-shortener/blob/main/README.md
78
- source_code_uri: https://github.com/a-chacon/rails-url-shortener/tree/v0.3.0
79
+ source_code_uri: https://github.com/a-chacon/rails-url-shortener/tree/v0.4.0
79
80
  rubygems_mfa_required: 'true'
80
81
  rdoc_options: []
81
82
  require_paths: