snappler_contable_multicurrency 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +398 -0
- data/Rakefile +39 -0
- data/app/helpers/snappler_contable_helper.rb +42 -0
- data/app/models/ledger_account.rb +217 -0
- data/app/models/ledger_account_activo.rb +8 -0
- data/app/models/ledger_account_pasivo.rb +6 -0
- data/app/models/ledger_account_patrimonio_neto.rb +6 -0
- data/app/models/ledger_account_relation.rb +8 -0
- data/app/models/ledger_account_resultado_negativo.rb +6 -0
- data/app/models/ledger_account_resultado_positivo.rb +6 -0
- data/app/models/ledger_currency.rb +5 -0
- data/app/models/ledger_entry.rb +7 -0
- data/app/models/ledger_move.rb +76 -0
- data/lib/generators/snappler_contable/initializer_generator.rb +11 -0
- data/lib/generators/snappler_contable/migrate_generator.rb +25 -0
- data/lib/generators/snappler_contable/new_currency_generator.rb +23 -0
- data/lib/generators/snappler_contable/templates/snappler_contable_add_currencies.rb +20 -0
- data/lib/generators/snappler_contable/templates/snappler_contable_app_ledger_accounts.rb +48 -0
- data/lib/generators/snappler_contable/templates/snappler_contable_migrate.rb +68 -0
- data/lib/generators/snappler_contable/templates/snappler_contable_new_currency.rb +14 -0
- data/lib/snappler_contable/ext/string.rb +5 -0
- data/lib/snappler_contable/railtie.rb +4 -0
- data/lib/snappler_contable/snappler_contable.rb +154 -0
- data/lib/snappler_contable/version.rb +3 -0
- data/lib/snappler_contable_multicurrency.rb +14 -0
- data/lib/tasks/snappler_contable_tasks.rake +4 -0
- data/spec/internal/config/database_example.yml +8 -0
- data/spec/internal/config/initializers/snappler_contable.rb +8 -0
- data/spec/internal/config/routes.rb +3 -0
- data/spec/internal/db/schema.rb +64 -0
- data/spec/internal/public/favicon.ico +0 -0
- data/spec/models/ledger_account_spec.rb +308 -0
- data/spec/spec_helper.rb +75 -0
- metadata +84 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a1e2fbc479081a3898df533c376dc2d605b867b7
|
4
|
+
data.tar.gz: 433542dbeff287ff71ebabbb9f3afaf52236ca97
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7992a3fda9c994ea273f2633974723cbd2002e268b82ec4752825d50d6464a410c28cc0055a8433105fad687f201d3f582e04e3bfc5755bd0c1ca896eda096e8
|
7
|
+
data.tar.gz: 8ecfc911339bad0ae748e8cbc6956fbc798af6af9c94036141e911d50365aff67e46133f37ec01808550af11d3c63209fae623ac4b9736ffbe601e7847f1405b
|
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright 2013 YOURNAME
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,398 @@
|
|
1
|
+
# SnapplerContable
|
2
|
+
|
3
|
+
Esta gema agrega a una aplicacion la capacidad de manejar cuentas contables con el modelo teorico economico.
|
4
|
+
|
5
|
+
## Instalacion
|
6
|
+
|
7
|
+
Agregar esta linea al Gemfile
|
8
|
+
```ruby
|
9
|
+
gem "snappler_contable_multicurrency"
|
10
|
+
```
|
11
|
+
Ejecutar
|
12
|
+
```bash
|
13
|
+
$ bundle install
|
14
|
+
```
|
15
|
+
Después de instalar se deben correr estos comandos
|
16
|
+
```bash
|
17
|
+
$ rails g snappler_contable:initializer
|
18
|
+
```
|
19
|
+
Esto va a crear el achivo:
|
20
|
+
```bash
|
21
|
+
# Configuracion de constantes para el sistema.
|
22
|
+
config/initializers/snappler_contable.rb
|
23
|
+
```
|
24
|
+
```bash
|
25
|
+
$ rails g snappler_contable:migrate
|
26
|
+
```
|
27
|
+
|
28
|
+
Esto va a crear las migraciones:
|
29
|
+
```bash
|
30
|
+
#Crea la estructura y crea cuentas base 'activo', 'pasivo', 'patrimonio_neto', 'resultado_positivo', 'resultado_negativo'
|
31
|
+
aaaammdd_snappler_contable_migrate.rb
|
32
|
+
|
33
|
+
#Agrega columnas para USD, EUR y BRL
|
34
|
+
aaaammdd_snappler_contable_add_currencies.rb
|
35
|
+
|
36
|
+
#Carga cuentas DUMMY (Esta se puede borrar si no hace falta)
|
37
|
+
aaaammdd_snappler_contable_app_ledger_accounts.rb
|
38
|
+
```
|
39
|
+
```bash
|
40
|
+
$ rake db:migrate
|
41
|
+
```
|
42
|
+
|
43
|
+
Y listo
|
44
|
+
|
45
|
+
### Extra
|
46
|
+
```bash
|
47
|
+
$ rails g snappler_contable:new_currency
|
48
|
+
```
|
49
|
+
|
50
|
+
Esto crea una migracion simulando una nueva moneda, ejemplo el YEN
|
51
|
+
```bash
|
52
|
+
#Crea la columna en 'ledger_accounts' y agrega la entidad a 'ledger_currencies'
|
53
|
+
aaaammdd_snappler_contable_new_currency.rb
|
54
|
+
```
|
55
|
+
|
56
|
+
---
|
57
|
+
|
58
|
+
|
59
|
+
## Problemas en Rails
|
60
|
+
|
61
|
+
### Migrations
|
62
|
+
#### Versión de ActiveRecord
|
63
|
+
Si muestra un **error** como este al migrar:
|
64
|
+
```
|
65
|
+
Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release
|
66
|
+
```
|
67
|
+
Se debe agregar la versión de Rails en la definición de la superclase en las migraciones:
|
68
|
+
|
69
|
+
```ruby
|
70
|
+
# /db/migrate/aaaammdd_snappler_contable_migrate
|
71
|
+
|
72
|
+
class SnapplerContableMigrate <ActiveRecord::Migration
|
73
|
+
...
|
74
|
+
```
|
75
|
+
Agregar:
|
76
|
+
```ruby
|
77
|
+
# /db/migrate/aaaammdd_snappler_contable_migrate
|
78
|
+
|
79
|
+
class SnapplerContableMigrate <ActiveRecord::Migration[5.1] #o lo que corresponda
|
80
|
+
...
|
81
|
+
```
|
82
|
+
#### Error crando cuentas base (activo, pasivo...)
|
83
|
+
Rails agregó un control
|
84
|
+
---```bash
|
85
|
+
$ rails g snappler_contable:initializer
|
86
|
+
```
|
87
|
+
Esto va a crear el achivo:
|
88
|
+
```bash
|
89
|
+
# Configuracion de constantes para el sistema.
|
90
|
+
config/initializers/snappler_contable.rb
|
91
|
+
```
|
92
|
+
```bash
|
93
|
+
$ rails g snappler_contable:migrate
|
94
|
+
```
|
95
|
+
|
96
|
+
Esto va a crear las migraciones:
|
97
|
+
```bash
|
98
|
+
#Crea la estructura y crea cuentas base 'activo', 'pasivo', 'patrimonio_neto', 'resultado_positivo', 'resultado_negativo'
|
99
|
+
aaaammdd_snappler_contable_migrate.rb
|
100
|
+
|
101
|
+
#Agrega columnas para USD, EUR y BRL
|
102
|
+
aaaammdd_snappler_contable_add_currencies.rb
|
103
|
+
|
104
|
+
#Carga cuentas DUMMY (Esta se puede borrar si no hace falta)
|
105
|
+
aaaammdd_snappler_contable_app_ledger_accounts.rb
|
106
|
+
```
|
107
|
+
```bash
|
108
|
+
$ rake db:migrate
|
109
|
+
```
|
110
|
+
|
111
|
+
Y listo
|
112
|
+
|
113
|
+
### Extra
|
114
|
+
```bash
|
115
|
+
$ rails g snappler_contable:new_currency
|
116
|
+
```
|
117
|
+
|
118
|
+
Esto crea una migracion simulando una nueva moneda, ejemplo el YEN
|
119
|
+
```bash
|
120
|
+
#Crea la columna en 'ledger_accounts' y agrega la entidad a 'ledger_currencies'
|
121
|
+
aaaammdd_snappler_contable_new_currency.rb
|
122
|
+
```
|
123
|
+
|
124
|
+
---
|
125
|
+
|
126
|
+
|
127
|
+
## Problemas en Rails
|
128
|
+
|
129
|
+
### Migrations
|
130
|
+
#### Versión de ActiveRecord
|
131
|
+
Si muestra un **error** como este al migrar:
|
132
|
+
```
|
133
|
+
Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release
|
134
|
+
```
|
135
|
+
Se debe agregar la versión de Rails en la definición de la superclase en las migraciones:
|
136
|
+
|
137
|
+
```ruby
|
138
|
+
# /db/migrate/aaaammdd_snappler_contable_migrate
|
139
|
+
|
140
|
+
class SnapplerContableMigrate <ActiveRecord::Migration
|
141
|
+
...
|
142
|
+
```
|
143
|
+
Agregar:
|
144
|
+
```ruby
|
145
|
+
# /db/migrate/aaaammdd_snappler_contable_migrate
|
146
|
+
|
147
|
+
class SnapplerContableMigrate <ActiveRecord::Migration[5.1] #o lo que corresponda
|
148
|
+
...
|
149
|
+
```
|
150
|
+
#### Error crando cuentas base (activo, pasivo...)
|
151
|
+
Rails agregó un control
|
152
|
+
---```bash
|
153
|
+
$ rails g snappler_contable:initializer
|
154
|
+
```
|
155
|
+
Esto va a crear el achivo:
|
156
|
+
```bash
|
157
|
+
# Configuracion de constantes para el sistema.
|
158
|
+
config/initializers/snappler_contable.rb
|
159
|
+
```
|
160
|
+
```bash
|
161
|
+
$ rails g snappler_contable:migrate
|
162
|
+
```
|
163
|
+
|
164
|
+
Esto va a crear las migraciones:
|
165
|
+
```bash
|
166
|
+
#Crea la estructura y crea cuentas base 'activo', 'pasivo', 'patrimonio_neto', 'resultado_positivo', 'resultado_negativo'
|
167
|
+
aaaammdd_snappler_contable_migrate.rb
|
168
|
+
|
169
|
+
#Agrega columnas para USD, EUR y BRL
|
170
|
+
aaaammdd_snappler_contable_add_currencies.rb
|
171
|
+
|
172
|
+
#Carga cuentas DUMMY (Esta se puede borrar si no hace falta)
|
173
|
+
aaaammdd_snappler_contable_app_ledger_accounts.rb
|
174
|
+
```
|
175
|
+
```bash
|
176
|
+
$ rake db:migrate
|
177
|
+
```
|
178
|
+
|
179
|
+
Y listo
|
180
|
+
|
181
|
+
### Extra
|
182
|
+
```bash
|
183
|
+
$ rails g snappler_contable:new_currency
|
184
|
+
```
|
185
|
+
|
186
|
+
Esto crea una migracion simulando una nueva moneda, ejemplo el YEN
|
187
|
+
```bash
|
188
|
+
#Crea la columna en 'ledger_accounts' y agrega la entidad a 'ledger_currencies'
|
189
|
+
aaaammdd_snappler_contable_new_currency.rb
|
190
|
+
```
|
191
|
+
---
|
192
|
+
|
193
|
+
## Uso
|
194
|
+
|
195
|
+
### Traer cuentas
|
196
|
+
```ruby
|
197
|
+
xxxx = LedgerAccount.get('Nombre de cuenta')
|
198
|
+
```
|
199
|
+
#### Ejemplo:
|
200
|
+
```ruby
|
201
|
+
activo = LedgerAccount.get('activo')
|
202
|
+
pasivo = LedgerAccount.get('pasivo')
|
203
|
+
patrimonio_neto = LedgerAccount.get('patrimonio_neto')
|
204
|
+
resultado_positivo = LedgerAccount.get('resultado_positivo')
|
205
|
+
resultado_negativo = LedgerAccount.get('resultado_negativo') (*)
|
206
|
+
```
|
207
|
+
```ruby
|
208
|
+
(*) LedgerAccount.get('resultado_negativo') == LedgerAccount.get('Resultado Negativo')
|
209
|
+
```
|
210
|
+
Es similar, ya que el parametro se trata poniendo en minuscula y cambiando los " " por "_"
|
211
|
+
|
212
|
+
|
213
|
+
### Agregar cuentas hijas
|
214
|
+
|
215
|
+
Agregar cuentas hija
|
216
|
+
```ruby
|
217
|
+
#Cuenta padre
|
218
|
+
xxxx = LedgerAccount.get('XXXX')
|
219
|
+
|
220
|
+
#Agrego YYYY como hija de XXXX
|
221
|
+
xxxx.add_child("YYYY", "yyyy")
|
222
|
+
```
|
223
|
+
|
224
|
+
#### Ejemplo:
|
225
|
+
```ruby
|
226
|
+
activo = LedgerAccount.get('activo')
|
227
|
+
disponibilidades = activo.add_child("Disponibilidades", "disponibilidades")
|
228
|
+
caja = disponibilidades.add_child("Caja", "caja")
|
229
|
+
banco = disponibilidades.add_child("Banco", "banco")
|
230
|
+
```
|
231
|
+
|
232
|
+
dejando una estructura asi:
|
233
|
+
```
|
234
|
+
1 activo
|
235
|
+
1.1 disponibilidades
|
236
|
+
1.1.1 caja
|
237
|
+
1.1.2 banco
|
238
|
+
```
|
239
|
+
|
240
|
+
|
241
|
+
|
242
|
+
Agregar cuentas hija con objeto relacionado
|
243
|
+
```ruby
|
244
|
+
#Cuenta padre
|
245
|
+
xxxx = LedgerAccount.get('XXXX')
|
246
|
+
|
247
|
+
#En este caso lo relaciono ademas con un objeto
|
248
|
+
xxxx.add_child("ZZZZ", "zzzz", objeto_owner)
|
249
|
+
```
|
250
|
+
|
251
|
+
#### Ejemplo:
|
252
|
+
```ruby
|
253
|
+
banco = LedgerAccount.get('banco')
|
254
|
+
|
255
|
+
banco_1 = Bank.find(1)
|
256
|
+
banco_acc_1 = banco.add_child(banco_1.name, "banco", banco_1)
|
257
|
+
|
258
|
+
banco_2 = Bank.find(2)
|
259
|
+
banco_acc_2 = banco.add_child(banco_2.name, "banco", banco_2)
|
260
|
+
```
|
261
|
+
dejando una estructura asi:
|
262
|
+
```
|
263
|
+
1 activo
|
264
|
+
1.1 disponibilidades
|
265
|
+
1.1.1 caja
|
266
|
+
1.1.2 banco
|
267
|
+
1.1.2.1 banco_1
|
268
|
+
1.1.2.2 banco_2
|
269
|
+
```
|
270
|
+
|
271
|
+
### Generar Operaciones
|
272
|
+
```ruby
|
273
|
+
entryX = SnapplerContable.op(array_debe(*), array_haber(*), hash(**))
|
274
|
+
```
|
275
|
+
```
|
276
|
+
(*) La estructura del array_debe o array_haber, es la misma, es un array de hashes, cada hash tiene la sig estructura:
|
277
|
+
```
|
278
|
+
```ruby
|
279
|
+
{
|
280
|
+
account: cuenta_x, # (LedgerAccount)
|
281
|
+
value: XXX.XX, # (puede tener hasta 2 decimales)
|
282
|
+
ledger_currency: 'XXX', #Opc* (Permite código ['ARS', 'USD', etc], o id [1,2,3], o entidad(LedgerCurrency), (Si no especifico la moneda, usa por defecto la configurada en el sistema)
|
283
|
+
represent_value: XXX.XX, # (puede tener hasta 2 decimales)
|
284
|
+
represent_ledger_currency: 'XXX', #Opc* (Permite código ['ARS', 'USD', etc], o id [1,2,3], o entidad(LedgerCurrency), (Si no especifico la moneda, usa por defecto la configurada en el sistema)
|
285
|
+
currency_change: XXX.XX, # (puede tener hasta 2 decimales)
|
286
|
+
}
|
287
|
+
```
|
288
|
+
```
|
289
|
+
(**) El hash es opcional y su estructura es:
|
290
|
+
```
|
291
|
+
```ruby
|
292
|
+
{
|
293
|
+
code_name: '', #Opc* (Código que se le asigna a la entry, sirve para filtrar entries por nombre)
|
294
|
+
owner: '' #Opc* (Indica el objeto que genera la Entry)
|
295
|
+
datetime: DateTime #Opc* (Por defecto si no se manda toma DateTime.now)
|
296
|
+
}
|
297
|
+
```
|
298
|
+
#### Ejemplo:
|
299
|
+
|
300
|
+
##### Movimiento Comun
|
301
|
+
```ruby
|
302
|
+
#Incremento de deuda de cliente_1 por $10
|
303
|
+
|
304
|
+
entry1 = SnapplerContable.op([{account: cliente_1, value: 100}],
|
305
|
+
[{account: ventas, value: 100}])
|
306
|
+
```
|
307
|
+
|
308
|
+
##### Movimiento en otra divisa
|
309
|
+
```ruby
|
310
|
+
#Incremento de deuda de cliente_1 por u$s100
|
311
|
+
|
312
|
+
entry2 = SnapplerContable.op([{account: cliente_1, value: 100, ledger_currency: 'USD'}],
|
313
|
+
[{account: ventas, value: 100, ledger_currency: 'USD'}])
|
314
|
+
```
|
315
|
+
|
316
|
+
|
317
|
+
##### Movimiento con variacion de divisas 1
|
318
|
+
```ruby
|
319
|
+
#Decremento de deuda de cliente_1 por u$s10
|
320
|
+
#(El cliente en realidad paga $152, que es lo que queda en la caja, pero el valor representa un pago por u$s10 a una cotizacion de 15.2)
|
321
|
+
|
322
|
+
entry3 = SnapplerContable.op([{account: caja, value: 152, ledger_currency: 'ARS'}],
|
323
|
+
[{account: cliente_1, value: 152, ledger_currency: 'ARS', represent_value: 10, represent_ledger_currency: 'USD', currency_change: 15.2}])
|
324
|
+
```
|
325
|
+
##### Movimiento con variacion de divisas 2
|
326
|
+
```ruby
|
327
|
+
#cambio de divisa sobre caja
|
328
|
+
|
329
|
+
entry4 = SnapplerContable.op([{account: caja, value: 1520, ledger_currency: 'ARS'}],
|
330
|
+
[{account: caja, value: 1520, ledger_currency: 'ARS', represent_value: 100, represent_ledger_currency: 'USD', currency_change: 15.2}])
|
331
|
+
```
|
332
|
+
### Consultas de saldo a una cuenta
|
333
|
+
```ruby
|
334
|
+
#Cuenta a consultar
|
335
|
+
xxxx = LedgerAccount.get('XXXX')
|
336
|
+
|
337
|
+
#Balance de la cuenta xxxx en la moneda YYY
|
338
|
+
xxxx.balance_YYY(hash(*))
|
339
|
+
|
340
|
+
#Balance de la cuenta xxxx en todas las monedas
|
341
|
+
xxxx.balance(hash(*))
|
342
|
+
```
|
343
|
+
```
|
344
|
+
(*) El hash es opcional y su estructura es:
|
345
|
+
```
|
346
|
+
```ruby
|
347
|
+
{
|
348
|
+
from: '', #Opc* (Fecha desde)
|
349
|
+
to: DateTime #Opc* (Fecha hasta)
|
350
|
+
}
|
351
|
+
```
|
352
|
+
#### Ejemplo:
|
353
|
+
|
354
|
+
```ruby
|
355
|
+
cliente_1 = LedgerAccount.get('cliente_1')
|
356
|
+
|
357
|
+
#----------------------------- Consulta de saldo en $ al momento
|
358
|
+
cliente_1.balance_ars
|
359
|
+
|
360
|
+
#----------------------------- Consulta de saldo en u$s al momento
|
361
|
+
cliente_1.balance_usd
|
362
|
+
|
363
|
+
#----------------------------- Consulta de saldo en $ a partir del 20/10/2017
|
364
|
+
cliente_1.balance_ars({from: '20/10/2017'})
|
365
|
+
|
366
|
+
#----------------------------- Consulta de saldo en u$s hasta el 20/10/2017
|
367
|
+
cliente_1.balance_usd({to: '20/10/2017'})
|
368
|
+
|
369
|
+
#----------------------------- Consulta de saldo en u$s a partir del 20/10/2017 hasta el 22/10/2017
|
370
|
+
cliente_1.balance_usd({from: '20/10/2017', to: '22/10/2017'})
|
371
|
+
|
372
|
+
#----------------------------- Consulta de saldo en todas las monedas
|
373
|
+
cliente_1.balance
|
374
|
+
|
375
|
+
#----------------------------- Consulta de saldo en todas las monedas a partir del 20/10/2017 hasta el 22/10/2017
|
376
|
+
cliente_1.balance({from: '20/10/2017', to: '22/10/2017'})
|
377
|
+
```
|
378
|
+
### Helper que imprime el arbol de cuentas
|
379
|
+
```ruby
|
380
|
+
<%= print_accounts_tree %>
|
381
|
+
```
|
382
|
+
## RubyGems
|
383
|
+
|
384
|
+
Esta gema está publicada en RubyGems:
|
385
|
+
|
386
|
+
* https://rubygems.org/gems/snappler_contable_multicurrency
|
387
|
+
|
388
|
+
**user:** juan.labattaglia@snappler.com
|
389
|
+
|
390
|
+
### Actualizacion
|
391
|
+
|
392
|
+
Una vez que hay una nueva versión, modificar `lib/snappler_contable/version.rb`
|
393
|
+
|
394
|
+
Luego ejecutar:
|
395
|
+
```bash
|
396
|
+
gem build snappler_contable_multicurrency.gemspec
|
397
|
+
gem push snappler_contable_multicurrency-[VERSION].gem
|
398
|
+
```
|
data/Rakefile
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
begin
|
3
|
+
require 'bundler/setup'
|
4
|
+
rescue LoadError
|
5
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
6
|
+
end
|
7
|
+
begin
|
8
|
+
require 'rdoc/task'
|
9
|
+
rescue LoadError
|
10
|
+
require 'rdoc/rdoc'
|
11
|
+
require 'rake/rdoctask'
|
12
|
+
RDoc::Task = Rake::RDocTask
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
17
|
+
rdoc.rdoc_dir = 'rdoc'
|
18
|
+
rdoc.title = 'SnapplerContable'
|
19
|
+
rdoc.options << '--line-numbers'
|
20
|
+
rdoc.rdoc_files.include('README.rdoc')
|
21
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
Bundler::GemHelper.install_tasks
|
28
|
+
|
29
|
+
require 'rake/testtask'
|
30
|
+
|
31
|
+
Rake::TestTask.new(:test) do |t|
|
32
|
+
t.libs << 'lib'
|
33
|
+
t.libs << 'test'
|
34
|
+
t.pattern = 'test/**/*_test.rb'
|
35
|
+
#t.verbose = false
|
36
|
+
end
|
37
|
+
|
38
|
+
|
39
|
+
task :default => :test
|