challah 1.5.0 → 1.6.0

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
  SHA1:
3
- metadata.gz: 5267d7f2cfbc84cb4a6af2c0d4a863ef8790a853
4
- data.tar.gz: cbf3accdb5a30c551041e0b749ce3fd7a3f84eb7
3
+ metadata.gz: 0c5d55264692dddf543d5c67c2590a56ca95ba7e
4
+ data.tar.gz: f1c1b7db86c25987bc4ec369a9928a6ff6a2043a
5
5
  SHA512:
6
- metadata.gz: 8849cba25a8264c34e120aa9c875040cac7aff7dc7a0f423b844098686f56544f66c973caaf089a018b5fd4bcbf7d7011ac972bb2124fb4ef888135eeea6b06b
7
- data.tar.gz: d4c31ad4cc1301412bce1f6ebbeb3b1a5b6b79cb65ecfdbbe26041db09c8ac1eedd9b3e38839ce5ccee2855c5acd98f28bdbc299bf2b84f11b35d860202dd106
6
+ metadata.gz: 66d518430ab8db7e27eb0bfd6ef23681b7d49af39eb20baf77c88b1ae6d403db85e4a972e0b852e9408800e9dba5323a345d9fff85c3930d5025a87c730d53ae
7
+ data.tar.gz: 272d606557225f242aa605c09e4ac76a62d5e19e8672b0861abe71a2eee10c97c55a48958b7468f25d0876f6370ed864ad99379561238860188357816e2c7091
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## Challah 1.6.0
2
+
3
+ * For token technique, don't bother checking the database for an empty token query param
4
+ * Add migration generator to account for Rails 5 migration inheritance syntax (`ActiveRecord::Migration[5.1]`)
5
+ * Minor testing updates
6
+ * Dependency updates, including renaming FactoryGirl to FactoryBot
7
+ * Readme typo [PR #32](https://github.com/jdtornow/challah/pull/34) @stevenschobert
8
+
1
9
  ## Challah 1.5.0
2
10
 
3
11
  * Extract status enum to separate concern [PR #32](https://github.com/jdtornow/challah/pull/32) @philtr
data/README.md CHANGED
@@ -10,7 +10,7 @@ Challah doesn't provide any fancy controllers or views that clutter your app or
10
10
 
11
11
  * Ruby 2.2.2+
12
12
  * Bundler
13
- * Rails 4.2+ (5.0 Recommended)
13
+ * Rails 5.0+ (4.2 still supported, but not recommended)
14
14
 
15
15
  ## Installation
16
16
 
@@ -35,7 +35,7 @@ This will copy over the necessary migrations to your app and migrate the databas
35
35
  If you would prefer to handle these steps manually, you can do so by using these rake tasks instead:
36
36
 
37
37
  ```bash
38
- rails challah:setup:migrations
38
+ rails g challah
39
39
  rails challah:unpack:user
40
40
  rails db:migrate
41
41
  ```
@@ -253,7 +253,7 @@ By default, the `first_name`, `last_name`, and `email` fields are required on th
253
253
 
254
254
  ```ruby
255
255
  # in config/initializers/challah.rb
256
- Challah[:skip_user_validations] = true
256
+ Challah.options[:skip_user_validations] = true
257
257
  ```
258
258
 
259
259
  ## Authorization Model
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.0
1
+ 1.6.0
@@ -18,6 +18,8 @@ module Challah
18
18
  # This is turned off by default and must be manually enabled for security reasons.
19
19
  return nil unless Challah.options[:token_enabled]
20
20
 
21
+ return nil unless token.present?
22
+
21
23
  if user = user_model.where(api_key: token).first
22
24
  if user.valid_session?
23
25
  return user
@@ -0,0 +1,23 @@
1
+ require "rails/generators/active_record"
2
+
3
+ class ChallahGenerator < Rails::Generators::Base
4
+
5
+ include ActiveRecord::Generators::Migration
6
+
7
+ source_root File.expand_path("../templates", __FILE__)
8
+
9
+ def copy_migration
10
+ migration_template "migration.rb", "db/migrate/challah_create_users.rb", migration_version: migration_version
11
+ end
12
+
13
+ def rails5?
14
+ Rails.version.start_with? "5"
15
+ end
16
+
17
+ def migration_version
18
+ if rails5?
19
+ "[#{ Rails::VERSION::MAJOR }.#{ Rails::VERSION::MINOR }]"
20
+ end
21
+ end
22
+
23
+ end
@@ -1,7 +1,6 @@
1
- class CreateUsers < ActiveRecord::Migration
2
-
1
+ class ChallahCreateUsers < ActiveRecord::Migration<%= migration_version %>
3
2
  def change
4
- create_table :users do |t|
3
+ create_table :users do |t|
5
4
  t.string :first_name
6
5
  t.string :last_name
7
6
  t.string :email
@@ -24,6 +23,22 @@ class CreateUsers < ActiveRecord::Migration
24
23
  add_index :users, :last_name
25
24
  add_index :users, :email
26
25
  add_index :users, :api_key
27
- end
28
26
 
27
+ create_table :authorizations do |t|
28
+ t.integer :user_id
29
+ t.string :provider, limit: 50
30
+ t.string :uid
31
+ t.string :token, limit: 500
32
+ t.datetime :expires_at
33
+ t.datetime :last_session_at
34
+ t.string :last_session_ip
35
+ t.integer :session_count, default: 0
36
+ t.timestamps null: true
37
+ end
38
+
39
+ add_index :authorizations, :user_id
40
+ add_index :authorizations, [ :user_id, :provider ]
41
+ add_index :authorizations, :uid
42
+ add_index :authorizations, :token
43
+ end
29
44
  end
data/lib/tasks/setup.rake CHANGED
@@ -3,6 +3,10 @@ namespace :challah do
3
3
  task :setup => [ "challah:setup:migrations", "challah:unpack:user", "db:migrate", "challah:banner" ]
4
4
 
5
5
  task :banner do
6
+ is_rails5 = Rails.version.start_with? "5"
7
+
8
+ cmd = is_rails5 ? "rails" : "rake"
9
+
6
10
  banner = <<-str
7
11
 
8
12
  ==========================================================================
@@ -15,7 +19,7 @@ namespace :challah do
15
19
 
16
20
  If you want to create a new user now, just run:
17
21
 
18
- rails challah:users:create
22
+ #{ cmd } challah:users:create
19
23
 
20
24
  ==========================================================================
21
25
 
@@ -26,8 +30,8 @@ namespace :challah do
26
30
 
27
31
  namespace :setup do
28
32
  task :migrations do
29
- puts "Copying migrations..."
30
- Rake::Task["challah_engine:install:migrations"].invoke
33
+ puts "Setting up migrations..."
34
+ sh "rails generate challah"
31
35
  end
32
36
  end
33
37
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: challah
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Tornow
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-01-04 00:00:00.000000000 Z
13
+ date: 2017-12-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: highline
@@ -80,28 +80,28 @@ dependencies:
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '3.4'
83
+ version: '3.7'
84
84
  type: :development
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: '3.4'
90
+ version: '3.7'
91
91
  - !ruby/object:Gem::Dependency
92
- name: factory_girl_rails
92
+ name: factory_bot_rails
93
93
  requirement: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '4.6'
97
+ version: '4.8'
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: '4.6'
104
+ version: '4.8'
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: sqlite3
107
107
  requirement: !ruby/object:Gem::Requirement
@@ -134,8 +134,6 @@ files:
134
134
  - app/views/sessions/access_denied.html.erb
135
135
  - app/views/sessions/new.html.erb
136
136
  - config/locales/en.yml
137
- - db/migrate/20120127150433_create_users.rb
138
- - db/migrate/20121116210759_create_authorizations.rb
139
137
  - lib/challah.rb
140
138
  - lib/challah/audit.rb
141
139
  - lib/challah/authenticators.rb
@@ -171,6 +169,8 @@ files:
171
169
  - lib/challah/validators/email_validator.rb
172
170
  - lib/challah/validators/password_validator.rb
173
171
  - lib/challah/version.rb
172
+ - lib/generators/challah_generator.rb
173
+ - lib/generators/templates/migration.rb
174
174
  - lib/tasks/crud.rake
175
175
  - lib/tasks/setup.rake
176
176
  - lib/tasks/unpack.rake
@@ -1,22 +0,0 @@
1
- class CreateAuthorizations < ActiveRecord::Migration
2
-
3
- def change
4
- create_table :authorizations do |t|
5
- t.integer :user_id
6
- t.string :provider, limit: 50
7
- t.string :uid
8
- t.string :token, limit: 500
9
- t.datetime :expires_at
10
- t.datetime :last_session_at
11
- t.string :last_session_ip
12
- t.integer :session_count, default: 0
13
- t.timestamps null: true
14
- end
15
-
16
- add_index :authorizations, :user_id
17
- add_index :authorizations, [ :user_id, :provider ]
18
- add_index :authorizations, :uid
19
- add_index :authorizations, :token
20
- end
21
-
22
- end