centaman 0.2.0 → 0.2.1

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: ef62880b7fa69d8b383ae13dc7b40232745c6f9809db064fed231227cba33a47
4
- data.tar.gz: 2ea1531297af8f2ef6cdb0bdc2dae62a77d6942e184c8290a1410b6c7d49501f
3
+ metadata.gz: 07cf23a02f6f02f0970d436a27b374255a3dc84ff97d1a5ac4df44fff5bd7c9c
4
+ data.tar.gz: e1cac231c3412e91526fa31239bb1c3a1a27d7c3ba440b65c30adb72ffcc0f6d
5
5
  SHA512:
6
- metadata.gz: a355d42cce6f5a4a6110db171e57b9a74565b830d45168e4858e329489f97570fecb6242a958dc9693fe4783f8789cf7fd5112d8f215e2162df2b8c4c576c61d
7
- data.tar.gz: 56ce92944389d33068241021c15cbd4b1fe8e64d6231296729f1c1318a8c1b426922f82dd880e2f2167a23d28033889aae49d1f0e1ead7955ab440b2a918f106
6
+ metadata.gz: d21ee7623d1c765e678d722a9706edabc789fb3fb032ac045181a34a643a0ec1d591676216b350b7350dba1ab5b2a17319a221dcb017e84f0e5eef31590f5852
7
+ data.tar.gz: 5c4b10f72c0e692c250a35c240efbe952fbd3c96688093167783d64873eeadc1d84f033d22d3051c2b43ff2018e7c41ec70c78da57ef51a0382d579c22bb9aad
data/lib/centaman.rb CHANGED
@@ -18,6 +18,7 @@ require 'centaman/service/gift_ticket'
18
18
  require 'centaman/service/general_admission_ticket'
19
19
  require 'centaman/service/hold_ticket'
20
20
  require 'centaman/service/membership_type'
21
+ require 'centaman/service/member'
21
22
  require 'centaman/service/package'
22
23
  require 'centaman/service/purchase_ticket'
23
24
  require 'centaman/service/ticket_type'
@@ -50,15 +50,15 @@ module Centaman
50
50
 
51
51
  def find_membership_type(membership_type_id)
52
52
  raise "membership_type_id is required for find_membership_type method of #{self.class.name} class" if membership_type_id.nil?
53
- Centaman::Service::MembershipType.new.find(membership_type_id)
53
+ Centaman::Service::MembershipType.find(membership_type_id)
54
54
  end
55
55
 
56
56
  def packages
57
57
  Centaman::Service::Package.new(membership_type_id: membership_type_id).objects
58
58
  end
59
59
 
60
- def find_package(id)
61
- Centaman::Service::Package.new(membership_type_id: membership_type_id).find(id)
60
+ def find_package(membership_type_id, id)
61
+ Centaman::Service::Package.find(membership_type_id, id)
62
62
  end
63
63
  end
64
64
  end
@@ -0,0 +1,37 @@
1
+ module Centaman
2
+ class Service::Member < Centaman::Service
3
+ include Centaman::JsonWrapper
4
+
5
+ attr_reader :member_code
6
+
7
+ def after_init(args)
8
+ @member_code = args.fetch(:member_code, nil).try(:to_i)
9
+ end
10
+
11
+ def endpoint
12
+ "/member_services/Member/#{member_code}"
13
+ end
14
+
15
+ def object_class
16
+ Centaman::Object::Member
17
+ end
18
+
19
+ def build_object(resp)
20
+ return build_objects(resp) if resp.respond_to?(:map)
21
+
22
+ return not_found(resp) unless resp.respond_to?(:merge)
23
+ @build_object ||= object_class.new(resp.merge(additional_hash_to_serialize_after_response))
24
+ end
25
+
26
+ def self.find(id)
27
+ obj = new(member_code: id)
28
+ obj.objects.detect { |obj| obj.id == id }
29
+ end
30
+
31
+ private
32
+
33
+ def not_found(resp)
34
+ { error: resp.parsed_response ? resp.parsed_response : 'Member not found' }
35
+ end
36
+ end
37
+ end
@@ -10,8 +10,8 @@ module Centaman
10
10
  Centaman::Object::MembershipType
11
11
  end
12
12
 
13
- def find(id)
14
- objects.detect {|obj| obj.id == id }
13
+ def self.find(id)
14
+ new.objects.detect {|obj| obj.id == id }
15
15
  end
16
16
  end
17
17
  end
@@ -16,18 +16,13 @@ module Centaman
16
16
  Centaman::Object::Package
17
17
  end
18
18
 
19
- def find(id)
20
- objects.detect {|obj| obj.id == id }
19
+ def self.find(membership_type_id, id)
20
+ obj = new(membership_type_id: membership_type_id)
21
+ obj.objects.detect {|obj| obj.id == id }
21
22
  end
22
23
 
23
24
  def additional_hash_to_serialize_after_response
24
25
  { membership_type_id: membership_type_id }
25
26
  end
26
-
27
- # def options_hash
28
- # {
29
- # 'PackageID' => membership_type_id
30
- # }.to_json
31
- # end
32
27
  end
33
28
  end
@@ -1,3 +1,3 @@
1
1
  module Centaman
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
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.0
4
+ version: 0.2.1
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-23 00:00:00.000000000 Z
12
+ date: 2018-01-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -117,6 +117,7 @@ files:
117
117
  - lib/centaman/service/general_admission_ticket.rb
118
118
  - lib/centaman/service/gift_ticket.rb
119
119
  - lib/centaman/service/hold_ticket.rb
120
+ - lib/centaman/service/member.rb
120
121
  - lib/centaman/service/membership_type.rb
121
122
  - lib/centaman/service/package.rb
122
123
  - lib/centaman/service/purchase_ticket.rb