centaman 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 07cf23a02f6f02f0970d436a27b374255a3dc84ff97d1a5ac4df44fff5bd7c9c
4
- data.tar.gz: e1cac231c3412e91526fa31239bb1c3a1a27d7c3ba440b65c30adb72ffcc0f6d
3
+ metadata.gz: 0352fd00a22ff2bfca9298483f0543c3d994eac3f239b2deee67c329750b601c
4
+ data.tar.gz: '0857475123262678e9dd82ce0737284ea2b87d126254edd54bac75fdacff070e'
5
5
  SHA512:
6
- metadata.gz: d21ee7623d1c765e678d722a9706edabc789fb3fb032ac045181a34a643a0ec1d591676216b350b7350dba1ab5b2a17319a221dcb017e84f0e5eef31590f5852
7
- data.tar.gz: 5c4b10f72c0e692c250a35c240efbe952fbd3c96688093167783d64873eeadc1d84f033d22d3051c2b43ff2018e7c41ec70c78da57ef51a0382d579c22bb9aad
6
+ metadata.gz: 7b847ebe8c584c9d170bc503faa57da7ebda47c67bbb23ec0804eca4b2d9f8e046b0f62e9001e63b993a1194347ae08302e290a82caf425023cb74fd45efc092
7
+ data.tar.gz: 1c7b8350934d120f6e03d5de63e047004113afbe83e6c472ee2dbef95c03239fa1561d50cb4f343646d75b910c8389dfedfce952cec2e3440521bc9d6cdefafe
@@ -38,7 +38,7 @@ module Centaman
38
38
  private
39
39
 
40
40
  def auth_error(resp)
41
- { error: resp.parsed_response ? resp.parsed_response : 'Authentication Failed. Invalid credentials.' }
41
+ { error: resp.parsed_response || 'Authentication Failed. Invalid credentials.' }
42
42
  end
43
43
  end
44
44
  end
@@ -2,14 +2,16 @@ module Centaman
2
2
  class Service::Member < Centaman::Service
3
3
  include Centaman::JsonWrapper
4
4
 
5
- attr_reader :member_code
5
+ attr_reader :member_code, :email
6
6
 
7
7
  def after_init(args)
8
8
  @member_code = args.fetch(:member_code, nil).try(:to_i)
9
+ @email = args.fetch(:email, nil)
10
+ required_args
9
11
  end
10
12
 
11
13
  def endpoint
12
- "/member_services/Member/#{member_code}"
14
+ member_code ? member_endpoint(:member_code) : member_endpoint(:email)
13
15
  end
14
16
 
15
17
  def object_class
@@ -30,8 +32,29 @@ module Centaman
30
32
 
31
33
  private
32
34
 
35
+ def member_endpoint(attr_key)
36
+ attr_val = self.send(attr_key)
37
+ endpoint_url(attr_key, attr_val)
38
+ end
39
+
40
+ def endpoint_url(key, val)
41
+ endpoint_options = {
42
+ member_code: "/member_services/Member/#{val}",
43
+ email: "/member_services/Member?email=#{val}"
44
+ }
45
+ endpoint_options[key]
46
+ end
47
+
48
+ def args_missing
49
+ arg_missing = [member_code, email].compact.empty?
50
+ end
51
+
52
+ def required_args
53
+ raise "missing required arguments. #{self.class} must be instantiated with a :member_code or :email" if args_missing
54
+ end
55
+
33
56
  def not_found(resp)
34
- { error: resp.parsed_response ? resp.parsed_response : 'Member not found' }
57
+ { error: resp.parsed_response || 'Member not found' }
35
58
  end
36
59
  end
37
60
  end
@@ -1,3 +1,3 @@
1
1
  module Centaman
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: centaman
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - francirp
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2018-01-24 00:00:00.000000000 Z
12
+ date: 2018-01-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler