pushkin-library 0.1.5 → 0.2.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
- SHA1:
3
- metadata.gz: d63bca932152d5300789620e58aed1cb32a6f29d
4
- data.tar.gz: 6489241bb5b0632c53c315b9e6b007924c6b1593
2
+ SHA256:
3
+ metadata.gz: 94132d3c11d5c6cff117e5c83b3d9bfbac99aeec8e91d2217b684be8216fbe93
4
+ data.tar.gz: 00ad79e22c5e20725a36806e7d85a883e304f189eabaa9f14a7329cf23fc2fbe
5
5
  SHA512:
6
- metadata.gz: 54261e0229655d0e8956d7c527cb571e8cef7fdbbdb4c465bfa519aa6dcd36154377ba5ca670c5f56b7c44a3f02a1eb5afe864c35ac770d7dfe9db0d6a5e6c75
7
- data.tar.gz: 61d1a58a89713a33bb07da65d8b4622d82d3967ce265696af6fe0e5a86562ceb36f46daed3508c54563ece57e6871fcad2f592fe1d9670339acc18e4b37aacc7
6
+ metadata.gz: 7604eca1d8badc7b1fb3f799e2577bf9bcf43b1ae1602ff854292f54b58cc0d9c17a238e99456054032cb15a0fed4026252ce6a08126bfbb968e490be577081b
7
+ data.tar.gz: c0c212881e6e93f37aa35f2e3ba646958d88295091e6023f06c382445c82a113df4b50076c9b5469f11cc82efab02fba238f63cea9323a9112e135f80d9332e5
@@ -2,7 +2,9 @@
2
2
  module Pushkin
3
3
  class Token < ApplicationRecord
4
4
 
5
- belongs_to :user, optional: true
5
+ belongs_to :user,
6
+ optional: true,
7
+ class_name: Pushkin::Configuration.instance.user_class_name
6
8
 
7
9
  validates :token, presence: true, uniqueness: { scope: :platform }
8
10
  validates :platform, presence: true
@@ -11,6 +13,7 @@ module Pushkin
11
13
  enum platform: [:android, :ios, :web]
12
14
 
13
15
  scope :active, -> { self.where(is_active: true) }
16
+ scope :with_not_active, -> { self.unscope(where: :is_active) }
14
17
 
15
18
  # По умолчанию нужно работать только с активными устройствами.
16
19
  default_scope { self.active }
@@ -6,7 +6,7 @@ module Pushkin
6
6
  STATUS_ERROR = "error"
7
7
 
8
8
  belongs_to :push_sending_result, optional: true
9
- belongs_to :token
9
+ belongs_to :token, -> { with_not_active }
10
10
 
11
11
  scope :invalid, -> { self.where(status: STATUS_INVALID) }
12
12
 
@@ -3,7 +3,8 @@ module Pushkin
3
3
  class TokensProviderUser < ApplicationRecord
4
4
 
5
5
  # Ссылка на пользователя
6
- belongs_to :user
6
+ belongs_to :user,
7
+ class_name: Pushkin::Configuration.instance.user_class_name
7
8
 
8
9
  # Ссылка на провайдер (Связывает уведомление и пользователей, которым нужно отправить уведомление)
9
10
  belongs_to :tokens_provider, optional: true
@@ -13,7 +13,9 @@ module Pushkin
13
13
  def setup_application
14
14
  file_name = "tokens_controller.rb"
15
15
  copy_file file_name, "app/controllers/pushkin/api/v1/#{file_name}"
16
- migration_template "create_pushkin_tables.rb", "db/migrate/create_pushkin_tables.rb"
16
+ migration_template "create_pushkin_tables.rb",
17
+ "db/migrate/create_pushkin_tables1.rb",
18
+ migration_version: migration_version
17
19
 
18
20
  route "namespace :pushkin do\n" +
19
21
  " namespace :api do\n" +
@@ -23,5 +25,9 @@ module Pushkin
23
25
  " end\n" +
24
26
  " end\n"
25
27
  end
28
+
29
+ def migration_version
30
+ "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
31
+ end
26
32
  end
27
33
  end
@@ -1,4 +1,4 @@
1
- class CreatePushkinTables < ActiveRecord::Migration[5.1]
1
+ class CreatePushkinTables < ActiveRecord::Migration<%= migration_version %>
2
2
  def change
3
3
  create_table :pushkin_tokens do |t|
4
4
  t.integer :user_id
@@ -3,11 +3,15 @@ module Pushkin
3
3
 
4
4
  include Singleton
5
5
 
6
- attr_accessor :fcm_server_key
6
+ attr_accessor :fcm_server_key, :user_class_name
7
7
 
8
8
  def fcm_server_key
9
9
  @fcm_server_key ||= ENV["FCM_SERVER_KEY"]
10
10
  end
11
11
 
12
+ def user_class_name
13
+ @user_class_name ||= "User"
14
+ end
15
+
12
16
  end
13
17
  end
@@ -1,3 +1,3 @@
1
1
  module Pushkin
2
- VERSION = '0.1.5'
2
+ VERSION = '0.2.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pushkin-library
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bazov Peter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-26 00:00:00.000000000 Z
11
+ date: 2020-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '5.0'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '6'
22
+ version: '7'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '5.0'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '6'
32
+ version: '7'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: faraday
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: '0.12'
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '0.16'
42
+ version: '2'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,7 +49,7 @@ dependencies:
49
49
  version: '0.12'
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '0.16'
52
+ version: '2'
53
53
  description: Library for planning and sending Push-Notifications on iOS, Android and
54
54
  Web
55
55
  email:
@@ -121,8 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0'
123
123
  requirements: []
124
- rubyforge_project:
125
- rubygems_version: 2.6.14
124
+ rubygems_version: 3.0.3
126
125
  signing_key:
127
126
  specification_version: 4
128
127
  summary: Push-Notifications Library