centaman 0.2.0 → 0.2.1

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: 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