qr-bills 0.2.1 → 1.0.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: a85d84e79fe4fa53efb5f4d4821e16c81b284a130c846080899832a96bd4411f
4
- data.tar.gz: 1259e4936f1c13236e8db5f3a030e915c3cf4187cfe5cbae860932b1cc8862f3
3
+ metadata.gz: 5c379f6c4844f31719b53df71799350a2954dee43d2dbf30a3e108f69e43c11f
4
+ data.tar.gz: 5db69665c2ab6dd0cd015142355672df933fdd81341060e1847506bffa52eb65
5
5
  SHA512:
6
- metadata.gz: 18740e8deb4d743597acdee385ee27e2f05b79ea912d64d4c57e83d6a4e9ab6b8681e2db92634fec366e9124fe4639a689ce334d6bddc2278b81b6ba2615193c
7
- data.tar.gz: f6a0c34c01b2c61484dde00ca5965feb08c059eba293f7977a91ca9f0eca476205280453ff333b135f876e4edfd06b681593a584acea6544adf8d8f7d043eb34
6
+ metadata.gz: fe5e97015827d9ea7c32be101750a1f590786a5ae1be0feead8f0281c717238e31a039797b493f94d82bb89496e02e981fce36813a6ed5fd67b5eb41ae8dc8ae
7
+ data.tar.gz: ad2afb28c3790e3e66b4ff201803a452cf5173ff6dd40d408c40f8c506e108349eeda54c41fe7500b04c1b49359a06f5d2b00dbffd8f2d2594fa7235f0b84a8f
@@ -0,0 +1,17 @@
1
+ de:
2
+ qrbills:
3
+ payment_part: Zahlteil
4
+ account: Konto
5
+ payable_to: Zahlbar an
6
+ reference: Referenz
7
+ additional_information: zusätzliche Informationen
8
+ further_information: weitere Informationen
9
+ currency: Währung
10
+ amount: Betrag
11
+ receipt: Empfangsschein
12
+ acceptance_point: Annahmestelle
13
+ separate_before_paying_in: Vor der Einzahlung abzutrennen
14
+ payable_by: Zahlbar durch
15
+ payable_by_name_addr: Zahlbar durch (Name/Adresse)
16
+ in_favour_of: Zugunsten
17
+ name: Name
@@ -0,0 +1,17 @@
1
+ en:
2
+ qrbills:
3
+ payment_part: payment part
4
+ account: account
5
+ payable_to: payable to
6
+ reference: reference
7
+ additional_information: additional information
8
+ further_information: further information
9
+ currency: currency
10
+ amount: amount
11
+ receipt: receipt
12
+ acceptance_point: acceptance point
13
+ separate_before_paying_in: separate before paying in
14
+ payable_by: payable by
15
+ payable_by_name_addr: payable by (name/address)
16
+ in_favour_of: in favour of
17
+ name: nom
@@ -0,0 +1,17 @@
1
+ fr:
2
+ qrbills:
3
+ payment_part: section paiement
4
+ account: compte
5
+ payable_to: payable à
6
+ reference: référence
7
+ additional_information: informations additionnelles
8
+ further_information: informations supplémentaires
9
+ currency: monnaie
10
+ amount: montant
11
+ receipt: récépissé
12
+ acceptance_point: èpomt de dépôt
13
+ separate_before_paying_in: à détacher avant le versement
14
+ payable_by: payable par
15
+ payable_by_name_addr: payable par (nom/adresse)
16
+ in_favour_of: en faveur de
17
+ name: name
@@ -0,0 +1,17 @@
1
+ it:
2
+ qrbills:
3
+ payment_part: "sezione pagamento"
4
+ account: conto
5
+ payable_to: "pagabile a"
6
+ reference: riferimento
7
+ additional_information: "informazioni aggiuntive"
8
+ further_information: "informazioni supplementari"
9
+ currency: valuta
10
+ amount: importo
11
+ receipt: ricevuta
12
+ acceptance_point: "punto di accettazione"
13
+ separate_before_paying_in: "da staccare prima del versamento"
14
+ payable_by: pagabile da
15
+ payable_by_name_addr: pagabile da (nome/indirizzo)
16
+ in_favour_of: a favore di
17
+ name: nome
@@ -1,9 +1,10 @@
1
1
  require 'qr-bills/qr-exceptions'
2
2
 
3
3
  # implement Creditor Reference ISO 11649 generator
4
- class QRCreditorReference
4
+ module QRCreditorReference
5
5
  PREFIX = "RF"
6
6
 
7
+ # chars values to calculate the check code
7
8
  @char_values = {
8
9
  "A": 10,
9
10
  "B": 11,
@@ -56,6 +57,8 @@ class QRCreditorReference
56
57
  reference_val += @char_values["R".to_sym].to_s + @char_values["F".to_sym].to_s + "00"
57
58
 
58
59
  # get check code
60
+ # when performing the validation of the check code (n % 97)
61
+ # the remainder must be equal to 1, thus the 98
59
62
  check_code = 98 - (reference_val.to_i % 97)
60
63
 
61
64
  if check_code < 10
@@ -1,4 +1,4 @@
1
- class QRExceptions
1
+ module QRExceptions
2
2
  EXCEPTION_PREFIX = "QR-bill"
3
3
 
4
4
  INVALID_PARAMETERS = EXCEPTION_PREFIX + " invalid parameters"
@@ -1,8 +1,6 @@
1
1
  require 'rqrcode'
2
- require 'rmagick'
3
- include Magick
4
2
 
5
- class QRGenerator
3
+ module QRGenerator
6
4
  # payload:
7
5
  # "SPC\r\n" + # indicator for swiss qr code: SPC (swiss payments code)
8
6
  # "0200\r\n" + # version of the specifications, 0200 = v2.0
@@ -39,11 +37,6 @@ class QRGenerator
39
37
  # "eBill/B/41010560425610173"; # alternative scheme paramaters, max 100 chars
40
38
 
41
39
  def self.create(params, qrcode_path)
42
- create_qr(params, qrcode_path)
43
- add_swiss_cross(qrcode_path, qrcode_path)
44
- end
45
-
46
- def self.create_qr(params, qrcode_path)
47
40
  payload = "SPC\r\n"
48
41
  payload += "0200\r\n"
49
42
  payload += "1\r\n"
@@ -76,7 +69,7 @@ class QRGenerator
76
69
  payload += "#{params[:bill_params][:additionally_information]}\r\n"
77
70
  payload += "EPD\r\n"
78
71
  payload += "#{params[:bill_params][:bill_information_coded]}\r\n"
79
- payload += "#{params[:bill_params][:alternative_scheme_paramters]}\r\n"
72
+ payload += "#{params[:bill_params][:alternative_scheme_parameters]}\r\n"
80
73
 
81
74
  qrcode = RQRCode::QRCode.new(payload)
82
75
 
@@ -93,13 +86,8 @@ class QRGenerator
93
86
  size: 1024,
94
87
  )
95
88
 
96
- IO.binwrite(qrcode_path, png.to_s)
97
- end
98
-
99
- def self.add_swiss_cross(qrcode_path, final_path)
100
- qr_image = Image.read(qrcode_path)[0]
101
- swiss_cross = Image.read(File.expand_path("#{File.dirname(__FILE__)}/../../web/assets/images/swiss_cross.png"))[0]
102
- final_qr = qr_image.composite(swiss_cross, CenterGravity, OverCompositeOp)
103
- final_qr.write(final_path)
89
+ swiss_cross = ChunkyPNG::Image.from_file(File.expand_path("#{File.dirname(__FILE__)}/../../web/assets/images/swiss_cross.png"))
90
+ final_qr = png.compose!(swiss_cross, (png.width - swiss_cross.width) / 2, (png.height - swiss_cross.height) / 2)
91
+ final_qr.save(qrcode_path)
104
92
  end
105
93
  end
@@ -1,6 +1,6 @@
1
1
  require 'qr-bills/qr-generator'
2
2
 
3
- class QRHTMLLayout
3
+ module QRHTMLLayout
4
4
 
5
5
  def self.create(params)
6
6
  QRGenerator.create(params, params[:qrcode_filepath])
@@ -10,8 +10,8 @@ class QRHTMLLayout
10
10
  def self.html_layout(params)
11
11
  layout = "<div class=\"bill_container\">\n"
12
12
  layout += " <div class=\"receipt_section\">\n"
