todo_api_cli 0.0.2 → 0.0.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
  SHA256:
3
- metadata.gz: abf379befe21424b77cbeaf794ceac2a381e53825fb2d3aa7c75cd628cb5271c
4
- data.tar.gz: 61c0312f50a6a5d849fc24ddba06ce98134f193e0413f738cb57e83406b58059
3
+ metadata.gz: 5263128c0393604a7bded499596d8dfa6e892714014f0492f54f83d8ba723e0c
4
+ data.tar.gz: d0f077d8994c18eaeff508d1537a2aaa314c09330f295e52eef9dae0866b6d48
5
5
  SHA512:
6
- metadata.gz: 2eece03e977dd4e91aa4b11df9ede1703d9d2b57ba3994f32a2994b22f5e9449c0bb4fb0b62c182dac6dee9f3f431439be2d5ec017e108f5b3d954160a1ce722
7
- data.tar.gz: b3faf92156d5c9ecd5b2307022b8d6559c061ed14e14faf3fefce77f7b886dd69e145646687d3d139a42d6ead8c5a4c4d7a2f810b0ec9219248c197899d23ca6
6
+ metadata.gz: 4d02c0227c39de50a8f646a76f84dd71b9b895175ed8b5716a60befad915ba4829613db4ea3c21f823ccef768051dcc985948fdd9470717afc24aa3477755339
7
+ data.tar.gz: 787f8a07ac3a07189c5e9bae7593ac6234169694d20c04edc6d476bfc4b187e910e5ba1ea0ac68797e5099d47513cb8fba9f1b45ea412d9b3ecfb571b24b01ae
data/bin/sign_up ADDED
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'todo_api_cli'
4
+ require 'keychain'
5
+
6
+ def prompt(*args)
7
+ print(*args)
8
+ gets
9
+ end
10
+
11
+ if ARGV.size != 3
12
+ name = prompt 'Enter name: '
13
+ email = prompt 'Enter email: '
14
+ password = prompt 'Enter password: '
15
+ else
16
+ name = ARGV[0]
17
+ email = ARGV[1]
18
+ password = ARGV[2]
19
+ end
20
+
21
+ response = TodoApi::Cli::Users.create(name: ARGV[0], email: ARGV[1], password: ARGV[2])
22
+
23
+ # stores the token in the computer keychain
24
+ key_chain_item = Keychain.generic_passwords.where(service: 'todo-api').first
25
+
26
+ if key_chain_item
27
+ key_chain_item.password = response.body['session_token']
28
+ key_chain_item.save!
29
+ else
30
+ Keychain.generic_passwords.create(service: 'todo-api', password: response.body['session_token'])
31
+ end
32
+
33
+
34
+
data/lib/todo_api_cli.rb CHANGED
@@ -1,8 +1,26 @@
1
+ require 'faraday'
2
+ require 'faraday_middleware'
3
+
1
4
  module TodoApi
5
+ API_URL='http://localhost:9393'
6
+
2
7
  class Cli
3
8
  class Users
4
- def self.create
5
- puts 'Creating an user'
9
+ def self.create(name:, email:, password:)
10
+ client.post do |req|
11
+ req.url '/users'
12
+ req.body = { name: name, email: email, password: password }.to_json
13
+ end
14
+ end
15
+
16
+ def self.client
17
+ @@conn ||= Faraday.new(url: TodoApi::API_URL) do |f|
18
+ f.request :url_encoded
19
+ f.adapter Faraday.default_adapter
20
+ f.request :url_encoded
21
+ f.request :json
22
+ f.response :json, content_type: /\bjson$/
23
+ end
6
24
  end
7
25
  end
8
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: todo_api_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo Poleo
@@ -9,15 +9,85 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2018-10-13 00:00:00.000000000 Z
12
- dependencies: []
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.15'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.15'
27
+ - !ruby/object:Gem::Dependency
28
+ name: pry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.10.4
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.10.4
41
+ - !ruby/object:Gem::Dependency
42
+ name: faraday
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: faraday_middleware
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: ruby-keychain
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
13
83
  description:
14
84
  email:
15
85
  executables:
16
- - create_user
86
+ - sign_up
17
87
  extensions: []
18
88
  extra_rdoc_files: []
19
89
  files:
20
- - bin/create_user
90
+ - bin/sign_up
21
91
  - lib/todo_api_cli.rb
22
92
  homepage:
23
93
  licenses: []
data/bin/create_user DELETED
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'todo_api_cli'
4
-
5
- TodoApi::Cli::Users.create