plyom_user 0.2.6 → 0.2.7

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: 5e8b6d471d9e94e938738036d4f40d79c222d05a
4
- data.tar.gz: 71ddd1916990e0de6c4e4b1a953c0c846587b2cb
3
+ metadata.gz: 1f1379a73cb2e236157d48d34d96608b12637084
4
+ data.tar.gz: e103c0c142508f5eaa05edd1cc390b1426bf80f6
5
5
  SHA512:
6
- metadata.gz: a1a6488ff26d7644c244736bfcc75cb97f8837ab45b2b2b3fa42fa9e171e1aab6ed530db9cab986f58b5c594a4676f4e42a4d839fb55c3cd67d1a7436ff8dbf9
7
- data.tar.gz: 1300ca7e078f29d9ff8a02175867d7ce9d19eecbe852cbbf45a334610819d0d9fed80ab0a579d9b616bfe2f06cae35fb644f2718f8039ab797e0a4bb80835095
6
+ metadata.gz: be8d66373cb13e68f8ab94086a0e74c8fb1554279f11f81c8f73bfe356805c89cad6378996043c779f997f3f6d74ae61ebf93b8afe634e7e2982eaecdcabb66a
7
+ data.tar.gz: fec7462ed6e582ce30013d9bd934b53579f1280b4f648b593589a958e3ca8166e1095740ab0f9195fef79731a6f6d748c357b5713ef56fd3d776561a1f2a3f6d
@@ -3,81 +3,82 @@ require "httparty"
3
3
  require "json"
4
4
 
5
5
  module Plyom
6
- class PlyomUser
7
- class_attribute :id, :name, :email, :username, :password, :password_confirmation, :password_digest, :password_reset_token, :password_reset_sent_at, :status, :token, :created_at, :updated_at
8
-
9
- def initialize(params={})
10
- params.each { |var, val| public_send("#{var}=", val) }
11
- end
12
-
13
- def self.all
14
- list = []
15
- response = action_by("read")
16
- objs = JSON.parse(response.body)
17
- objs.each { |obj| list << self.new(obj) }
18
- list
19
- end
20
-
21
- def self.find(id)
22
- response = action_by("read", id: id)
23
- obj = JSON.parse(response.body)
24
- self.new(obj)
25
- end
26
-
27
- def save
28
- param_names = ["name", "email", "username", "password", "password_confirmation", "status"]
29
- data = filter_params(param_names)
30
- if data.length > 0
31
- paramters = { user: data }
32
- paramters.update({ id: @id }) if @id.to_i > 0
33
- action = @id.to_i > 0 ? "update" : "add"
34
- response = PlyomUser.action_by(action, paramters)
6
+ class PlyomUser
7
+ class_attribute :id, :name, :email, :username, :password, :password_confirmation, :password_digest, :password_reset_token, :password_reset_sent_at, :status, :token, :created_at, :updated_at
8
+
9
+ def initialize(params={})
10
+ params.each { |var, val| public_send("#{var}=", val) }
11
+ end
12
+
13
+ def self.all
14
+ list = []
15
+ response = action_by("read")
16
+ objs = JSON.parse(response.body)
17
+ objs.each { |obj| list << self.new(obj) }
18
+ list
19
+ end
20
+
21
+ def self.find(id)
22
+ response = action_by("read", id: id)
23
+ obj = JSON.parse(response.body)
24
+ self.new(obj)
25
+ end
26
+
27
+ def save
28
+ param_names = ["name", "email", "username", "password", "password_confirmation", "status"]
29
+ data = filter_params(param_names)
30
+ if data.length > 0
31
+ paramters = { user: data }
32
+ paramters.update({ id: @id }) if @id.to_i > 0
33
+ action = @id.to_i > 0 ? "update" : "add"
34
+ response = PlyomUser.action_by(action, paramters)
35
35
  @id = response['id'] if action == "add"
36
36
  response
37
37
  else
38
38
  nil
39
- end
40
- end
41
-
42
- def remove
43
- PlyomUser.action_by("del", id: @id)
44
- end
45
-
46
- private
47
- def filter_params(names=[])
48
- params = {}
49
- self.instance_variables.each do |var|
50
- var_name = var.to_s.delete "@"
51
- var_value = self.instance_variable_get var
52
- params.update({var_name => var_value}) if names.include?(var_name)
53
- end
54
- params
55
- end
56
-
57
- def self.action_by(action, params={})
58
- auth_token = { "Authorization" => "Token token=\"#{ENV['plyom_user_token']}\"" }
59
-
60
- case action
61
- when "read"
62
- HTTParty.get("#{uri}/#{params[:id]}", headers: auth_token)
63
- when "add"
64
- HTTParty.post("#{uri}", query: params, headers: auth_token)
65
- when "del"
66
- HTTParty.delete("#{uri}/#{params[:id]}", headers: auth_token)
67
- when "update"
68
- HTTParty.patch("#{uri}/#{params[:id]}", query: params, headers: auth_token) if params.size > 1
69
- HTTParty.put("#{uri}/#{params[:id]}", query: params, headers: auth_token) if params.size == 1
70
- end
71
- end
72
-
73
- def self.uri
74
- host = ENV["plyom_user_host"]
75
- path = "/api/users"
76
- host + path
77
- end
78
- end
79
-
80
- class Authentication
39
+ end
40
+ end
41
+
42
+ def remove
43
+ PlyomUser.action_by("del", id: @id)
44
+ end
45
+
46
+ private
47
+ def filter_params(names=[])
48
+ params = {}
49
+ self.instance_variables.each do |var|
50
+ var_name = var.to_s.delete "@"
51
+ var_value = self.instance_variable_get var
52
+ params.update({var_name => var_value}) if names.include?(var_name)
53
+ end
54
+ params
55
+ end
56
+
57
+ def self.action_by(action, params={})
58
+ auth_token = { "Authorization" => "Token token=\"#{ENV['plyom_user_token']}\"" }
59
+
60
+ case action
61
+ when "read"
62
+ HTTParty.get("#{uri}/#{params[:id]}", headers: auth_token)
63
+ when "add"
64
+ HTTParty.post("#{uri}", query: params, headers: auth_token)
65
+ when "del"
66
+ HTTParty.delete("#{uri}/#{params[:id]}", headers: auth_token)
67
+ when "update"
68
+ HTTParty.patch("#{uri}/#{params[:id]}", query: params, headers: auth_token) if params.size > 1
69
+ HTTParty.put("#{uri}/#{params[:id]}", query: params, headers: auth_token) if params.size == 1
70
+ end
71
+ end
72
+
73
+ def self.uri
74
+ host = ENV["plyom_user_host"]
75
+ path = "/api/users"
76
+ host + path
77
+ end
78
+ end
79
+
80
+ class Authentication
81
+ class_attribute :id, :token, :validation
81
82
 
82
83
  def initialize(params)
83
84
  @params = params
@@ -91,6 +92,7 @@ module Plyom
91
92
  if result["success"]
92
93
  @token = result["token"]
93
94
  @validation = 1
95
+ @id = result["id"]
94
96
  true
95
97
  else
96
98
  false
@@ -1,3 +1,3 @@
1
1
  module PlyomUser
2
- VERSION = "0.2.6"
2
+ VERSION = "0.2.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plyom_user
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fernando Pileggi