duse 0.0.4 → 0.0.6

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZDc4NmU1MWM3MzJhOGZhY2MxOWE1YjA3OTk0MDliNmEwNDg3NWI1Mw==
4
+ ODc4MDg1YmQ3NTU5OGI3NmQwYTk0ZjQxNTk2NjIyY2I1OTc2MDg4ZQ==
5
5
  data.tar.gz: !binary |-
6
- NDQ4ZGRmNWI3MjI5ZjgxMDdkOWFjM2Q4Y2NlNzZiNzc1NTBhM2U3OA==
6
+ MWQ1ZjI5ODhjMmZjZTdhYmQ1ZGNjODMzYWFlMWRmNTllYjFjZDc2Nw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MGNlMzllOGQ5ODU2OGRmYWU1OWM0NzViYzU1ZWM4NjQ4MjViOTI3YmVkODU3
10
- ODVkZTQ0N2UxNTFmMjgxMjg1OGJkYjNiNzAzOGM2MzE0YmFmOWJkMjBiMTgz
11
- MGI0MDkwNGM5NWNjNTllMTNlYjcwNWNhZWUwN2RjN2JiOTdjYjM=
9
+ OTQyMjE2Y2QwZjk0YTlmZDNmZTQyYjc2MTUwNGFjYjY0NDM3ZTk3OGE2ZWFh
10
+ YjA3Mzk1NTAxYWMwNTU1YjQzNTMzYTAyMWIwMjhjNTVlMzIwOWU4YjY0OWI1
11
+ M2Q2MjA3ZmE3YWJhZjdjMDUyZDY0MjJjZWI1MmM5YzIxMzhjNmI=
12
12
  data.tar.gz: !binary |-
13
- NTlhMjczMmIwOTM5MjI1NTczYTQwYTQyNjYwMWI0ODg4OWExZTYxMGE4Y2E4
14
- N2FhMTQ0M2MzY2FiYmMyYmFmNWZhZWM0YzVkYTVjMzhmZDU3NWFlMjczYWJi
15
- NjRhNjM5MTFkMmIxZDkyY2ZiYzRlODVlMGUwYWE4YThiOWIyYTg=
13
+ YjBjMjNhYTM5NjMwNmVmYzVhMDAyM2Y1MWFiYTI1Y2Y0ZjQ3ODdiNTYzMDc2
14
+ ZDdlYzU4NmRhODVmOWEwNDVhZmZhOTEzMmM3ZTgwYWIwZGE1MmNhZjdkNDI2
15
+ OTA0ZWE5NjNlNTVjYzI3ZmEzMDRlODgxMzU0MWIyMTYzODEwZmY=
data/duse.gemspec CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
16
16
  s.files = `git ls-files -z`.split("\x0")
17
17
 
18
18
  s.add_runtime_dependency 'highline'
19
- s.add_runtime_dependency 'secret_sharing'
19
+ s.add_runtime_dependency 'secret_sharing', '>= 0.0.5'
20
20
  s.add_runtime_dependency 'faraday'
21
21
  s.add_runtime_dependency 'faraday_middleware'
22
22
  end
@@ -3,15 +3,12 @@ require 'duse/cli'
3
3
  module Duse
4
4
  module CLI
5
5
  class AccountConfirm < ApiCommand
6
- description 'confirm your account'
6
+ description 'confirm your account with a token sent to your email'
7
7
 
8
8
  skip :authenticate
9
9
 
10
- on('-t', '--token [TOKEN]', 'The token to use for confirming')
11
-
12
- def run
13
- self.token ||= terminal.ask("A confirmation email has been sent. A confirmation token was mentioned in it, please provide that token below.\n\ntoken: ")
14
- Duse::User.confirm(self.token)
10
+ def run(token)
11
+ Duse::User.confirm(token)
15
12
  success 'Account successfully confirmed.'
16
13
  rescue Duse::Client::NotFound
17
14
  error 'Token is either not valid or has already been used.'
@@ -6,9 +6,7 @@ module Duse
6
6
  abstract
7
7
 
8
8
  def execute
9
- ensure_uri_is_set
10
- authenticate
11
- run *arguments
9
+ super
12
10
  rescue Duse::Client::NotLoggedIn
13
11
  error "not logged in, run `#$0 login`"
14
12
  rescue Duse::Client::Error => e
@@ -19,6 +17,11 @@ module Duse
19
17
  say "\naborted!"
20
18
  end
21
19
 
20
+ def setup
21
+ ensure_uri_is_set
22
+ authenticate
23
+ end
24
+
22
25
  private
23
26
 
24
27
  def ensure_uri_is_set
@@ -41,11 +41,16 @@ module Duse
41
41
  end
42
42
 
43
43
  def execute
44
+ check_arity(method(:run), *arguments)
45
+ setup
44
46
  run *arguments
45
47
  rescue Interrupt
46
48
  say "\naborted!"
47
49
  end
48
50
 
51
+ def setup
52
+ end
53
+
49
54
  def output=(io)
50
55
  @terminal = nil
51
56
  @output = io
@@ -197,6 +202,21 @@ module Duse
197
202
  end
198
203
  usage << " [OPTIONS]"
199
204
  end
205
+
206
+ def check_arity(method, *args)
207
+ return unless method.respond_to? :parameters
208
+ method.parameters.each do |type, name|
209
+ return if type == :rest
210
+ wrong_args("few") unless args.shift or type == :opt or type == :block
211
+ end
212
+ wrong_args("many") if args.any?
213
+ end
214
+
215
+ def wrong_args(quantity)
216
+ error "too #{quantity} arguments" do
217
+ say help
218
+ end
219
+ end
200
220
  end
201
221
  end
202
222
  end
@@ -92,7 +92,7 @@ module Duse
92
92
  end
93
93
 
94
94
  def encrypt_symmetric_key(symmetric_key, users, private_key)
95
- raw_shares = SecretSharing.split_secret(symmetric_key, 2, users.length)
95
+ raw_shares = SecretSharing.split(symmetric_key, 2, users.length)
96
96
  users.map.with_index do |user, index|
97
97
  share = raw_shares[index]
98
98
  content, signature = Encryption::Asymmetric.encrypt(private_key, user.public_key, share)
@@ -104,7 +104,7 @@ module Duse
104
104
  raw_shares = shares.map do |share|
105
105
  Encryption::Asymmetric.decrypt private_key, share
106
106
  end
107
- SecretSharing.recover_secret(raw_shares)
107
+ SecretSharing.reconstruct(raw_shares)
108
108
  end
109
109
  end
110
110
  end
data/lib/duse/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Duse
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.6'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: duse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Frederic Branczyk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-02 00:00:00.000000000 Z
11
+ date: 2015-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: highline
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 0.0.5
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ! '>='
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 0.0.5
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: faraday
43
43
  requirement: !ruby/object:Gem::Requirement