refer 1.0.0 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d15eaaaf713682be3a0baa1dcf1a8152d5e26fd21e3efd979c94446811b2b015
4
- data.tar.gz: 7e073982ea5562f86928538e6e75f1283a01c8f16ce094c9097a86b30c6fe344
3
+ metadata.gz: a4e58649b749077a18161b08d1aa37957d51dbb7b9aa16e38adc1a20b9aa5877
4
+ data.tar.gz: 88504a15fb41af9cb252672786cbfa3d98be7f6fdb11a7d1529d4ab87227f899
5
5
  SHA512:
6
- metadata.gz: b0fcd6b0b868db46dbd2f874f0677e3473bf718b16878aa45cd1cce36e814e340072fe8a26ebc4602479d48f383d2bd882724f3726e36be3c62b6074f29ab6cb
7
- data.tar.gz: ae3f4f3a5edeef1cbd0951f65c984c32e7b6f75bd93118f57c19332611ec3972f33ad4de3ce02943bcf179e8d5067166c568c15eeeedb3df7c3f52addb9f4a3c
6
+ metadata.gz: 0ba2c413666a47f0ade8d7225447bc8b9a1860a19d430cebabf14cda312644636831131e1e27f296c06b22348a62242e8f6c17fb4edbe666070387c484d7c4df
7
+ data.tar.gz: 695b3b72061510117c98e9b5781a02d27f8f58cc10f8818e3eebb23ad8e215d9a7a54ff20bc86bd034a9ea7ef6c73f6fb14923b3dda8ff756b3d6a94a16076a1
@@ -10,6 +10,12 @@ module Refer
10
10
  self.referrer = referral_code&.referrer
11
11
  end
12
12
 
13
+ validate :ensure_not_self_referral
14
+
15
+ def ensure_not_self_referral
16
+ errors.add(:base, "Self-referrals are not allowed") if referrer == referee
17
+ end
18
+
13
19
  def complete!(**attributes)
14
20
  return if completed_at?
15
21
 
data/lib/refer/model.rb CHANGED
@@ -3,10 +3,10 @@ module Refer
3
3
  extend ActiveSupport::Concern
4
4
 
5
5
  included do
6
- has_many :referral_codes, inverse_of: :referrer, class_name: "Refer::ReferralCode", dependent: :destroy
7
- has_many :referrals, inverse_of: :referrer, class_name: "Refer::Referral", dependent: :destroy
8
- has_one :referral, inverse_of: :referee, class_name: "Refer::Referral", dependent: :destroy
9
- delegate :referrer, to: :referral
6
+ has_many :referral_codes, as: :referrer, class_name: "Refer::ReferralCode", dependent: :destroy
7
+ has_many :referrals, as: :referrer, class_name: "Refer::Referral", dependent: :destroy
8
+ has_one :referral, as: :referee, class_name: "Refer::Referral", dependent: :destroy
9
+ delegate :referrer, to: :referral, allow_nil: true
10
10
  end
11
11
  end
12
12
  end
data/lib/refer/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Refer
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Oliver
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-12 00:00:00.000000000 Z
11
+ date: 2025-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -75,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  requirements: []
78
- rubygems_version: 3.5.22
78
+ rubygems_version: 3.5.23
79
79
  signing_key:
80
80
  specification_version: 4
81
81
  summary: Referral codes & affiliate links for Ruby on Rails apps