refer 1.0.2 → 1.0.4

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: a4e58649b749077a18161b08d1aa37957d51dbb7b9aa16e38adc1a20b9aa5877
4
- data.tar.gz: 88504a15fb41af9cb252672786cbfa3d98be7f6fdb11a7d1529d4ab87227f899
3
+ metadata.gz: 91e18770d147ea9f2fea478624dd409e4b22d3f656fb8b2a48ba370cbc9c0985
4
+ data.tar.gz: d57ac0f354306e11941261661a3c468314bc9e8df17186840c9c60515e8a06c2
5
5
  SHA512:
6
- metadata.gz: 0ba2c413666a47f0ade8d7225447bc8b9a1860a19d430cebabf14cda312644636831131e1e27f296c06b22348a62242e8f6c17fb4edbe666070387c484d7c4df
7
- data.tar.gz: 695b3b72061510117c98e9b5781a02d27f8f58cc10f8818e3eebb23ad8e215d9a7a54ff20bc86bd034a9ea7ef6c73f6fb14923b3dda8ff756b3d6a94a16076a1
6
+ metadata.gz: d1bf9dfadefbb59da1bcbae9de04a546ef4a9b38d1bd828bb96ff537ce3dc73194c54a23647f3529ff81ee474e0d78a49a8a9ae26d335dd2da6272acf9154dbd
7
+ data.tar.gz: 632b1254ae1678221cdee7edd9f174f5209f0b02b024f9f37b829053cfd0ca63b512f188c7507707974246a438271409fe9cbfa4b644eb6b863fa6684477e013
data/README.md CHANGED
@@ -176,6 +176,25 @@ To provide a reward X days after a successful referral, you can use a schedule j
176
176
 
177
177
  We recommend keeping records for each reward given to a referral so you can limit rewards.
178
178
 
179
+ ## Customizing Models
180
+
181
+ You can add features to Refer's models by using lazy load hooks.
182
+
183
+ ```ruby
184
+ # config/initializers/refer.rb
185
+ ActiveSupport.on_load :refer_referral do
186
+ # Add features to Refer::Referral model
187
+ end
188
+
189
+ ActiveSupport.on_load :refer_referral_code do
190
+ # Add features to Refer::ReferralCode model
191
+ end
192
+
193
+ ActiveSupport.on_load :refer_visit do
194
+ # Add features to Refer::Visit model
195
+ end
196
+ ```
197
+
179
198
  ## 🙏 Contributing
180
199
  If you have an issue you'd like to submit, please do so using the issue tracker in GitHub. In order for us to help you in the best way possible, please be as detailed as you can.
181
200
 
data/Rakefile CHANGED
@@ -3,6 +3,4 @@ require "bundler/setup"
3
3
  APP_RAKEFILE = File.expand_path("test/dummy/Rakefile", __dir__)
4
4
  load "rails/tasks/engine.rake"
5
5
 
6
- load "rails/tasks/statistics.rake"
7
-
8
6
  require "bundler/gem_tasks"
@@ -24,3 +24,5 @@ module Refer
24
24
  end
25
25
  end
26
26
  end
27
+
28
+ ActiveSupport.run_load_hooks :refer_referral, Refer::Referral
@@ -19,3 +19,5 @@ module Refer
19
19
  end
20
20
  end
21
21
  end
22
+
23
+ ActiveSupport.run_load_hooks :refer_referral_code, Refer::ReferralCode
@@ -14,3 +14,5 @@ module Refer
14
14
  end
15
15
  end
16
16
  end
17
+
18
+ ActiveSupport.run_load_hooks :refer_visit, Refer::Visit
data/lib/refer/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Refer
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.4"
3
3
  end
data/lib/refer.rb CHANGED
@@ -3,20 +3,18 @@ require "refer/engine"
3
3
  require "securerandom"
4
4
 
5
5
  module Refer
6
- include ActiveSupport::Configurable
7
-
8
6
  autoload :Controller, "refer/controller"
9
7
  autoload :HasReferrals, "refer/has_referrals"
10
8
  autoload :Model, "refer/model"
11
9
 
12
- config_accessor :code_generator, default: ->(referrer) { SecureRandom.alphanumeric(8) }
13
- config_accessor :cookie_length, default: 30.days
14
- config_accessor :cookie_name, default: :refer_code
15
- config_accessor :param_name, default: :ref
16
- config_accessor :overwrite_cookie, default: true
17
- config_accessor :track_visits, default: true
18
- config_accessor :mask_ips, default: true
19
- config_accessor :referral_completed
10
+ mattr_accessor :code_generator, default: ->(referrer) { SecureRandom.alphanumeric(8) }
11
+ mattr_accessor :cookie_length, default: 30.days
12
+ mattr_accessor :cookie_name, default: :refer_code
13
+ mattr_accessor :param_name, default: :ref
14
+ mattr_accessor :overwrite_cookie, default: true
15
+ mattr_accessor :track_visits, default: true
16
+ mattr_accessor :mask_ips, default: true
17
+ mattr_accessor :referral_completed
20
18
 
21
19
  class Error < StandardError; end
22
20
  class AlreadyReferred < Error; end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Oliver
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-01-07 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rails
@@ -60,7 +59,6 @@ metadata:
60
59
  homepage_uri: https://github.com/excid3/refer
61
60
  source_code_uri: https://github.com/excid3/refer
62
61
  changelog_uri: https://github.com/excid3/refer/blob/main/CHANGELOG.md
63
- post_install_message:
64
62
  rdoc_options: []
65
63
  require_paths:
66
64
  - lib
@@ -75,8 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
73
  - !ruby/object:Gem::Version
76
74
  version: '0'
77
75
  requirements: []
78
- rubygems_version: 3.5.23
79
- signing_key:
76
+ rubygems_version: 3.7.2
80
77
  specification_version: 4
81
78
  summary: Referral codes & affiliate links for Ruby on Rails apps
82
79
  test_files: []