13
- layout += " <div class=\"title\">#{I18n.t(:receipt).capitalize}</div>\n"
14
- layout += " <div class=\"subtitle payable_to\">#{I18n.t(:account).capitalize} / #{I18n.t(:payable_to).capitalize}</div>\n"
13
+ layout += " <div class=\"title\">#{I18n.t("qrbills.receipt").capitalize}</div>\n"
14
+ layout += " <div class=\"subtitle payable_to\">#{I18n.t("qrbills.account").capitalize} / #{I18n.t("qrbills.payable_to").capitalize}</div>\n"
15
15
  layout += " <div class=\"qrcontent\">\n"
16
16
  layout += " #{params[:bill_params][:creditor][:iban]}<br/>\n"
17
17
  layout += " #{params[:bill_params][:creditor][:address][:name]}<br/>\n"
@@ -21,14 +21,14 @@ class QRHTMLLayout
21
21
  layout += " <div><br/></div>\n"
22
22
 
23
23
  if !params[:bill_params][:reference].nil? && !params[:bill_params][:reference].empty?
24
- layout += " <div class=\"subtitle reference\">#{I18n.t(:reference).capitalize}</div>\n"
24
+ layout += " <div class=\"subtitle reference\">#{I18n.t("qrbills.reference").capitalize}</div>\n"
25
25
  layout += " <div class=\"reference\">\n"
26
26
  layout += " #{params[:bill_params][:reference]}<br/>\n"
27
27
  layout += " </div>\n"
28
28
  layout += " <div><br/></div>\n"
29
29
  end
30
30
 
31
- layout += " <div class=\"subtitle payable_by\">#{I18n.t(:payable_by).capitalize}</div>\n"
31
+ layout += " <div class=\"subtitle payable_by\">#{I18n.t("qrbills.payable_by").capitalize}</div>\n"
32
32
  layout += " <div class=\"payable_by\">\n"
33
33
  layout += " #{params[:bill_params][:debtor][:address][:name]}<br/>\n"
34
34
  layout += " #{params[:bill_params][:debtor][:address][:line1]} #{params[:bill_params][:debtor][:address][:line2]}<br/>\n"
@@ -37,33 +37,33 @@ class QRHTMLLayout
37
37
 
38
38
  layout += " <div class=\"amount\">\n"
39
39
  layout += " <div class=\"currency\">\n"
40
- layout += " <span class=\"amount_header subtitle\">#{I18n.t(:currency).capitalize}</span><br/>\n"
40
+ layout += " <span class=\"amount_header subtitle\">#{I18n.t("qrbills.currency").capitalize}</span><br/>\n"
41
41
  layout += " #{params[:bill_params][:currency]}<br/>\n"
42
42
  layout += " </div>\n"
43
43
 
44
44
  layout += " <div class=\"amount_value\">\n"
45
- layout += " <span class=\"amount_header subtitle\">#{I18n.t(:amount).capitalize}</span><br/>\n"
45
+ layout += " <span class=\"amount_header subtitle\">#{I18n.t("qrbills.amount").capitalize}</span><br/>\n"
46
46
  layout += " #{params[:bill_params][:amount]}<br/>\n"
47
47
  layout += " </div>\n"
48
48
  layout += " </div>\n"
49
49
 
50
50
  layout += " <div class=\"acceptance_point\">\n"
51
- layout += " #{I18n.t(:acceptance_point).capitalize}<br/>\n"
51
+ layout += " #{I18n.t("qrbills.acceptance_point").capitalize}<br/>\n"
52
52
  layout += " </div>\n"
53
53
 
54
54
  layout += " </div>\n"
55
55
  layout += " <div class=\"payment_section\">\n"
56
56
  layout += " <div class=\"left_column\">\n"
57
- layout += " <div class=\"title\">#{I18n.t(:payment_part).capitalize}</div>\n"
57
+ layout += " <div class=\"title\">#{I18n.t("qrbills.payment_part").capitalize}</div>\n"
58
58
  layout += " <div class=\"qr_code\"><img src=\"#{params[:qrcode_filepath]}\" /></div>\n"
59
59
  layout += " <div class=\"amount\">\n"
60
60
  layout += " <div class=\"currency\">\n"
61
- layout += " <span class=\"amount_header subtitle\">#{I18n.t(:currency).capitalize}</span><br/>\n"
61
+ layout += " <span class=\"amount_header subtitle\">#{I18n.t("qrbills.currency").capitalize}</span><br/>\n"
62
62
  layout += " #{params[:bill_params][:currency]}<br/>\n"
63
63
  layout += " </div>\n"
64
64
 
