parsbank 0.0.5 → 0.0.8

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.
@@ -0,0 +1,215 @@
1
+
2
+ <%
3
+ # Global Vars
4
+ @supported_psp=Parsbank.supported_psp
5
+ %>
6
+ <style>
7
+ #parsbank-wrapper, #parsbank-wrapper *:not(svg *) {
8
+ all: revert;
9
+ }
10
+
11
+ /* Direction handling based on language and body direction */
12
+ html[lang="fa-IR"] #parsbank-wrapper,
13
+ body[dir="rtl"] #parsbank-wrapper {
14
+ direction: rtl;
15
+ }
16
+
17
+ html[lang="en"] #parsbank-wrapper,
18
+ body[dir="ltr"] #parsbank-wrapper {
19
+ direction: ltr;
20
+ }
21
+
22
+ /* Flex container settings */
23
+ #parsbank-wrapper .flex-container {
24
+ display: flex;
25
+ justify-content: center;
26
+ flex-wrap: wrap;
27
+ }
28
+
29
+ /* Label styling */
30
+ #parsbank-wrapper .flex-container label {
31
+ margin: 15px;
32
+ display: block;
33
+ }
34
+
35
+ #parsbank-wrapper .flex-container label span {
36
+ display: block;
37
+ text-align: center;
38
+ margin: auto;
39
+ }
40
+
41
+ /* Styled radio button container */
42
+ #parsbank-wrapper .styled-radio {
43
+ position: relative;
44
+ object-fit: contain;
45
+ width: 100px;
46
+ height: 100px;
47
+ padding: 15px;
48
+ display: inline-block;
49
+ border-radius: 50%;
50
+ text-align: center;
51
+ }
52
+
53
+ #parsbank-wrapper .styled-radio svg {
54
+ position: absolute;
55
+ height: 100%;
56
+ width: 75%;
57
+ top: 0;
58
+ margin: auto;
59
+ display: block;
60
+ }
61
+
62
+ /* Color class styling */
63
+ #parsbank-wrapper .red { background: tomato; }
64
+ #parsbank-wrapper .green { background: limegreen; }
65
+ #parsbank-wrapper .blue { background: cornflowerblue; }
66
+
67
+ /* Invisible radio button styling */
68
+ #parsbank-wrapper .invisible-radio {
69
+ position: absolute;
70
+ height: 1px;
71
+ width: 1px;
72
+ overflow: hidden;
73
+ clip: rect(1px 1px 1px 1px); /* Ensure it works across browsers */
74
+ }
75
+
76
+ /* After styling when invisible radio is checked */
77
+ #parsbank-wrapper .invisible-radio + label .styled-radio::after {
78
+ content: attr(data-text);
79
+ font-size: 1.5em;
80
+ display: inline-block;
81
+ padding: 20px;
82
+ width: 150px;
83
+ text-align: center;
84
+ position: absolute;
85
+ bottom: -60px;
86
+ }
87
+
88
+ /* Styling when radio is checked */
89
+ #parsbank-wrapper .invisible-radio:checked + label .styled-radio {
90
+ background-color: #FFD700;
91
+ }
92
+
93
+ /* Checkmark display when selected */
94
+ #parsbank-wrapper .invisible-radio:checked + label span:before {
95
+ content: '\2713';
96
+ display: inline-block;
97
+ color: green;
98
+ padding-left: 5px;
99
+ scale: 1.7;
100
+ }
101
+
102
+ /* Hover effect on non-checked radios */
103
+ #parsbank-wrapper .invisible-radio:not(:checked) + label {
104
+ cursor: pointer;
105
+ }
106
+
107
+ #parsbank-wrapper .invisible-radio:not(:checked) + label:hover .styled-radio {
108
+ opacity: 0.7;
109
+ }
110
+
111
+ /* Focus effect on invisible radio */
112
+ #parsbank-wrapper .invisible-radio:focus + label .styled-radio {
113
+ transform: scale(1, 1);
114
+ animation: pulsate 1s alternate ease-in-out infinite;
115
+ }
116
+
117
+ /* Animation for pulsating effect */
118
+ @keyframes pulsate {
119
+ from {
120
+ transform: scale(1);
121
+ box-shadow: none;
122
+ }
123
+ to {
124
+ transform: scale(1.05);
125
+ box-shadow: 1px 4px 8px rgba(0, 0, 0, 0.2);
126
+ }
127
+ }
128
+
129
+ #parsbank-wrapper #parsbank-blockquote{
130
+ display:block !important;
131
+ width:100%;
132
+ }
133
+
134
+
135
+ #parsbank-wrapper select{
136
+ display: none;
137
+ width: 100%;
138
+ padding: .375rem 2.25rem .375rem .75rem;
139
+ -moz-padding-start: calc(0.75rem - 3px);
140
+ font-size: 1rem;
141
+ font-weight: 400;
142
+ line-height: 1.5;
143
+ color: #212529;
144
+ background-color: #fff;
145
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
146
+ background-repeat: no-repeat;
147
+ background-position: <%= ( I18n.locale.to_s == 'fa') ? 'right' : 'left' %> .75rem center;
148
+ background-size: 16px 12px;
149
+ border: 1px solid #ced4da;
150
+ border-radius: .25rem;
151
+ transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
152
+ -webkit-appearance: none;
153
+ -moz-appearance: none;
154
+ appearance: none;
155
+ transition:1s;
156
+
157
+ }
158
+ #parsbank-radio-nobitex:checked ~ .coin-network,#parsbank-radio-binance:checked ~ .coin-network{
159
+ display:block !important;
160
+ opacity: 1;
161
+ transition:1s;
162
+ }
163
+ </style>
164
+
165
+ <section id="parsbank-wrapper">
166
+ <fieldset class="flex-container">
167
+ <legend><%= args.fetch(:legend_message, 'Choose Your Payment Method...') %></legend>
168
+ <div class="flex-container">
169
+ <% Parsbank.available_gateways_list.each_key do |key| %>
170
+ <div id="<%= key %>-wrapper">
171
+ <input type="radio" name="parsbank-selectors" id="parsbank-radio-<%= key %>" value='<%= key %>' class="invisible-radio">
172
+ <label for="parsbank-radio-<%= key %>">
173
+ <div class="styled-radio blue">
174
+ <%= Object.const_get("Parsbank::#{key.capitalize}").logo if defined?(Object.const_get("Parsbank::#{key.capitalize}").logo) %>
175
+ </div>
176
+ <span><%= I18n.t "bank_names.#{key}" %></span>
177
+ </label>
178
+
179
+ <% if ['nobitex','binance'].include? key %>
180
+ <select name='coin-network' class='coin-network <%= key %>-coin-selector'>
181
+ <% Parsbank.supported_psp[key]['support_coins'].each do |coin| %>
182
+ <option value="<%= coin %>"><%= coin.upcase %></option>
183
+ <% end %>
184
+ </select>
185
+ <% end %>
186
+ </div>
187
+ <% end %>
188
+ </div>
189
+
190
+ <blockquote id='parsbank-blockquote' cite="https://github.com/Abrfanet/parsbank"></blockquote>
191
+
192
+ </fieldset>
193
+ </section>
194
+
195
+ <script type="text/javascript">
196
+ document.addEventListener("DOMContentLoaded", function() {
197
+ window.I18n = window.I18n || {};
198
+ window.I18n['<%= I18n.locale.to_s %>'] = <%= I18n.t('.').to_json.html_safe %>;
199
+
200
+ const PSP = <%= @supported_psp.to_json %>;
201
+
202
+ function loadConditions(event) {
203
+ document.getElementById('parsbank-blockquote').textContent = I18n.<%= I18n.locale.to_s %>.bank_list[event.target.value];
204
+ }
205
+
206
+ document.querySelectorAll("input[name='parsbank-selectors']").forEach((input) => {
207
+ input.addEventListener('change', loadConditions);
208
+ });
209
+
210
+
211
+
212
+
213
+
214
+ });
215
+ </script>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parsbank
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mohammad Mahmoodi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-21 00:00:00.000000000 Z
11
+ date: 2025-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: savon
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  description: Focus on your ecommerce we handle your gateways.
42
28
  email:
43
29
  - mm580486@gmail.com
@@ -49,18 +35,29 @@ files:
49
35
  - README.md
50
36
  - Rakefile
51
37
  - lib/configuration.rb
38
+ - lib/db_setup.rb
39
+ - lib/locales/en.yml
40
+ - lib/locales/fa.yml
52
41
  - lib/parsbank.rb
53
- - lib/parsbank/bsc-bitcoin/bsc-bitcoin.rb
54
- - lib/parsbank/bsc-bitcoin/bsc-bitcoin.svg
42
+ - lib/parsbank/binance/binance.rb
43
+ - lib/parsbank/binance/logo.svg
44
+ - lib/parsbank/gates.rb
45
+ - lib/parsbank/mellat/logo.svg
55
46
  - lib/parsbank/mellat/mellat.rb
47
+ - lib/parsbank/nobitex/logo.svg
56
48
  - lib/parsbank/nobitex/nobitex.rb
57
49
  - lib/parsbank/restfull.rb
50
+ - lib/parsbank/soap.rb
51
+ - lib/parsbank/transaction_request.rb
52
+ - lib/parsbank/transaction_verify.rb
58
53
  - lib/parsbank/version.rb
59
54
  - lib/parsbank/zarinpal/logo.svg
60
55
  - lib/parsbank/zarinpal/zarinpal.rb
61
56
  - lib/parsbank/zibal/logo.svg
62
57
  - lib/parsbank/zibal/zibal.rb
63
58
  - lib/psp.json
59
+ - lib/tmpl/_loader.html.erb
60
+ - lib/tmpl/bank_list.html.erb
64
61
  - sig/parsbank.rbs
65
62
  homepage: https://github.com/Abrfanet
66
63
  licenses: