rodauth-rails 1.4.1 → 1.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/README.md +30 -5
- data/lib/generators/rodauth/migration/sequel/base.erb +4 -1
- data/lib/generators/rodauth/templates/INSTRUCTIONS +11 -1
- data/lib/generators/rodauth/templates/app/mailers/rodauth_mailer.rb +38 -52
- data/lib/generators/rodauth/templates/app/misc/rodauth_main.rb +9 -6
- data/lib/generators/rodauth/templates/app/models/account.rb +1 -0
- data/lib/generators/rodauth/templates/app/views/rodauth/add_recovery_codes.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/change_login.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/change_password.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/close_account.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/confirm_password.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/create_account.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/email_auth.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/login.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/logout.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/multi_phase_login.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/otp_auth.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/otp_disable.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/otp_setup.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/recovery_auth.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/recovery_codes.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/remember.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/reset_password.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/reset_password_request.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/sms_auth.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/sms_confirm.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/sms_disable.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/sms_request.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/sms_setup.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/two_factor_auth.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/two_factor_disable.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/two_factor_manage.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/unlock_account.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/unlock_account_request.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/verify_account.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/verify_account_resend.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/verify_login_change.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/webauthn_auth.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/webauthn_remove.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth/webauthn_setup.html.erb +0 -2
- data/lib/generators/rodauth/templates/app/views/rodauth_mailer/verify_login_change.text.erb +2 -2
- data/lib/rodauth/rails/feature/render.rb +8 -1
- data/lib/rodauth/rails/version.rb +1 -1
- data/lib/rodauth/rails.rb +1 -1
- data/rodauth-rails.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 496b2621170adf123079ae52341d3f6d0b3a120c3fa9f81e1bd26886735c6808
|
4
|
+
data.tar.gz: eb1001f7835561714a134649b989c9cb0f09a5091e4b8d009650134f03d60470
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e6681a10e0d724656c2b27be02a59eebc107f8a13ebf39b5732696da9df6c6631fe8ac23601db12bb568923b339ee790800b96bb3a3c71a9978c8aa02becea9d
|
7
|
+
data.tar.gz: e802cd53015dc736395e5cdf1e7f2df3cb0174075da18af1ca5317867e33ad79d695c7d01d22acc2f581d33b578c2da88af0c91259db79bae85183a9316a2334
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,25 @@
|
|
1
|
+
## 1.5.1 (2022-06-19)
|
2
|
+
|
3
|
+
* Fix syntax for creating `citext` PG extension in Sequel base migration (@Empact)
|
4
|
+
|
5
|
+
## 1.5.0 (2022-06-11)
|
6
|
+
|
7
|
+
* Remove `content_for` calls from generated view templates (@janko)
|
8
|
+
|
9
|
+
* Set title instance variable to `@page_title` in generated configuration (@janko)
|
10
|
+
|
11
|
+
* Set title instance variable on the controller when `title_instance_variable` is set (@HoneyryderChuck)
|
12
|
+
|
13
|
+
## 1.4.2 (2022-05-15)
|
14
|
+
|
15
|
+
* Stop passing email addresses in mailer arguments on verifying login change (@janko)
|
16
|
+
|
17
|
+
* Extract finding account into a method in the generated mailer (@janko)
|
18
|
+
|
19
|
+
* Make generated Action Mailer integration work with secondary Rodauth configurations (@janko)
|
20
|
+
|
21
|
+
* Include `Rodauth::Rails.model` in generated Sequel account model as well (@janko)
|
22
|
+
|
1
23
|
## 1.4.1 (2022-05-08)
|
2
24
|
|
3
25
|
* Deprecate `Rodauth::Rails::Model` constant (@janko)
|
data/README.md
CHANGED
@@ -321,16 +321,26 @@ $ rails generate rodauth:views webauthn --name admin
|
|
321
321
|
|
322
322
|
#### Page titles
|
323
323
|
|
324
|
-
The generated
|
325
|
-
|
326
|
-
|
324
|
+
The generated configuration sets `title_instance_variable` to make page titles
|
325
|
+
available in your views via `@page_title` instance variable, which you can then
|
326
|
+
use in your layout:
|
327
327
|
|
328
|
+
```rb
|
329
|
+
# app/misc/rodauth_main.rb
|
330
|
+
class RodauthMain < Rodauth::Rails::Auth
|
331
|
+
configure do
|
332
|
+
# ...
|
333
|
+
title_instance_variable :@page_title
|
334
|
+
# ...
|
335
|
+
end
|
336
|
+
end
|
337
|
+
```
|
328
338
|
```erb
|
329
339
|
<!-- app/views/layouts/application.html.erb -->
|
330
340
|
<!DOCTYPE html>
|
331
341
|
<html>
|
332
342
|
<head>
|
333
|
-
<title><%=
|
343
|
+
<title><%= @page_title || "Default title" %></title>
|
334
344
|
<!-- ... -->
|
335
345
|
</head>
|
336
346
|
<body>
|
@@ -339,6 +349,21 @@ title:
|
|
339
349
|
</html>
|
340
350
|
```
|
341
351
|
|
352
|
+
If you're already setting page titles via `content_for`, you can use it in
|
353
|
+
generated Rodauth views, giving it the result of the corresponding
|
354
|
+
`*_page_title` method:
|
355
|
+
|
356
|
+
```erb
|
357
|
+
<!-- app/views/rodauth/login.html.erb -->
|
358
|
+
<%= content_for :page_title, rodauth.login_page_title %>
|
359
|
+
<!-- ... -->
|
360
|
+
```
|
361
|
+
```erb
|
362
|
+
<!-- app/views/rodauth/change_password.html.erb -->
|
363
|
+
<%= content_for :page_title, rodauth.change_password_page_title %>
|
364
|
+
<!-- ... -->
|
365
|
+
```
|
366
|
+
|
342
367
|
#### Layout
|
343
368
|
|
344
369
|
To use different layouts for different Rodauth views, you can compare the
|
@@ -489,7 +514,7 @@ into the account model, which defines a password attribute and associations for
|
|
489
514
|
tables used by enabled authentication features.
|
490
515
|
|
491
516
|
```rb
|
492
|
-
class Account <
|
517
|
+
class Account < ActiveRecord::Base # Sequel::Model
|
493
518
|
include Rodauth::Rails.model # or `Rodauth::Rails.model(:admin)`
|
494
519
|
end
|
495
520
|
```
|
@@ -31,7 +31,17 @@ Depending on your application's configuration some manual setup may be required:
|
|
31
31
|
|
32
32
|
* Not required for API-only Applications *
|
33
33
|
|
34
|
-
4.
|
34
|
+
4. Titles for Rodauth pages are available via @page_title instance variable
|
35
|
+
by default, you can use it in your layout file:
|
36
|
+
|
37
|
+
<head>
|
38
|
+
<title><%= @page_title || "Default title" %></title>
|
39
|
+
...
|
40
|
+
</head>
|
41
|
+
|
42
|
+
* Not required *
|
43
|
+
|
44
|
+
5. You can copy Rodauth views (for customization) to your app by running:
|
35
45
|
|
36
46
|
rails g rodauth:views
|
37
47
|
|
@@ -1,78 +1,64 @@
|
|
1
1
|
class RodauthMailer < ApplicationMailer
|
2
|
-
def verify_account(account_id, key)
|
3
|
-
@email_link =
|
4
|
-
|
5
|
-
@account = Account.find(account_id)
|
6
|
-
<% else -%>
|
7
|
-
@account = Account.with_pk!(account_id)
|
8
|
-
<% end -%>
|
2
|
+
def verify_account(name = nil, account_id, key)
|
3
|
+
@email_link = email_link(name, :verify_account, account_id, key)
|
4
|
+
@account = find_account(name, account_id)
|
9
5
|
|
10
|
-
mail to: @account.email, subject: rodauth.verify_account_email_subject
|
6
|
+
mail to: @account.email, subject: rodauth(name).verify_account_email_subject
|
11
7
|
end
|
12
8
|
|
13
|
-
def reset_password(account_id, key)
|
14
|
-
@email_link =
|
15
|
-
|
16
|
-
@account = Account.find(account_id)
|
17
|
-
<% else -%>
|
18
|
-
@account = Account.with_pk!(account_id)
|
19
|
-
<% end -%>
|
9
|
+
def reset_password(name = nil, account_id, key)
|
10
|
+
@email_link = email_link(name, :reset_password, account_id, key)
|
11
|
+
@account = find_account(name, account_id)
|
20
12
|
|
21
|
-
mail to: @account.email, subject: rodauth.reset_password_email_subject
|
13
|
+
mail to: @account.email, subject: rodauth(name).reset_password_email_subject
|
22
14
|
end
|
23
15
|
|
24
|
-
def verify_login_change(
|
25
|
-
@
|
26
|
-
@
|
27
|
-
@
|
28
|
-
<% if defined?(ActiveRecord::Railtie) -%>
|
29
|
-
@account = Account.find(account_id)
|
30
|
-
<% else -%>
|
31
|
-
@account = Account.with_pk!(account_id)
|
32
|
-
<% end -%>
|
16
|
+
def verify_login_change(name = nil, account_id, key)
|
17
|
+
@email_link = email_link(name, :verify_login_change, account_id, key)
|
18
|
+
@account = find_account(name, account_id)
|
19
|
+
@new_email = @account.login_change_key.login
|
33
20
|
|
34
|
-
mail to:
|
21
|
+
mail to: @new_email, subject: rodauth(name).verify_login_change_email_subject
|
35
22
|
end
|
36
23
|
|
37
|
-
def password_changed(account_id)
|
38
|
-
|
39
|
-
@account = Account.find(account_id)
|
40
|
-
<% else -%>
|
41
|
-
@account = Account.with_pk!(account_id)
|
42
|
-
<% end -%>
|
24
|
+
def password_changed(name = nil, account_id)
|
25
|
+
@account = find_account(name, account_id)
|
43
26
|
|
44
|
-
mail to: @account.email, subject: rodauth.password_changed_email_subject
|
27
|
+
mail to: @account.email, subject: rodauth(name).password_changed_email_subject
|
45
28
|
end
|
46
29
|
|
47
|
-
# def email_auth(account_id, key)
|
48
|
-
# @email_link =
|
49
|
-
|
50
|
-
# @account = Account.find(account_id)
|
51
|
-
<% else -%>
|
52
|
-
# @account = Account.with_pk!(account_id)
|
53
|
-
<% end -%>
|
30
|
+
# def email_auth(name = nil, account_id, key)
|
31
|
+
# @email_link = email_link(name, :email_auth, account_id, key)
|
32
|
+
# @account = find_account(name, account_id)
|
54
33
|
|
55
|
-
# mail to: @account.email, subject: rodauth.email_auth_email_subject
|
34
|
+
# mail to: @account.email, subject: rodauth(name).email_auth_email_subject
|
56
35
|
# end
|
57
36
|
|
58
|
-
# def unlock_account(account_id, key)
|
59
|
-
# @email_link =
|
60
|
-
|
61
|
-
# @account = Account.find(account_id)
|
62
|
-
<% else -%>
|
63
|
-
# @account = Account.with_pk!(account_id)
|
64
|
-
<% end -%>
|
37
|
+
# def unlock_account(name = nil, account_id, key)
|
38
|
+
# @email_link = email_link(name, :unlock_account, account_id, key)
|
39
|
+
# @account = find_account(name, account_id)
|
65
40
|
|
66
|
-
# mail to: @account.email, subject: rodauth.unlock_account_email_subject
|
41
|
+
# mail to: @account.email, subject: rodauth(name).unlock_account_email_subject
|
67
42
|
# end
|
68
43
|
|
69
44
|
private
|
70
45
|
|
71
|
-
def
|
72
|
-
|
46
|
+
def find_account(_name, account_id)
|
47
|
+
<% if defined?(ActiveRecord::Railtie) -%>
|
48
|
+
Account.find(account_id)
|
49
|
+
<% else -%>
|
50
|
+
Account.with_pk!(account_id)
|
51
|
+
<% end -%>
|
52
|
+
end
|
53
|
+
|
54
|
+
def email_link(name, action, account_id, key)
|
55
|
+
instance = rodauth(name)
|
56
|
+
instance.instance_variable_set(:@account, { id: account_id })
|
57
|
+
instance.instance_variable_set(:"@#{action}_key_value", key)
|
58
|
+
instance.public_send(:"#{action}_email_link")
|
73
59
|
end
|
74
60
|
|
75
|
-
def rodauth(name
|
61
|
+
def rodauth(name)
|
76
62
|
RodauthApp.rodauth(name).allocate
|
77
63
|
end
|
78
64
|
end
|
@@ -31,6 +31,9 @@ class RodauthMain < Rodauth::Rails::Auth
|
|
31
31
|
# Specify the controller used for view rendering and CSRF verification.
|
32
32
|
rails_controller { RodauthController }
|
33
33
|
|
34
|
+
# Set on Rodauth controller with the title of the current page.
|
35
|
+
title_instance_variable :@page_title
|
36
|
+
|
34
37
|
# Store account status in an integer column without foreign key constraint.
|
35
38
|
account_status_column :status
|
36
39
|
|
@@ -56,22 +59,22 @@ class RodauthMain < Rodauth::Rails::Auth
|
|
56
59
|
# ==> Emails
|
57
60
|
# Use a custom mailer for delivering authentication emails.
|
58
61
|
create_reset_password_email do
|
59
|
-
RodauthMailer.reset_password(account_id, reset_password_key_value)
|
62
|
+
RodauthMailer.reset_password(*self.class.configuration_name, account_id, reset_password_key_value)
|
60
63
|
end
|
61
64
|
create_verify_account_email do
|
62
|
-
RodauthMailer.verify_account(account_id, verify_account_key_value)
|
65
|
+
RodauthMailer.verify_account(*self.class.configuration_name, account_id, verify_account_key_value)
|
63
66
|
end
|
64
67
|
create_verify_login_change_email do |_login|
|
65
|
-
RodauthMailer.verify_login_change(
|
68
|
+
RodauthMailer.verify_login_change(*self.class.configuration_name, account_id, verify_login_change_key_value)
|
66
69
|
end
|
67
70
|
create_password_changed_email do
|
68
|
-
RodauthMailer.password_changed(account_id)
|
71
|
+
RodauthMailer.password_changed(*self.class.configuration_name, account_id)
|
69
72
|
end
|
70
73
|
# create_email_auth_email do
|
71
|
-
# RodauthMailer.email_auth(account_id, email_auth_key_value)
|
74
|
+
# RodauthMailer.email_auth(*self.class.configuration_name, account_id, email_auth_key_value)
|
72
75
|
# end
|
73
76
|
# create_unlock_account_email do
|
74
|
-
# RodauthMailer.unlock_account(account_id, unlock_account_key_value)
|
77
|
+
# RodauthMailer.unlock_account(*self.class.configuration_name, account_id, unlock_account_key_value)
|
75
78
|
# end
|
76
79
|
send_email do |email|
|
77
80
|
# queue email delivery on the mailer after the transaction commits
|
@@ -1,5 +1,3 @@
|
|
1
|
-
<% content_for :title, rodauth.confirm_password_page_title %>
|
2
|
-
|
3
1
|
<%= form_with url: rodauth.confirm_password_path, method: :post, data: { turbo: false } do |form| %>
|
4
2
|
<div class="form-group mb-3">
|
5
3
|
<%= form.label "password", rodauth.password_label, class: "form-label" %>
|
@@ -1,5 +1,3 @@
|
|
1
|
-
<% content_for :title, rodauth.otp_setup_page_title %>
|
2
|
-
|
3
1
|
<%= form_with url: rodauth.otp_setup_path, method: :post, data: { turbo: false } do |form| %>
|
4
2
|
<%= form.hidden_field rodauth.otp_setup_param, value: rodauth.otp_user_key, id: "otp-key" %>
|
5
3
|
<%= form.hidden_field rodauth.otp_setup_raw_param, value: rodauth.otp_key, id: "otp-hmac-secret" if rodauth.otp_keys_use_hmac? %>
|
@@ -1,5 +1,3 @@
|
|
1
|
-
<% content_for :title, rodauth.recovery_auth_page_title %>
|
2
|
-
|
3
1
|
<%= form_with url: rodauth.recovery_auth_path, method: :post, data: { turbo: false } do |form| %>
|
4
2
|
<div class="form-group mb-3">
|
5
3
|
<%= form.label "recovery-code", rodauth.recovery_codes_label, class: "form-label" %>
|
@@ -1,5 +1,3 @@
|
|
1
|
-
<% content_for :title, rodauth.verify_login_change_page_title %>
|
2
|
-
|
3
1
|
<%= form_with url: rodauth.verify_login_change_path, method: :post, data: { turbo: false } do |form| %>
|
4
2
|
<div class="form-group mb-3">
|
5
3
|
<%= form.submit rodauth.verify_login_change_button, class: "btn btn-primary" %>
|
@@ -1,5 +1,3 @@
|
|
1
|
-
<% content_for :title, rodauth.webauthn_auth_page_title %>
|
2
|
-
|
3
1
|
<% cred = rodauth.webauth_credential_options_for_get %>
|
4
2
|
|
5
3
|
<%= form_with url: rodauth.webauthn_auth_form_path, method: :post, id: "webauthn-auth-form", data: { credential_options: cred.as_json.to_json, turbo: false } do |form| %>
|
@@ -1,5 +1,3 @@
|
|
1
|
-
<% content_for :title, rodauth.webauthn_remove_page_title %>
|
2
|
-
|
3
1
|
<%= form_with url: rodauth.webauthn_remove_path, method: :post, id: "webauthn-remove-form", data: { turbo: false } do |form| %>
|
4
2
|
<% if rodauth.two_factor_modifications_require_password? %>
|
5
3
|
<div class="form-group mb-3">
|
@@ -1,5 +1,3 @@
|
|
1
|
-
<% content_for :title, rodauth.webauthn_setup_page_title %>
|
2
|
-
|
3
1
|
<% cred = rodauth.new_webauthn_credential %>
|
4
2
|
|
5
3
|
<%= form_with url: rodauth.webauthn_setup_path, method: :post, id: "webauthn-setup-form", data: { credential_options: cred.as_json.to_json, turbo: false } do |form| %>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
Someone with an account has requested their login be changed to this email address:
|
2
2
|
|
3
|
-
Old email: <%= @
|
3
|
+
Old email: <%= @account.email %>
|
4
4
|
|
5
|
-
New email: <%= @
|
5
|
+
New email: <%= @new_email %>
|
6
6
|
|
7
7
|
If you did not request this login change, please ignore this message. If you
|
8
8
|
requested this login change, please go to
|
@@ -8,7 +8,8 @@ module Rodauth
|
|
8
8
|
|
9
9
|
# Renders templates with layout. First tries to render a user-defined
|
10
10
|
# template, otherwise falls back to Rodauth's template.
|
11
|
-
def view(page,
|
11
|
+
def view(page, title)
|
12
|
+
set_title(title)
|
12
13
|
rails_render(action: page.tr("-", "_"), layout: true) ||
|
13
14
|
rails_render(html: super.html_safe, layout: true, formats: :html)
|
14
15
|
end
|
@@ -50,6 +51,12 @@ module Rodauth
|
|
50
51
|
html = html.gsub(/<form(.+)>/, '<form\1 data-turbo="false">') if meth == :view
|
51
52
|
html
|
52
53
|
end
|
54
|
+
|
55
|
+
def set_title(title)
|
56
|
+
if title_instance_variable
|
57
|
+
rails_controller_instance.instance_variable_set(title_instance_variable, title)
|
58
|
+
end
|
59
|
+
end
|
53
60
|
end
|
54
61
|
end
|
55
62
|
end
|
data/lib/rodauth/rails.rb
CHANGED
@@ -16,7 +16,7 @@ module Rodauth
|
|
16
16
|
@middleware = true
|
17
17
|
|
18
18
|
class << self
|
19
|
-
def rodauth(name = nil,
|
19
|
+
def rodauth(name = nil, account: nil, **options)
|
20
20
|
auth_class = app.rodauth!(name)
|
21
21
|
|
22
22
|
unless auth_class.features.include?(:internal_request)
|
data/rodauth-rails.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.add_dependency "rodauth", "~> 2.23"
|
21
21
|
spec.add_dependency "roda", "~> 3.55"
|
22
22
|
spec.add_dependency "sequel-activerecord_connection", "~> 1.1"
|
23
|
-
spec.add_dependency "rodauth-model", "~> 0.
|
23
|
+
spec.add_dependency "rodauth-model", "~> 0.2"
|
24
24
|
spec.add_dependency "tilt"
|
25
25
|
spec.add_dependency "bcrypt"
|
26
26
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rodauth-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Janko Marohnić
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -78,14 +78,14 @@ dependencies:
|
|
78
78
|
requirements:
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: '0.
|
81
|
+
version: '0.2'
|
82
82
|
type: :runtime
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: '0.
|
88
|
+
version: '0.2'
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
90
|
name: tilt
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|