65
65
  layout += " <div class=\"amount_value\">\n"
66
- layout += " <span class=\"amount_header subtitle\">#{I18n.t(:amount).capitalize}</span><br/>\n"
66
+ layout += " <span class=\"amount_header subtitle\">#{I18n.t("qrbills.amount").capitalize}</span><br/>\n"
67
67
  layout += " #{params[:bill_params][:amount]}<br/>\n"
68
68
  layout += " </div>\n"
69
69
  layout += " </div>\n"
@@ -71,17 +71,17 @@ class QRHTMLLayout
71
71
  layout += " <div class=\"further_information\">\n"
72
72
 
73
73
  if !params[:bill_params][:bill_information_coded].nil? && !params[:bill_params][:bill_information_coded].empty?
74
- layout += " <span class=\"finfo_header\">Name AV1:</span> #{params[:bill_params][:bill_information_coded]}\n"
74
+ layout += " <span class=\"finfo_header\">#{I18n.t("qrbills.name").capitalize} AV1:</span> #{params[:bill_params][:bill_information_coded]}\n"
75
75
  end
76
76
 
77
- if !params[:bill_params][:alternative_scheme_paramters].nil? && !params[:bill_params][:alternative_scheme_paramters].empty?
78
- layout += " <span class=\"finfo_header\">Name AV2:</span> #{params[:bill_params][:alternative_scheme_paramters]}\n"
77
+ if !params[:bill_params][:alternative_scheme_parameters].nil? && !params[:bill_params][:alternative_scheme_parameters].empty?
78
+ layout += " <span class=\"finfo_header\">#{I18n.t("qrbills.name").capitalize} AV2:</span> #{params[:bill_params][:alternative_scheme_parameters]}\n"
79
79
  end
80
80
 
81
81
  layout += " </div>\n"
82
82
  layout += " </div>\n"
83
83
  layout += " <div class=\"right_column\">\n"
84
- layout += " <div class=\"subtitle payable_to\">#{I18n.t(:account).capitalize} / #{I18n.t(:payable_to).capitalize}</div>\n"
84
+ layout += " <div class=\"subtitle payable_to\">#{I18n.t("qrbills.account").capitalize} / #{I18n.t("qrbills.payable_to").capitalize}</div>\n"
85
85
  layout += " <div class=\"qrcontent\">\n"
86
86
  layout += " #{params[:bill_params][:creditor][:iban]}<br/>\n"
87
87
  layout += " #{params[:bill_params][:creditor][:address][:name]}<br/>\n"
@@ -91,7 +91,7 @@ class QRHTMLLayout
91
91
  layout += " <div><br/></div>\n"
92
92
 
93
93
  if !params[:bill_params][:reference].nil? && !params[:bill_params][:reference].empty?
94
- layout += " <div class=\"subtitle reference\">#{I18n.t(:reference).capitalize}</div>\n"
94
+ layout += " <div class=\"subtitle reference\">#{I18n.t("qrbills.reference").capitalize}</div>\n"
95
95
  layout += " <div class=\"reference\">\n"
96
96
  layout += " #{params[:bill_params][:reference]}<br/>\n"
97
97
  layout += " </div>\n"
@@ -99,14 +99,14 @@ class QRHTMLLayout
99
99
  end
100
100
 
101
101
  if !params[:bill_params][:additionally_information].nil? && !params[:bill_params][:additionally_information].empty?
102
- layout += " <div class=\"subtitle additional_information\">#{I18n.t(:additional_information).capitalize}</div>\n"
102
+ layout += " <div class=\"subtitle additional_information\">#{I18n.t("qrbills.additional_information").capitalize}</div>\n"
103
103
  layout += " <div class=\"additional_information\">\n"
104
104
  layout += " #{params[:bill_params][:additionally_information]}<br/>\n"
105
105
  layout += " </div>\n"
106
106
  layout += " <div><br/></div>\n"
107
107
  end
108
108
 
109
- layout += " <div class=\"subtitle payable_by\">#{I18n.t(:payable_by).capitalize}</div>\n"
109
+ layout += " <div class=\"subtitle payable_by\">#{I18n.t("qrbills.payable_by").capitalize}</div>\n"
110
110
  layout += " <div class=\"payable_by\">\n"
111
111
  layout += " #{params[:bill_params][:debtor][:address][:name]}<br/>\n"
