billme 0.13.0 → 0.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/example.rb +6 -0
- data/lib/billme/support/helpers.rb +4 -0
- data/lib/billme/version.rb +1 -1
- data/lib/billme/views/bill.html.erb +37 -9
- data/lib/billme/views/style.css +22 -3
- data/output.html +58 -11
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83a50de3da8ed93ad81fac259507bb2d797f1473
|
4
|
+
data.tar.gz: 85b1e2af6d3ff305c22a0222936c73f461d3cfac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 04a50baf6661b93a32d4536b97e568e6b8c5cada5409adc37f819098051c70c2ebfb8010be4dd803eaa5865693448524cc139cb7162c412296601e0d10e4b0ba
|
7
|
+
data.tar.gz: d53eb9d46a6a9ed45812c0cf59f57b9f8f1cbee3c860c308aef05c9ed83f8e2a20c266d8aa5857617f4790c39a29086cf4288582900e9dedd3ef9ec770f9dbd7
|
data/example.rb
CHANGED
@@ -13,6 +13,9 @@ Billme.bill do
|
|
13
13
|
company_country "Universe"
|
14
14
|
company_phone "+ 123 123 123 1"
|
15
15
|
company_email "uss@ncc1701.com"
|
16
|
+
vat "123456789"
|
17
|
+
iban "XX123456789"
|
18
|
+
swift "XXX123"
|
16
19
|
end
|
17
20
|
|
18
21
|
client do
|
@@ -46,5 +49,8 @@ Billme.bill do
|
|
46
49
|
other do
|
47
50
|
notice "A finance charge of 1.5% will be made on unpaid balances after 30 days."
|
48
51
|
footer "Invoice was created on a computer and is valid without the signature and seal."
|
52
|
+
payment_method "Credit card"
|
53
|
+
operator "Cpt Picard"
|
54
|
+
pay_number "2015-1-1"
|
49
55
|
end
|
50
56
|
end
|
data/lib/billme/version.rb
CHANGED
@@ -17,16 +17,16 @@
|
|
17
17
|
<% end %>
|
18
18
|
<h1>INVOICE <%= @data[:number] %></h1>
|
19
19
|
<div id="company" class="clearfix">
|
20
|
-
<div
|
21
|
-
|
22
|
-
|
23
|
-
<div>PHONE: <%= @data[:company][:company_phone] %></div>
|
20
|
+
<div><%= @data[:company][:company_name] %></div>
|
21
|
+
<% if @data[:company][:vat] %>
|
22
|
+
<div><%= @data[:company][:vat] %></div>
|
24
23
|
<% end %>
|
25
|
-
|
26
|
-
|
24
|
+
<div><%= @data[:company][:company_address] %><br /> <%= @data[:company][:company_city] %>, <%= @data[:company][:company_country] %></div>
|
25
|
+
<% if @data[:company][:company_phone] %>
|
26
|
+
<div><%= @data[:company][:company_phone] %></div>
|
27
27
|
<% end %>
|
28
28
|
<% if @data[:company][:company_email] %>
|
29
|
-
<div
|
29
|
+
<div><a href="mailto:<%= @data[:company][:company_email] %>"><%= @data[:company][:company_email] %></a></div>
|
30
30
|
<% end %>
|
31
31
|
</div>
|
32
32
|
<div id="project">
|
@@ -34,6 +34,7 @@
|
|
34
34
|
<div><span>PROJECT</span> <%= @data[:client][:project_name] %></div>
|
35
35
|
<% end %>
|
36
36
|
<div><span>CLIENT</span> <%= @data[:client][:name] %></div>
|
37
|
+
<div><span>VAT</span> <%= @data[:client][:vat] %></div>
|
37
38
|
<div><span>ADDRESS</span> <%= @data[:client][:address] %></div>
|
38
39
|
<% if @data[:client][:email] %>
|
39
40
|
<div><span>EMAIL</span> <a href="mailto:<%= @data[:client][:email] %>"><%= @data[:client][:email] %></a></div>
|
@@ -58,7 +59,7 @@
|
|
58
59
|
<% @data[:services][:services].each do |service| %>
|
59
60
|
<tr>
|
60
61
|
<td class="service"><%= service[:name] %></td>
|
61
|
-
<td class="desc"><%= service[:description] %></td>
|
62
|
+
<td class="desc"><%= service[:description] || '-' %></td>
|
62
63
|
<td class="unit"><%= service[:unit] %><%= @data[:services][:currency] %></td>
|
63
64
|
<td class="qty"><%= service[:quantity] %></td>
|
64
65
|
<td class="total"><%= service[:quantity].to_i * service[:unit].to_i %><%= @data[:services][:currency] %></td>
|
@@ -75,7 +76,7 @@
|
|
75
76
|
</tr>
|
76
77
|
<tr>
|
77
78
|
<td colspan="3" class="grand total">TOTAL</td>
|
78
|
-
<td class="grand total"><td class="total"><%= @data[:services][:total] %><%= @data[:services][:currency] %></td>
|
79
|
+
<td class="grand total"><td class="grand total"><%= @data[:services][:total] %><%= @data[:services][:currency] %></td>
|
79
80
|
</td>
|
80
81
|
</tr>
|
81
82
|
</tbody>
|
@@ -83,9 +84,36 @@
|
|
83
84
|
<div id="notices">
|
84
85
|
<div>NOTICE:</div>
|
85
86
|
<div class="notice"><%= @data[:other][:notice] %></div>
|
87
|
+
<div>PAYMENT METHOD:</div>
|
88
|
+
<div class="notice"><%= @data[:other][:payment_method] %></div>
|
89
|
+
<div>OPERATOR:</div>
|
90
|
+
<div class="notice"><%= @data[:other][:operator] %></div>
|
91
|
+
<div>ACCOUNT NUMBER:</div>
|
92
|
+
<div class="notice"><%= @data[:company][:iban] %></div>
|
93
|
+
<div>PAYMENT ID:</div>
|
94
|
+
<div class="notice"><%= @data[:other][:pay_number] %></div>
|
86
95
|
</div>
|
87
96
|
</main>
|
88
97
|
<footer>
|
98
|
+
<div id="other">
|
99
|
+
<div class="column-left">
|
100
|
+
<p class="title">Our addresses</p>
|
101
|
+
<p><%= @data[:company][:company_address] %></p>
|
102
|
+
<p><%= @data[:company][:company_city] %></p>
|
103
|
+
<p><%= @data[:company][:company_country] %></p>
|
104
|
+
</div>
|
105
|
+
<div class="column-center">
|
106
|
+
<p class="title">Legal</p>
|
107
|
+
<p>VAT: <%= show(@data[:company][:vat]) %> </p>
|
108
|
+
<p>IBAN: <%= show(@data[:company][:iban]) %> </p>
|
109
|
+
<p>SWIFT: <%= show(@data[:company][:swift]) %> </p>
|
110
|
+
</div>
|
111
|
+
<div class="column-right">
|
112
|
+
<p class="title">Contact</p>
|
113
|
+
<p>EMAIL: <%= show(@data[:company][:company_email]) %> </p>
|
114
|
+
<p>PHONE: <%= show(@data[:company][:company_phone]) %> </p>
|
115
|
+
</div>
|
116
|
+
</div>
|
89
117
|
<%= @data[:other][:footer] %>
|
90
118
|
</footer>
|
91
119
|
</body>
|
data/lib/billme/views/style.css
CHANGED
@@ -116,20 +116,39 @@ table td.total {
|
|
116
116
|
}
|
117
117
|
|
118
118
|
table td.grand {
|
119
|
-
border-top: 1px solid #5D6975
|
119
|
+
border-top: 1px solid #5D6975;
|
120
120
|
}
|
121
121
|
|
122
122
|
#notices .notice {
|
123
123
|
color: #5D6975;
|
124
124
|
font-size: 1.2em;
|
125
|
+
margin-bottom: 10px;
|
126
|
+
}
|
127
|
+
|
128
|
+
#other {
|
129
|
+
color: #C1CED9;
|
130
|
+
font-size: 1.2em;
|
131
|
+
position: relative;
|
132
|
+
top: -20px;
|
133
|
+
text-align: center;
|
134
|
+
margin: 0 auto;
|
125
135
|
}
|
126
136
|
|
137
|
+
#other .title {
|
138
|
+
font-size: 1.25em;
|
139
|
+
color: #5D6975;
|
140
|
+
}
|
141
|
+
|
142
|
+
.column-left{ float: left; width: 33%; }
|
143
|
+
.column-right{ float: right; width: 33%; }
|
144
|
+
.column-center{ display: inline-block; width: 33%; }
|
145
|
+
|
127
146
|
footer {
|
128
147
|
color: #5D6975;
|
129
148
|
width: 100%;
|
130
149
|
height: 30px;
|
131
|
-
position:
|
132
|
-
|
150
|
+
position: relative;
|
151
|
+
top: 100px;
|
133
152
|
border-top: 1px solid #C1CED9;
|
134
153
|
padding: 8px 0;
|
135
154
|
text-align: center;
|
data/output.html
CHANGED
@@ -62,7 +62,7 @@ h1 {
|
|
62
62
|
color: #5D6975;
|
63
63
|
text-align: right;
|
64
64
|
width: 52px;
|
65
|
-
margin-right:
|
65
|
+
margin-right: 12px;
|
66
66
|
display: inline-block;
|
67
67
|
font-size: 0.8em;
|
68
68
|
}
|
@@ -123,20 +123,39 @@ table td.total {
|
|
123
123
|
}
|
124
124
|
|
125
125
|
table td.grand {
|
126
|
-
border-top: 1px solid #5D6975
|
126
|
+
border-top: 1px solid #5D6975;
|
127
127
|
}
|
128
128
|
|
129
129
|
#notices .notice {
|
130
130
|
color: #5D6975;
|
131
131
|
font-size: 1.2em;
|
132
|
+
margin-bottom: 10px;
|
133
|
+
}
|
134
|
+
|
135
|
+
#other {
|
136
|
+
color: #C1CED9;
|
137
|
+
font-size: 1.2em;
|
138
|
+
position: relative;
|
139
|
+
top: -20px;
|
140
|
+
text-align: center;
|
141
|
+
margin: 0 auto;
|
142
|
+
}
|
143
|
+
|
144
|
+
#other .title {
|
145
|
+
font-size: 1.25em;
|
146
|
+
color: #5D6975;
|
132
147
|
}
|
133
148
|
|
149
|
+
.column-left{ float: left; width: 33%; }
|
150
|
+
.column-right{ float: right; width: 33%; }
|
151
|
+
.column-center{ display: inline-block; width: 33%; }
|
152
|
+
|
134
153
|
footer {
|
135
154
|
color: #5D6975;
|
136
155
|
width: 100%;
|
137
156
|
height: 30px;
|
138
|
-
position:
|
139
|
-
|
157
|
+
position: relative;
|
158
|
+
top: 100px;
|
140
159
|
border-top: 1px solid #C1CED9;
|
141
160
|
padding: 8px 0;
|
142
161
|
text-align: center;
|
@@ -148,16 +167,16 @@ footer {
|
|
148
167
|
|
149
168
|
<h1>INVOICE 2016-1-1</h1>
|
150
169
|
<div id="company" class="clearfix">
|
151
|
-
<div>
|
152
|
-
<div>ADDRESS: The Neutral Zone 123<br /> Beta Quadrant, Universe</div>
|
170
|
+
<div>Enterprise LLC</div>
|
153
171
|
|
154
|
-
<div>
|
172
|
+
<div>123456789</div>
|
155
173
|
|
174
|
+
<div>The Neutral Zone 123<br /> Beta Quadrant, Universe</div>
|
156
175
|
|
157
|
-
<div
|
176
|
+
<div>+ 123 123 123 1</div>
|
158
177
|
|
159
178
|
|
160
|
-
<div
|
179
|
+
<div><a href="mailto:uss@ncc1701.com">uss@ncc1701.com</a></div>
|
161
180
|
|
162
181
|
</div>
|
163
182
|
<div id="project">
|
@@ -165,12 +184,13 @@ footer {
|
|
165
184
|
<div><span>PROJECT</span> Battle engagement</div>
|
166
185
|
|
167
186
|
<div><span>CLIENT</span> Federation</div>
|
187
|
+
<div><span>VAT</span> 1234567891011</div>
|
168
188
|
<div><span>ADDRESS</span> Earth</div>
|
169
189
|
|
170
190
|
<div><span>EMAIL</span> <a href="mailto:starfleet@earth.com">starfleet@earth.com</a></div>
|
171
191
|
|
172
192
|
<div><span>BILL DATE</span> 2015-06-01</div>
|
173
|
-
<div><span>
|
193
|
+
<div><span>DELIVERED</span> 2015-05-05</div>
|
174
194
|
<div><span>DUE DATE</span> 2015-06-05</div>
|
175
195
|
</div>
|
176
196
|
</header>
|
@@ -214,7 +234,7 @@ footer {
|
|
214
234
|
</tr>
|
215
235
|
<tr>
|
216
236
|
<td colspan="3" class="grand total">TOTAL</td>
|
217
|
-
<td class="grand total"><td class="total">5000$</td>
|
237
|
+
<td class="grand total"><td class="grand total">5000$</td>
|
218
238
|
</td>
|
219
239
|
</tr>
|
220
240
|
</tbody>
|
@@ -222,9 +242,36 @@ footer {
|
|
222
242
|
<div id="notices">
|
223
243
|
<div>NOTICE:</div>
|
224
244
|
<div class="notice">A finance charge of 1.5% will be made on unpaid balances after 30 days.</div>
|
245
|
+
<div>PAYMENT METHOD:</div>
|
246
|
+
<div class="notice">Credit card</div>
|
247
|
+
<div>OPERATOR:</div>
|
248
|
+
<div class="notice">Cpt Picard</div>
|
249
|
+
<div>ACCOUNT NUMBER:</div>
|
250
|
+
<div class="notice">XX123456789</div>
|
251
|
+
<div>PAYMENT ID:</div>
|
252
|
+
<div class="notice">2015-1-1</div>
|
225
253
|
</div>
|
226
254
|
</main>
|
227
255
|
<footer>
|
256
|
+
<div id="other">
|
257
|
+
<div class="column-left">
|
258
|
+
<p class="title">Our addresses</p>
|
259
|
+
<p>The Neutral Zone 123</p>
|
260
|
+
<p>Beta Quadrant</p>
|
261
|
+
<p>Universe</p>
|
262
|
+
</div>
|
263
|
+
<div class="column-center">
|
264
|
+
<p class="title">Legal</p>
|
265
|
+
<p>VAT: 123456789 </p>
|
266
|
+
<p>IBAN: XX123456789 </p>
|
267
|
+
<p>SWIFT: XXX123 </p>
|
268
|
+
</div>
|
269
|
+
<div class="column-right">
|
270
|
+
<p class="title">Contact</p>
|
271
|
+
<p>EMAIL: uss@ncc1701.com </p>
|
272
|
+
<p>PHONE: + 123 123 123 1 </p>
|
273
|
+
</div>
|
274
|
+
</div>
|
228
275
|
Invoice was created on a computer and is valid without the signature and seal.
|
229
276
|
</footer>
|
230
277
|
</body>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: billme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.19.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hrvoje G
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|