passwd 0.1.2 → 0.1.3

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
  SHA1:
3
- metadata.gz: 5f91e14eb692efe0d90d138bcc541788aec69c12
4
- data.tar.gz: 67a298fe7246b5470272e55b11427262f44a245d
3
+ metadata.gz: fcb00a834c359109c28cbe26c845b8baa2ec93b7
4
+ data.tar.gz: 07cff7e7538f4f59889fecad96ab0715edd9ee05
5
5
  SHA512:
6
- metadata.gz: 24d8d2da30dcd3cb480d114e0f637f594319095d21c7383071bb745217c374d14f0a7625f95c829d0389a1f62f20206f0028914a6f96d39e153636e24825cf9d
7
- data.tar.gz: d11e78fc3350d5003e0fe96cde72fe13694ad4149997f41e6c73b0bd4105a9393114df219838e6977c32b91cfe98d6d7eb3ecff7fc70b30576146744b005da4d
6
+ metadata.gz: cc8ac70bace4de95e9ae1d9d6f05b16843b1c27d3c2af09b748c38100db9f79105a991da929a387b9bf76733b57a7885d98238fccc27f9b7b9b5ca5bd5af804b
7
+ data.tar.gz: b53e2c20abb856f932de3612a63f0cde50d6d7498ec233b7bc2a3652899c6420d63801ee5e1901c1adf7b32b0a9c6a5040f462d4ce3ab7ac21cce4dc0f20d1f9
data/README.md CHANGED
@@ -185,13 +185,16 @@ Return the nil if authentication fails.
185
185
  But `update_password` method doesn't call `save` method.
186
186
 
187
187
  ```ruby
188
- user.find(params[:id])
189
- if user.update_password(old_pass, new_pass) # => return new password(text) or false
190
- if user.save
188
+ @user = User.find(params[:id])
189
+
190
+ if Passwd.confirm_check(params[:new_pass], params[:new_pass_confirm])
191
+ if @user.update_password(old_pass, new_pass) && @user.save # => return new password(text) or false
191
192
  NoticeMailer.change_mail(user, password_text).deliver
193
+ else
194
+ puts "Authentication failed!"
192
195
  end
193
196
  else
194
- puts "Authentication failed!"
197
+ puts "Password don't match!"
195
198
  end
196
199
  ```
197
200
 
@@ -28,6 +28,12 @@ module Passwd
28
28
  Digest::SHA1.hexdigest plain
29
29
  end
30
30
 
31
+ def confirm_check(password, confirm, with_policy=false)
32
+ return false if password != confirm
33
+ return true unless with_policy
34
+ Passwd.policy_check(password)
35
+ end
36
+
31
37
  def configure(options={}, &block)
32
38
  if block_given?
33
39
  @config.configure &block
@@ -1,5 +1,5 @@
1
1
  # coding: utf-8
2
2
 
3
3
  module Passwd
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.3"
5
5
  end
@@ -0,0 +1,28 @@
1
+ namespace :user do
2
+ # E.G. rake name="Taro Suzuki" email=taro@example.com password=secret user:create
3
+ desc "create user (specify env of name and email and password)"
4
+ task :create => :environment do
5
+ raise ArgumentError, "email is required" if ENV["email"].nil?
6
+ raise ArgumentError, "name is required" if ENV["name"].nil?
7
+
8
+ raise "must be a unique email" if User.exists?(email: ENV["email"])
9
+
10
+ user = User.new(name: ENV["name"], email: ENV["email"])
11
+
12
+ password = user.set_password(ENV["password"])
13
+ user.save!
14
+ puts "Creating a user was successful.\nPassword: #{password}"
15
+ end
16
+
17
+ # E.G. rake email=taro@example.com password=secret user:password_update
18
+ desc "update password (specify env of email and password)"
19
+ task :password_update => :environment do
20
+ raise ArgumentError, "email is required" if ENV["email"].nil?
21
+ raise "must specify the email that exists" unless User.exists?(email: ENV["email"])
22
+
23
+ user = User.find_by(email: ENV["email"])
24
+ password = user.set_password(ENV["password"])
25
+ user.save!
26
+ puts "Password update was successful.\nPassword: #{password}"
27
+ end
28
+ end
@@ -79,6 +79,28 @@ describe Passwd do
79
79
  end
80
80
  end
81
81
 
82
+ describe "#confirm_check" do
83
+ context "with out policy check" do
84
+ it "return false if password don't match" do
85
+ expect(Passwd.confirm_check("secret", "invalid")).to be_false
86
+ end
87
+
88
+ it "return true if password matches" do
89
+ expect(Passwd.confirm_check("secret", "secret")).to be_true
90
+ end
91
+ end
92
+
93
+ context "with policy check" do
94
+ it "return false if invalid password by policy" do
95
+ expect(Passwd.confirm_check("secret", "secret", true)).to be_false
96
+ end
97
+
98
+ it "return true if valid password by policy" do
99
+ expect(Passwd.confirm_check("secretpass", "secretpass", true)).to be_false
100
+ end
101
+ end
102
+ end
103
+
82
104
  describe "#configure" do
83
105
  it "return configuration object" do
84
106
  expect(Passwd.configure.is_a? Passwd::Config).to be_true
@@ -2,7 +2,11 @@ require "simplecov"
2
2
  require "coveralls"
3
3
  Coveralls.wear!
4
4
 
5
- # SimpleCov.formatter = SimpleCov::Formatter::HTMLFormatter
5
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
6
+ SimpleCov::Formatter::HTMLFormatter,
7
+ Coveralls::SimpleCov::Formatter
8
+ ]
9
+
6
10
  SimpleCov.start do
7
11
  add_filter "spec"
8
12
  add_filter ".bundle"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: passwd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - i2bskn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-31 00:00:00.000000000 Z
11
+ date: 2013-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -76,6 +76,7 @@ files:
76
76
  - lib/passwd/password.rb
77
77
  - lib/passwd/version.rb
78
78
  - passwd.gemspec
79
+ - samples/activerecord/user.rake
79
80
  - spec/passwd/active_record_spec.rb
80
81
  - spec/passwd/base_spec.rb
81
82
  - spec/passwd/configuration/config_spec.rb