112
112
  layout += " #{params[:bill_params][:debtor][:address][:line1]} #{params[:bill_params][:debtor][:address][:line2]}<br/>\n"
@@ -1,7 +1,7 @@
1
- class QRParams
1
+ module QRParams
2
2
  QR_BILL_WITH_QR_REFERENCE = "orange_with_reference"
3
3
  QR_BILL_WITH_CREDITOR_REFERENCE = "red_with_reference"
4
- QR_BILL_WITOUTH_REFERENCE = "red_without_reference"
4
+ QR_BILL_WITHOUT_REFERENCE = "red_without_reference"
5
5
 
6
6
  def self.get_qr_params
7
7
  {
@@ -24,7 +24,7 @@ class QRParams
24
24
  reference: "", # qr reference or creditor reference (iso-11649)
25
25
  additionally_information: "",
26
26
  bill_information_coded: "",
27
- alternative_scheme_paramters: "",
27
+ alternative_scheme_parameters: "",
28
28
  creditor: {
29
29
  address: {
30
30
  type: "S",
@@ -56,43 +56,70 @@ class QRParams
56
56
  end
57
57
 
58
58
  def self.valid?(params)
59
- if params.has_key?(:bill_type)
59
+ return false unless params.key?(:bill_type)
60
+ return false unless QRParams.base_params_valid?(params)
60
61
 
61
- if !QRParams.base_params_valid?(params)
62
- return false
63
- end
64
-
65
- if params[:bill_type] == QR_BILL_WITH_QR_REFERENCE
66
- return QRParams.qr_bill_with_qr_reference_valid?(params)
67
- elsif params[:bill_type] == QR_BILL_WITH_CREDITOR_REFERENCE
68
- return QRParams.qr_bill_with_creditor_reference_valid?(params)
69
- elsif params[:bill_type] == QR_BILL_WITOUTH_REFERENCE
70
- return QRParams.qr_bill_without_reference_valid?(params)
71
- else
72
- return false
73
- end
62
+ case params[:bill_type]
63
+ when QRParams::QR_BILL_WITH_QR_REFERENCE
64
+ QRParams.qr_bill_with_qr_reference_valid?(params)
65
+ when QRParams::QR_BILL_WITH_CREDITOR_REFERENCE
66
+ QRParams.qr_bill_with_creditor_reference_valid?(params)
67
+ when QRParams::QR_BILL_WITHOUT_REFERENCE
68
+ QRParams.qr_bill_without_reference_valid?(params)
74
69
  else
75
- return false
70
+ false
76
71
  end
77
72
  end
78
-
73
+
79
74
  def self.base_params_valid?(params)
80
- # todo
81
- return true
75
+ if params[:bill_type] == "" || params[:bill_type] == nil
76
+ raise ArgumentError, "#{QRExceptions::INVALID_PARAMETERS}: bill type cannot be blank"
77
+ end
78
+
79
+ if params[:qrcode_filepath] == "" || params[:qrcode_filepath] == nil
80
+ raise ArgumentError, "#{QRExceptions::INVALID_PARAMETERS}: qrcode_filepath cannot be blank"
81
+ end
82
+
83
+ if params[:bill_params][:currency] == "" || params[:bill_params][:currency] == nil
84
+ raise ArgumentError, "#{QRExceptions::INVALID_PARAMETERS}: currency cannot be blank"
85
+ end
86
+
87
+ true
82
88
  end
83
89
 
84
90
  def self.qr_bill_with_qr_reference_valid?(params)
85
- # todo
86
- return true
91
+ if params[:bill_params][:reference_type] != "QRR"
92
+ raise ArgumentError, "#{QRExceptions::INVALID_PARAMETERS}: reference type must be 'QRR' for QR bill with standard reference"
93
+ end
94
+
95
+ if params[:bill_params][:reference] == "" || params[:bill_params][:reference] == nil
96
+ raise ArgumentError, "#{QRExceptions::INVALID_PARAMETERS}: reference cannot be blank for QR bill with standard reference"
97
+ end
98
+
99
+ true
87
100
  end
88
101
 
89
102
  def self.qr_bill_with_creditor_reference_valid?(params)
90
- # todo
91
- return true
103
+ if params[:bill_params][:reference_type] != "SCOR"
104
+ raise ArgumentError, "#{QRExceptions::INVALID_PARAMETERS}: reference type must be 'SCOR' for QR bill with (new) creditor reference"
105
+ end
106
+
107
+ if params[:bill_params][:reference] == "" || params[:bill_params][:reference] == nil
108
+ raise ArgumentError, "#{QRExceptions::INVALID_PARAMETERS}: reference cannot be blank for QR bill with (new) creditor reference"
109
+ end
110
+
111
+ true
92
112
  end
93
113
 
94
114
  def self.qr_bill_without_reference_valid?(params)
95
- # todo
96
- return true
115
+ if params[:bill_params][:reference_type] != "NON"
116
+ raise ArgumentError, "#{QRExceptions::INVALID_PARAMETERS}: reference type must be 'NON' for QR bill without reference"
117
+ end
118
+
119
+ if params[:bill_params][:reference] != ""
120
+ raise ArgumentError, "#{QRExceptions::INVALID_PARAMETERS}: reference must be blank for QR bill without reference"
121
+ end
122
+
123
+ true
97
124
  end
98
125
  end
data/lib/qr-bills.rb CHANGED
@@ -4,41 +4,32 @@ require 'qr-bills/qr-params'
4
4
  require 'qr-bills/qr-html-layout'
5
5
  require 'qr-bills/qr-creditor-reference'
6
6
 
7
- class QRBills
7
+ module QRBills
8
8
  def self.generate(qr_params)
9
+ raise ArgumentError, "#{QRExceptions::INVALID_PARAMETERS}: bill type param not set" unless qr_params.has_key?(:bill_type)
10
+ raise ArgumentError, "#{QRExceptions::INVALID_PARAMETERS}: validation failed" unless QRParams.valid?(qr_params)
9
11
 
10
- # params validation
11
- if qr_params.has_key?(:bill_type)
12
-
13
- if !QRParams.valid?(qr_params)
14
- raise QRExceptions::INVALID_PARAMETERS + ": params validation check failed"
15
- end
12
+ # init translator sets
13
+ %i[it en de fr].each do |locale|
14
+ locale_file = File.join(qr_params[:locales][:path], "qrbills.#{locale}.yml")
16
15
 
17
- if !qr_params[:output_params][:format] == "html"
18
- raise QRExceptions::NOT_SUPPORTED + ": html is the only output format supported so far"
19
- end
16
+ I18n.load_path << locale_file
17
+ end
20
18
 
19
+ output = case qr_params[:output_params][:format]
20
+ when 'html'
21
+ QRHTMLLayout.create(qr_params)
22
+ when 'qrcode_png'
23
+ QRGenerator.create(qr_params, qr_params[:qrcode_filepath])
21
24
  else
22
- raise QRExceptions::INVALID_PARAMETERS + ": bill type param not set"
25
+ raise ArgumentError, "#{QRExceptions::NOT_SUPPORTED}: #{qr_params[:output_params][:format]} is not yet supported"
23
26
  end
24
27
 
25
- # init translator sets
26
- I18n.load_path << File.join(qr_params[:locales][:path], "it.yml")
27
- I18n.load_path << File.join(qr_params[:locales][:path], "en.yml")
28
- I18n.load_path << File.join(qr_params[:locales][:path], "de.yml")
29
- I18n.load_path << File.join(qr_params[:locales][:path], "fr.yml")
30
- I18n.default_locale = :it
31
-
32
- bill = {
33
- params: qr_params,
34
- output: QRHTMLLayout.create(qr_params)
35
- }
36
-
37
- return bill
28
+ { params: qr_params, output: output }
38
29
  end
39
30
 
40
31
  def self.create_creditor_reference(reference)
41
- return QRCreditorReference.create(reference)
32
+ QRCreditorReference.create(reference)
42
33
  end
43
34
 
44
35
  def self.get_qr_params
@@ -54,6 +45,6 @@ class QRBills
54
45
  end
55
46
 
56
47
  def self.get_qrbill_without_reference_type
57
- QRParams::QR_BILL_WITOUTH_REFERENCE
48
+ QRParams::QR_BILL_WITHOUT_REFERENCE
58
49
  end
59
- end
50
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qr-bills
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Damiano Radice
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-05 00:00:00.000000000 Z
11
+ date: 2021-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -50,26 +50,6 @@ dependencies:
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '2'
53
- - !ruby/object:Gem::Dependency
54
- name: rmagick
55
- requirement: !ruby/object:Gem::Requirement
56
- requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- version: 4.1.2
60
- - - "<"
61
- - !ruby/object:Gem::Version
62
- version: '5'
63
- type: :runtime
64
- prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: 4.1.2
70
- - - "<"
71
- - !ruby/object:Gem::Version
72
- version: '5'
73
53
  - !ruby/object:Gem::Dependency
74
54
  name: rspec
75
55
  requirement: !ruby/object:Gem::Requirement
@@ -100,15 +80,15 @@ dependencies:
100
80
  version: '13.0'
101
81
  description: 'QR-bills support for swiss payments, for full documentation please refer
102
82
  to github repo: https://github.com/damoiser/qr-bills'
103
- email: damoiser+qrbill@gmail.com
83
+ email: dam.radice@gmail.com
104
84
  executables: []
105
85
  extensions: []
106
86
  extra_rdoc_files: []
107
87
  files:
108
- - config/locales/de.yml
109
- - config/locales/en.yml
110
- - config/locales/fr.yml
111
- - config/locales/it.yml
88
+ - config/locales/qrbills.de.yml
89
+ - config/locales/qrbills.en.yml
90
+ - config/locales/qrbills.fr.yml
91
+ - config/locales/qrbills.it.yml
112
92
  - lib/qr-bills.rb
113
93
  - lib/qr-bills/qr-creditor-reference.rb
114
94
  - lib/qr-bills/qr-exceptions.rb
@@ -133,7 +113,7 @@ metadata:
133
113
  homepage_uri: https://github.com/damoiser/qr-bills
134
114
  source_code_uri: https://github.com/damoiser/qr-bills
135
115
  wiki_uri: https://github.com/damoiser/qr-bills
136
- post_install_message:
116
+ post_install_message:
137
117
  rdoc_options: []
138
118
  require_paths:
139
119
  - lib
@@ -149,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
129
  version: '0'
150
130
  requirements: []
151
131
  rubygems_version: 3.1.2
152
- signing_key:
132
+ signing_key:
153
133
  specification_version: 4
154
134
  summary: QR-bills support for swiss payments
155
135
  test_files: []
@@ -1,15 +0,0 @@
1
- de:
2
- payment_part: Zahlteil
3
- account: Konto
4
- payable_to: Zahlbar an
5
- reference: Referenz
6
- additional_information: zusätzliche Informationen
7
- further_information: weitere Informationen
8
- currency: Währung
9
- amount: Betrag
10
- receipt: Empfangsschein
11
- acceptance_point: Annahmestelle
12
- separate_before_paying_in: Vor der Einzahlung abzutrennen
13
- payable_by: Zahlbar durch
14
- payable_by_name_addr: Zahlbar durch (Name/Adresse)
15
- in_favour_of: Zugunsten
@@ -1,15 +0,0 @@
1
- en:
2
- payment_part: payment part
3
- account: account
4
- payable_to: payable to
5
- reference: reference
6
- additional_information: additional information
7
- further_information: further information
8
- currency: currency
9
- amount: amount
10
- receipt: receipt
11
- acceptance_point: acceptance point
12
- separate_before_paying_in: separate before paying in
13
- payable_by: payable by
14
- payable_by_name_addr: payable by (name/address)
15
- in_favour_of: in favour of
@@ -1,15 +0,0 @@
1
- fr:
2
- payment_part: section paiement
3
- account: compte
4
- payable_to: payable à
5
- reference: référence
6
- additional_information: informations additionnelles
7
- further_information: informations supplémentaires
8
- currency: monnaie
9
- amount: montant
10
- receipt: récépissé
11
- acceptance_point: èpomt de dépôt
12
- separate_before_paying_in: à détacher avant le versement
13
- payable_by: payable par
14
- payable_by_name_addr: payable par (nom/adresse)
15
- in_favour_of: en faveur de
@@ -1,15 +0,0 @@
1
- it:
2
- payment_part: "sezione pagamento"
3
- account: conto
4
- payable_to: "pagabile a"
5
- reference: riferimento
6
- additional_information: "informazioni aggiuntive"
7
- further_information: "informazioni supplementari"
8
- currency: valuta
9
- amount: importo
10
- receipt: ricevuta
11
- acceptance_point: "punto di accettazione"
12
- separate_before_paying_in: "da staccare prima del versamento"
13
- payable_by: pagabile da
14
- payable_by_name_addr: pagabile da (nome/indirizzo)
15
- in_favour_of: a favore di