devise-web3 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: 23f6279d9f03f0ae35fca26cf93e9f09036aa241d86f51655cfb93ba2a1e9eac
4
- data.tar.gz: 8e2908eef867246d6729fe155d5bf2f799664897b8923e8d9834d30afa76e979
3
+ metadata.gz: 8b7d601a1bb5dbde83761481d45c26312a094bec9f2402492dcca3d0c6bd6ff1
4
+ data.tar.gz: 966885d97dfec348b2ddbb370eb54ed4ab136ef8fe95a228ae1fdde4fc17535c
5
5
  SHA512:
6
- metadata.gz: 8a320a4db75bb9c700b54c717faca48674b13af02527e1fcb9ea79e66f65131f54104d5d3187c960510e38c48735ea090fe4c5a596a1213ca574e1d9e353661a
7
- data.tar.gz: c127eb010e7c594d219cc959f85e20ba0e42f66bab31db06de71e4f3cadfda18ef358e0bf96bd1d0bf3aec7735293bbb8ccd572667f41e413145ae6425e2eef1
6
+ metadata.gz: feac226f0c0abc9049da5846035745521a63050fd24c3289e0db7a6e14ca8144db618ae8a79a303cab9bb4b60779b4db3f6df234d8b81b1600a18a11eb3720a3
7
+ data.tar.gz: 7f794ecd75037258717d9a7f4d6545e633c17daca0dacab2a9c92194e865c4a7560e29f3ae4f63e64715325137802d17be499da68cab4d537935c9cf9ccbe3ba
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- devise-web3 (0.2.0)
4
+ devise-web3 (0.4.0)
5
5
  devise (~> 4.0)
6
6
  eth (~> 0.5.15)
7
7
  redis
@@ -9,6 +9,6 @@ class Devise::NoncesController < DeviseController
9
9
  private
10
10
 
11
11
  def redis_store
12
- @redis_store ||= Devise::Web3::RedisStore.new(nil)
12
+ @redis_store ||= Devise::Web3::RedisStore.new
13
13
  end
14
14
  end
@@ -0,0 +1,7 @@
1
+ module Devise
2
+ module Web3
3
+ class Config
4
+ mattr_accessor :redis_url
5
+ end
6
+ end
7
+ end
@@ -1,5 +1,3 @@
1
- require 'redis'
2
-
3
1
  module Devise
4
2
  module Web3
5
3
  class Engine < ::Rails::Engine
@@ -8,8 +8,8 @@ module Devise
8
8
  TTL = 10.minutes.to_i
9
9
  NONCE_KEY = "web3-auth-nonce"
10
10
 
11
- def initialize(redis_url)
12
- @redis = Redis.new(url: redis_url)
11
+ def initialize
12
+ @redis = Redis.new(url: Devise::Web3::Config.redis_url)
13
13
  end
14
14
 
15
15
  def generate_nonce_with_id
@@ -3,7 +3,7 @@ module Devise
3
3
  module Strategies
4
4
  class Web3Authenticatable < Authenticatable
5
5
  def authenticate!
6
- redis_store = Devise::Web3::RedisStore.new(nil)
6
+ redis_store = Devise::Web3::RedisStore.new
7
7
 
8
8
  nonce = redis_store.fetch_nonce(nonce_id)
9
9
  return fail!("Nonce coldn't be found. Perhaps it's already expired") if nonce.blank?
@@ -1,5 +1,5 @@
1
1
  module Devise
2
2
  module Web3
3
- VERSION = "0.3.0"
3
+ VERSION = "0.4.0"
4
4
  end
5
5
  end
data/lib/devise/web3.rb CHANGED
@@ -7,12 +7,17 @@ require 'devise/web3/engine'
7
7
  require 'devise/web3/models/web3_authenticatable'
8
8
  require 'devise/web3/strategies/web3_authenticatable'
9
9
  require 'devise/web3/routes'
10
+ require 'devise/web3/config'
10
11
 
11
12
  module Devise
13
+ def self.web3
14
+ yield(Devise::Web3::Config)
15
+ end
12
16
 
13
17
  module Web3
14
18
  class Error < StandardError; end
15
19
 
20
+
16
21
  Devise.add_module :web3_authenticatable,
17
22
  strategy: true,
18
23
  model: 'devise/web3/models/web3_authenticatable',
@@ -0,0 +1,31 @@
1
+ module Devise
2
+ module Web3
3
+ class InstallGenerator < Rails::Generators::Base
4
+ source_root File.expand_path('../templates', __FILE__)
5
+ desc 'Add DeviseInvitable config variables to the Devise initializer and copy DeviseInvitable locale files to your application.'
6
+ INSTALL_CONTENT = <<-CONTENT
7
+ # ==> Configuration for :web3_authenticatable
8
+ # config.web3 do |web3|
9
+ # web3.redis_url = nil
10
+ # end
11
+
12
+ CONTENT
13
+
14
+ def add_config_options_to_initializer
15
+ devise_initializer_path = 'config/initializers/devise.rb'
16
+
17
+ if File.exist?(devise_initializer_path)
18
+ old_content = File.read(devise_initializer_path)
19
+
20
+ if old_content.match(Regexp.new(/^\s # config.web3 do/))
21
+ say_status(:identical, "Configuration for :web3_authenticatable already exists", :blue)
22
+ else
23
+ inject_into_file(devise_initializer_path, before: " # ==> Configuration for :confirmable\n") do
24
+ INSTALL_CONTENT
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise-web3
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
  - TheSmartnik
@@ -144,6 +144,7 @@ files:
144
144
  - bin/setup
145
145
  - devise-web3.gemspec
146
146
  - lib/devise/web3.rb
147
+ - lib/devise/web3/config.rb
147
148
  - lib/devise/web3/engine.rb
148
149
  - lib/devise/web3/models/web3_authenticatable.rb
149
150
  - lib/devise/web3/redis_store.rb
@@ -152,6 +153,8 @@ files:
152
153
  - lib/devise/web3/version.rb
153
154
  - lib/generators/active_record/devise_web3_generator.rb
154
155
  - lib/generators/active_record/templates/migration.rb
156
+ - lib/generators/devise/web3/install_generator.rb
157
+ - lib/generators/devise/web3/templates/install_config.rb
155
158
  homepage: https://thesmartnik.com
156
159
  licenses:
157
160
  - MIT