recras 0.1.5 → 0.1.6

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
  SHA1:
3
- metadata.gz: 7064f4a5e12db70ed3a1ae6a97743b1109b8a7e9
4
- data.tar.gz: e13b4e94d5b80eb0c7e46f59e9cc06d815b09ffa
3
+ metadata.gz: 5becc83f4d161b4ffbeecec0a38579194a145685
4
+ data.tar.gz: 3016eb759a7375f713c8ec3766c09789452f2335
5
5
  SHA512:
6
- metadata.gz: 1bff5adb284a437064267f56e84b4cc44a0f4db43e5bf6ac28b670530561c98e10049505dc345752d00308450e89d9ddcd3f059d5d36da1234655a21454016e8
7
- data.tar.gz: da3020ed4620cd4dbe5aead2c112ae7bc1d8c854a995faee1874c5e8cec0f1ac0f756acc8545bb5bc20920aa7790371ae2160abec69adc59a69601ae15c70b29
6
+ metadata.gz: 4608a7f30d5fcfbc30c53b7988f6b6593803245f95246e7641ef28c7f65c42adbfb62d82a2617fb2bfbd7351d0f6b81644958f0350d185bedfe953a06c50d448
7
+ data.tar.gz: a403601e39796f2743cb6ffefb18e9eda507f01c23c2e7cf71348ab9a26efef6f3a7176a1a4116aa5d64ed86d05c0835df7a2906cb8352ff0f76bdb8a4043ef6
data/README.md CHANGED
@@ -36,6 +36,10 @@ To request two barcodes from two different ticket kinds (4 barcodes in total), y
36
36
 
37
37
  ```
38
38
 
39
+ ### PaymentMethod
40
+ Obtain a list of payment methods: `@recras_client.payment_methods`
41
+
42
+
39
43
  ### Combinations
40
44
  The Recras system bundles different products together in 'combinations'. Their API uses the term 'arrangementen' for it.
41
45
 
data/lib/recras.rb CHANGED
@@ -14,6 +14,9 @@ require "recras/combination_item"
14
14
  require "recras/contact_form"
15
15
  require "recras/contact_form_field"
16
16
  require "recras/booking"
17
+ require "recras/invoice"
18
+ require "recras/payment_method"
19
+ require "recras/payment"
17
20
  require "recras/itinerary"
18
21
 
19
22
  module Recras
@@ -28,7 +31,7 @@ module Recras
28
31
  # this method maps the recras API objects to
29
32
  # the names used by this gem
30
33
  def self.object_mappings
31
- [["personeel", Person], ["arrangement", Combination], ["contactformulier", ContactForm], ["velden", ContactFormField], ["booking", Booking]]
34
+ [["betalingen", Payment],["personeel", Person], ["arrangement", Combination], ["contactformulier", ContactForm], ["velden", ContactFormField], ["booking", Booking], ["facturen", Invoice], ["betaalmethoden", PaymentMethod]]
32
35
  end
33
36
 
34
37
  def self.url
@@ -11,6 +11,7 @@ module Recras
11
11
  attr_accessor :message
12
12
  attr_accessor :customer_id
13
13
  attr_accessor :payment_url
14
+ attr_accessor :client
14
15
 
15
16
  # Initializer to transform a +Hash+ into an Client object
16
17
  # @param [Hash] args
@@ -35,5 +36,22 @@ module Recras
35
36
  ]
36
37
  end
37
38
 
39
+ def make_invoice(status: 'concept')
40
+
41
+ body_data = {
42
+ boeking_id: id,
43
+ status: status
44
+ }
45
+ json = client.make_request("facturen", body: body_data.to_json, http_method: :post)
46
+ if json.is_a?(Hash) && json["error"]
47
+ raise RecrasError.new(self), json["error"]["message"]
48
+ else
49
+ invoice = Recras.parse_json(json: json, endpoint: "facturen")
50
+ return invoice
51
+ end
52
+
53
+ end
54
+
55
+
38
56
  end
39
57
  end
data/lib/recras/client.rb CHANGED
@@ -58,6 +58,17 @@ module Recras
58
58
  end
59
59
 
60
60
 
61
+ # returns an array of available combinations
62
+ def payment_methods
63
+ result = make_request("betaalmethoden")
64
+ a = []
65
+ for json in result
66
+ a << Recras.parse_json(json: json, endpoint: "betaalmethoden")
67
+ end
68
+ return a
69
+ end
70
+
71
+
61
72
  # returns an array of available combinations
62
73
  def combinations
63
74
  result = make_request("arrangementen")
@@ -118,7 +118,7 @@ module Recras
118
118
 
119
119
 
120
120
  # make a reservation for this combination
121
- def book(items: [], number_of_people: nil, date: nil, payment_method: "factuur", status: "reservering", contact_form_details: {})
121
+ def book(items: [], marked_as_paid: false, number_of_people: nil, date: nil, payment_method: "factuur", status: "reservering", contact_form_details: {})
122
122
 
123
123
  product_items = convert_items(items, number_of_people)
124
124
  date = convert_date(date)
@@ -130,6 +130,7 @@ module Recras
130
130
  begin: date,
131
131
  status: status,
132
132
  betaalmethode: payment_method,
133
+ stuur_bevestiging_email: marked_as_paid,
133
134
  contactformulier: contact_form_details
134
135
  }
135
136
  json = client.make_request("onlineboeking/reserveer", body: body_data.to_json, http_method: :post)
@@ -137,7 +138,7 @@ module Recras
137
138
  if json.is_a?(Hash) && json["error"]
138
139
  raise RecrasError.new(self), json["error"]["message"]
139
140
  else
140
- booking = Recras.parse_json(json: json, endpoint: "booking")
141
+ booking = Recras.parse_json(json: json, endpoint: "booking", client: client)
141
142
  return booking
142
143
  end
143
144
  else
@@ -1,3 +1,3 @@
1
1
  module Recras
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recras
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henk Meijer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-05-08 00:00:00.000000000 Z
11
+ date: 2018-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -144,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
144
  version: '0'
145
145
  requirements: []
146
146
  rubyforge_project:
147
- rubygems_version: 2.4.5.1
147
+ rubygems_version: 2.6.14
148
148
  signing_key:
149
149
  specification_version: 4
150
150
  summary: Ruby binder to the Recras API