accountant_clerk 0.6 → 0.7

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: f843bf939d8b5a18418520caa9e99c6ee477fbef
4
- data.tar.gz: e2fec3723a3faad2483b983fcf20647523f28d1a
3
+ metadata.gz: 7f654e210d08a3bae4822300c1a5919c06f0d1d3
4
+ data.tar.gz: 425e014673f7036c9f735945d468f0cb5689803c
5
5
  SHA512:
6
- metadata.gz: 3e5eff6e0e3fca79ec7996e52726f368d72762e3fb6e12ec7c9eb3984c689c9461042d27e87a223bee2dda05b58dcdbe3465f92fbe1c8f332786f5e0d77f087f
7
- data.tar.gz: c5f71b30a1c19a6bb5968048c72aa52059625bea86eb9f4b34f618286c53a922a4cf3989215e82948966d375e0e0546331e6c651d0344c66a7d399e3adb454e7
6
+ metadata.gz: 875612323666a5bb3398de2eec8896ab0c68eae237e8731bd249decf784afbfcfe504d241257475e67c71bb6d19f37edfa739a35182b5b99f7afa86e8f894da9
7
+ data.tar.gz: 87cccb549bf367b76caacf226e6169d14afade27a26d3fd824e7a5aa9d904c490d03aba80a55310e49efa7c07f72709e7e7ddc22fc3be64fbeee1f27721d1578
data/Gemfile CHANGED
@@ -5,9 +5,13 @@ gem "accountant_clerk" , :path => "../"
5
5
 
6
6
  gem 'sqlite3'
7
7
 
8
+ # those guys dropped 1.9 support, but i haven't
9
+ gem "autoprefixer-rails" , '< 6.0' , :platform => [:ruby_19]
10
+
11
+
8
12
  #asset / production reelated
9
- gem "therubyracer"
10
- gem "libv8" , "3.16.14.3"
13
+ gem "therubyracer"
14
+ gem "libv8"
11
15
  gem "rb-readline"
12
16
  gem 'uglifier', '>= 1.3.0'
13
17
 
@@ -15,7 +19,7 @@ group :development do
15
19
  gem 'better_errors' , :platforms=>[:mri_20, :mri_21, :rbx]
16
20
  gem 'binding_of_caller', :platforms=>[:mri_19, :mri_20, :mri_21,:rbx]
17
21
  gem 'quiet_assets'
18
- # gem "jeweler", "> 1.6.4"
22
+ gem "i18n-tasks"
19
23
  end
20
24
  group :test do
21
25
  # gem "poltergeist"
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  GIT
2
2
  remote: git://github.com/rubyclerks/office_clerk.git
3
- revision: 784f5f0ac4d419b766a9a2ff42dc16d20541923d
3
+ revision: 9b4b90d42bef4ea44f1f4c22d38e43c2f8c2cde3
4
4
  specs:
5
- office_clerk (0.8)
5
+ office_clerk (0.9)
6
6
  bcrypt-ruby (~> 3.1)
7
7
  best_in_place (~> 3.0)
8
8
  bootstrap-sass (~> 3.1)
@@ -13,56 +13,68 @@ GIT
13
13
  jquery-rails (~> 3.1)
14
14
  jquery-ui-rails (~> 5.0)
15
15
  kramdown (~> 1.5)
16
- paperclip (~> 4.1)
17
- rails (~> 4.1, < 4.2)
16
+ paperclip (~> 4.0)
17
+ rails (~> 4.2, < 5.0)
18
18
  rails-i18n (~> 4.0)
19
- ransack (~> 1.5, >= 1.5.1)
20
- sass-rails (~> 4.0)
19
+ ransack (~> 1.7)
20
+ sass-rails (~> 5.0)
21
21
  valid_email (~> 0.0, >= 0.0.10)
22
22
  will_paginate-bootstrap (~> 1.0)
23
23
 
24
24
  PATH
25
25
  remote: ../
26
26
  specs:
27
- accountant_clerk (0.6)
27
+ accountant_clerk (0.7)
28
28
  flot-rails (~> 0.0.6)
29
- office_clerk (~> 0.8)
29
+ office_clerk (~> 0.9)
30
30
 
31
31
  GEM
32
32
  remote: https://rubygems.org/
33
33
  specs:
34
- actionmailer (4.1.8)
35
- actionpack (= 4.1.8)
36
- actionview (= 4.1.8)
34
+ actionmailer (4.2.5)
35
+ actionpack (= 4.2.5)
36
+ actionview (= 4.2.5)
37
+ activejob (= 4.2.5)
37
38
  mail (~> 2.5, >= 2.5.4)
38
- actionpack (4.1.8)
39
- actionview (= 4.1.8)
40
- activesupport (= 4.1.8)
41
- rack (~> 1.5.2)
39
+ rails-dom-testing (~> 1.0, >= 1.0.5)
40
+ actionpack (4.2.5)
41
+ actionview (= 4.2.5)
42
+ activesupport (= 4.2.5)
43
+ rack (~> 1.6)
42
44
  rack-test (~> 0.6.2)
43
- actionview (4.1.8)
44
- activesupport (= 4.1.8)
45
+ rails-dom-testing (~> 1.0, >= 1.0.5)
46
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
47
+ actionview (4.2.5)
48
+ activesupport (= 4.2.5)
45
49
  builder (~> 3.1)
46
50
  erubis (~> 2.7.0)
47
- activemodel (4.1.8)
48
- activesupport (= 4.1.8)
51
+ rails-dom-testing (~> 1.0, >= 1.0.5)
52
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
53
+ activejob (4.2.5)
54
+ activesupport (= 4.2.5)
55
+ globalid (>= 0.3.0)
56
+ activemodel (4.2.5)
57
+ activesupport (= 4.2.5)
49
58
  builder (~> 3.1)
50
- activerecord (4.1.8)
51
- activemodel (= 4.1.8)
52
- activesupport (= 4.1.8)
53
- arel (~> 5.0.0)
54
- activesupport (4.1.8)
55
- i18n (~> 0.6, >= 0.6.9)
59
+ activerecord (4.2.5)
60
+ activemodel (= 4.2.5)
61
+ activesupport (= 4.2.5)
62
+ arel (~> 6.0)
63
+ activesupport (4.2.5)
64
+ i18n (~> 0.7)
56
65
  json (~> 1.7, >= 1.7.7)
57
66
  minitest (~> 5.1)
58
- thread_safe (~> 0.1)
67
+ thread_safe (~> 0.3, >= 0.3.4)
59
68
  tzinfo (~> 1.1)
60
69
  addressable (2.3.6)
61
- arel (5.0.1.20140414130214)
62
- bcrypt (3.1.9)
70
+ arel (6.0.3)
71
+ autoprefixer-rails (5.2.1.3)
72
+ execjs
73
+ json
74
+ bcrypt (3.1.10)
63
75
  bcrypt-ruby (3.1.5)
64
76
  bcrypt (>= 3.1.3)
65
- best_in_place (3.0.2)
77
+ best_in_place (3.1.0)
66
78
  actionpack (>= 3.2)
67
79
  railties (>= 3.2)
68
80
  better_errors (2.0.0)
@@ -71,9 +83,10 @@ GEM
71
83
  rack (>= 0.9.0)
72
84
  binding_of_caller (0.7.2)
73
85
  debug_inspector (>= 0.0.1)
74
- bootstrap-sass (3.3.1.0)
75
- sass (~> 3.2)
76
- bootstrap_form (2.2.0)
86
+ bootstrap-sass (3.3.6)
87
+ autoprefixer-rails (>= 5.2.1)
88
+ sass (>= 3.3.4)
89
+ bootstrap_form (2.3.0)
77
90
  builder (3.2.2)
78
91
  capybara (2.4.4)
79
92
  mime-types (>= 1.16)
@@ -89,7 +102,7 @@ GEM
89
102
  timers (~> 4.0.0)
90
103
  climate_control (0.0.3)
91
104
  activesupport (>= 3.0)
92
- cocaine (0.5.5)
105
+ cocaine (0.5.8)
93
106
  climate_control (>= 0.0.3, < 1.0)
94
107
  codeclimate-test-reporter (0.4.1)
95
108
  simplecov (>= 0.7.1, < 1.0.0)
@@ -97,20 +110,25 @@ GEM
97
110
  coffee-rails (4.1.0)
98
111
  coffee-script (>= 2.2.0)
99
112
  railties (>= 4.0.0, < 5.0)
100
- coffee-script (2.3.0)
113
+ coffee-script (2.4.1)
101
114
  coffee-script-source
102
115
  execjs
103
- coffee-script-source (1.8.0)
116
+ coffee-script-source (1.10.0)
104
117
  colored (1.2)
118
+ concurrent-ruby (1.0.0)
105
119
  database_cleaner (1.3.0)
106
120
  debug_inspector (0.0.2)
107
121
  diff-lcs (1.2.5)
108
122
  docile (1.1.5)
123
+ easy_translate (0.5.0)
124
+ json
125
+ thread
126
+ thread_safe
109
127
  email_spec (1.6.0)
110
128
  launchy (~> 2.1)
111
129
  mail (~> 2.2)
112
130
  erubis (2.7.0)
113
- execjs (2.2.2)
131
+ execjs (2.6.0)
114
132
  factory_girl (4.5.0)
115
133
  activesupport (>= 3.0.0)
116
134
  factory_girl_rails (4.5.0)
@@ -120,6 +138,8 @@ GEM
120
138
  flot-rails (0.0.6)
121
139
  jquery-rails
122
140
  formatador (0.2.5)
141
+ globalid (0.3.6)
142
+ activesupport (>= 4.1.0)
123
143
  gon (5.2.3)
124
144
  actionpack (>= 2.3.0)
125
145
  json
@@ -136,45 +156,58 @@ GEM
136
156
  guard-rspec (4.3.1)
137
157
  guard (~> 2.1)
138
158
  rspec (>= 2.14, < 4.0)
139
- haml (4.0.6)
159
+ haml (4.0.7)
140
160
  tilt
141
- hike (1.2.3)
161
+ highline (1.6.21)
142
162
  hitimes (1.2.2)
143
163
  i18n (0.7.0)
144
164
  i18n-spec (0.6.0)
145
165
  iso
166
+ i18n-tasks (0.7.10)
167
+ activesupport
168
+ easy_translate (>= 0.5.0)
169
+ erubis
170
+ highline
171
+ i18n
172
+ slop (>= 3.5.0)
173
+ term-ansicolor
174
+ terminal-table
146
175
  iso (0.2.1)
147
176
  i18n
148
- jquery-rails (3.1.2)
177
+ jquery-rails (3.1.4)
149
178
  railties (>= 3.0, < 5.0)
150
179
  thor (>= 0.14, < 2.0)
151
- jquery-ui-rails (5.0.3)
180
+ jquery-ui-rails (5.0.5)
152
181
  railties (>= 3.2.16)
153
- json (1.8.1)
154
- kramdown (1.5.0)
182
+ json (1.8.3)
183
+ kramdown (1.9.0)
155
184
  launchy (2.4.3)
156
185
  addressable (~> 2.3)
157
- libv8 (3.16.14.3)
186
+ libv8 (3.16.14.13)
158
187
  listen (2.8.2)
159
188
  celluloid (>= 0.15.2)
160
189
  rb-fsevent (>= 0.9.3)
161
190
  rb-inotify (>= 0.9)
191
+ loofah (2.0.3)
192
+ nokogiri (>= 1.5.9)
162
193
  lumberjack (1.0.9)
163
194
  mail (2.6.3)
164
195
  mime-types (>= 1.16, < 3)
165
196
  method_source (0.8.2)
166
- mime-types (2.4.3)
197
+ mime-types (2.99)
198
+ mimemagic (0.3.0)
167
199
  mini_portile (0.6.1)
168
- minitest (5.5.0)
169
- multi_json (1.10.1)
200
+ minitest (5.8.3)
201
+ multi_json (1.11.2)
170
202
  nokogiri (1.6.4.1)
171
203
  mini_portile (~> 0.6.0)
172
- paperclip (4.2.1)
173
- activemodel (>= 3.0.0)
174
- activesupport (>= 3.0.0)
175
- cocaine (~> 0.5.3)
204
+ paperclip (4.3.2)
205
+ activemodel (>= 3.2.0)
206
+ activesupport (>= 3.2.0)
207
+ cocaine (~> 0.5.5)
176
208
  mime-types
177
- polyamorous (1.1.0)
209
+ mimemagic (= 0.3.0)
210
+ polyamorous (1.3.0)
178
211
  activerecord (>= 3.0)
179
212
  pry (0.10.1)
180
213
  coderay (~> 1.1.0)
@@ -182,40 +215,49 @@ GEM
182
215
  slop (~> 3.4)
183
216
  quiet_assets (1.0.3)
184
217
  railties (>= 3.1, < 5.0)
185
- rack (1.5.2)
186
- rack-test (0.6.2)
218
+ rack (1.6.4)
219
+ rack-test (0.6.3)
187
220
  rack (>= 1.0)
188
- rails (4.1.8)
189
- actionmailer (= 4.1.8)
190
- actionpack (= 4.1.8)
191
- actionview (= 4.1.8)
192
- activemodel (= 4.1.8)
193
- activerecord (= 4.1.8)
194
- activesupport (= 4.1.8)
221
+ rails (4.2.5)
222
+ actionmailer (= 4.2.5)
223
+ actionpack (= 4.2.5)
224
+ actionview (= 4.2.5)
225
+ activejob (= 4.2.5)
226
+ activemodel (= 4.2.5)
227
+ activerecord (= 4.2.5)
228
+ activesupport (= 4.2.5)
195
229
  bundler (>= 1.3.0, < 2.0)
196
- railties (= 4.1.8)
197
- sprockets-rails (~> 2.0)
198
- rails-i18n (4.0.3)
199
- i18n (~> 0.6)
230
+ railties (= 4.2.5)
231
+ sprockets-rails
232
+ rails-deprecated_sanitizer (1.0.3)
233
+ activesupport (>= 4.2.0.alpha)
234
+ rails-dom-testing (1.0.7)
235
+ activesupport (>= 4.2.0.beta, < 5.0)
236
+ nokogiri (~> 1.6.0)
237
+ rails-deprecated_sanitizer (>= 1.0.1)
238
+ rails-html-sanitizer (1.0.2)
239
+ loofah (~> 2.0)
240
+ rails-i18n (4.0.7)
241
+ i18n (~> 0.7)
200
242
  railties (~> 4.0)
201
- railties (4.1.8)
202
- actionpack (= 4.1.8)
203
- activesupport (= 4.1.8)
243
+ railties (4.2.5)
244
+ actionpack (= 4.2.5)
245
+ activesupport (= 4.2.5)
204
246
  rake (>= 0.8.7)
205
247
  thor (>= 0.18.1, < 2.0)
206
248
  rake (10.4.2)
207
- ransack (1.5.1)
249
+ ransack (1.7.0)
208
250
  actionpack (>= 3.0)
209
251
  activerecord (>= 3.0)
210
252
  activesupport (>= 3.0)
211
253
  i18n
212
- polyamorous (~> 1.1)
254
+ polyamorous (~> 1.2)
213
255
  rb-fsevent (0.9.4)
214
256
  rb-inotify (0.9.5)
215
257
  ffi (>= 0.5.0)
216
258
  rb-readline (0.5.1)
217
259
  ref (1.0.5)
218
- request_store (1.1.0)
260
+ request_store (1.2.1)
219
261
  rspec (3.1.0)
220
262
  rspec-core (~> 3.1.0)
221
263
  rspec-expectations (~> 3.1.0)
@@ -236,42 +278,46 @@ GEM
236
278
  rspec-mocks (~> 3.1.0)
237
279
  rspec-support (~> 3.1.0)
238
280
  rspec-support (3.1.2)
239
- sass (3.2.19)
240
- sass-rails (4.0.5)
281
+ sass (3.4.20)
282
+ sass-rails (5.0.4)
241
283
  railties (>= 4.0.0, < 5.0)
242
- sass (~> 3.2.2)
243
- sprockets (~> 2.8, < 3.0)
244
- sprockets-rails (~> 2.0)
284
+ sass (~> 3.1)
285
+ sprockets (>= 2.8, < 4.0)
286
+ sprockets-rails (>= 2.0, < 4.0)
287
+ tilt (>= 1.1, < 3)
245
288
  simplecov (0.9.1)
246
289
  docile (~> 1.1.0)
247
290
  multi_json (~> 1.0)
248
291
  simplecov-html (~> 0.8.0)
249
292
  simplecov-html (0.8.0)
250
293
  slop (3.6.0)
251
- sprockets (2.12.3)
252
- hike (~> 1.2)
253
- multi_json (~> 1.0)
254
- rack (~> 1.0)
255
- tilt (~> 1.1, != 1.3.0)
256
- sprockets-rails (2.2.2)
294
+ sprockets (3.5.2)
295
+ concurrent-ruby (~> 1.0)
296
+ rack (> 1, < 3)
297
+ sprockets-rails (2.3.3)
257
298
  actionpack (>= 3.0)
258
299
  activesupport (>= 3.0)
259
300
  sprockets (>= 2.8, < 4.0)
260
301
  sqlite3 (1.3.10)
302
+ term-ansicolor (1.3.0)
303
+ tins (~> 1.0)
304
+ terminal-table (1.4.5)
261
305
  therubyracer (0.12.1)
262
306
  libv8 (~> 3.16.14.0)
263
307
  ref
264
308
  thor (0.19.1)
265
- thread_safe (0.3.4)
266
- tilt (1.4.1)
309
+ thread (0.1.4)
310
+ thread_safe (0.3.5)
311
+ tilt (2.0.1)
267
312
  timers (4.0.1)
268
313
  hitimes
314
+ tins (1.3.3)
269
315
  tzinfo (1.2.2)
270
316
  thread_safe (~> 0.1)
271
317
  uglifier (2.5.3)
272
318
  execjs (>= 0.3.0)
273
319
  json (>= 1.8.0)
274
- valid_email (0.0.10)
320
+ valid_email (0.0.11)
275
321
  activemodel
276
322
  mail (~> 2.6.1)
277
323
  will_paginate (3.0.7)
@@ -285,6 +331,7 @@ PLATFORMS
285
331
 
286
332
  DEPENDENCIES
287
333
  accountant_clerk!
334
+ autoprefixer-rails (< 6.0)
288
335
  better_errors
289
336
  binding_of_caller
290
337
  capybara
@@ -296,7 +343,8 @@ DEPENDENCIES
296
343
  guard-rails
297
344
  guard-rspec
298
345
  i18n-spec
299
- libv8 (= 3.16.14.3)
346
+ i18n-tasks
347
+ libv8
300
348
  office_clerk!
301
349
  quiet_assets
302
350
  rb-readline
@@ -304,3 +352,6 @@ DEPENDENCIES
304
352
  sqlite3
305
353
  therubyracer
306
354
  uglifier (>= 1.3.0)
355
+
356
+ BUNDLED WITH
357
+ 1.10.6
data/README.md CHANGED
@@ -1,22 +1,27 @@
1
1
  Accountant Clerk
2
2
  ================
3
3
 
4
- This is a tool to give shop owners the ability to find out how their products are performing. As such it concentrates on the quantity of products sold, ie Items.
4
+ This is a tool to give [clerk](http://rubyclerks.org/) shop owners the ability to find out how their products are performing. As such it concentrates on the quantity of products sold, ie Items.
5
5
 
6
- What started as a very simple reporting system (visually it still is), is now able to provide quite a host of useful functionality.
6
+ What started as a very simple reporting system, is now able to provide quite a host of useful functionality.
7
7
 
8
- Search by (any combination of):
8
+ Search is provided for either completed Orders, or Purchases.
9
+ You can search for (any combination of):
9
10
 
10
11
  - Product name contains
11
- - Category name contains
12
+ - Category
13
+ - Supplier
12
14
  - Within a date range
15
+ - Properties
16
+ - Price range
13
17
 
14
- You can group results, resulting in a stacked bar-graph, but you can also get numeric sums for the group. Group results by:
18
+ You can group results, resulting in a stacked bar-graph, but you also get numeric sums for the group. Group results by:
15
19
 
16
- - nothing (just a summary)
20
+ - nothing (just a summary per time interval)
17
21
  - Category
22
+ - Supplier
18
23
  - Product
19
-
24
+ - ProductLine
20
25
 
21
26
  And show a bar graph for the following time intervals:
22
27
 
@@ -24,9 +29,10 @@ And show a bar graph for the following time intervals:
24
29
  - Week
25
30
  - Month
26
31
 
27
- The resulting number may be:
32
+ The resulting graph may display:
28
33
 
29
34
  - Price
35
+ - Profit
30
36
  - Amount
31
37
 
32
38
  Usage scenarios
@@ -36,9 +42,12 @@ The general idea is to start with an overview and drill down into interesting we
36
42
 
37
43
  For example, start with a year view by month, and group by Category. As a result you see which of your Categorys sells best and when it is selling the most. This may help you to create promotions at the right time for example.
38
44
 
39
- Say you have already found your strongest Categorys but want to break it down by whatever properties you use. We have e.g. Supplier. So enter the category name into the category field, and group by the property: Thus you find the best selling supplier in that category and you may want to add a cross-sell for it, or an up-sell for similar products by other suppliers.
45
+ Say you have already found your strongest Categories but want to break it down by Supplier.
46
+ So enter the Category, and group by Supplier: Thus you find the best selling supplier in that category and you may want to add a cross-sell for it, or an up-sell for similar products by other suppliers.
47
+
48
+ Then you could add the supplier name to the search, and then group by Product. You then see the best selling Products of that Supplier in that Category.
40
49
 
41
- Then you could add the supplier name to the property search field, and then group by Product. You then see the best selling Products of that Supplier in that Category, or if you remove the category name from the search, the best selling Products of that supplier.
50
+ Then, if you remove the categoryfrom the search, the best selling Products of that supplier.
42
51
 
43
52
  In fact I often alternate between two properties. Search by one property, group by another and back and forth.
44
53
 
@@ -51,9 +60,9 @@ gem "accountant_clerk"
51
60
 
52
61
  to your Gemfile and bundle.
53
62
 
54
- There are no external dependencies and the only javascript file is referenced from the one template. So no further actions should be needed.
63
+ There are no external dependencies and the only javascript file is referenced from the one template. So no further actions is needed.
55
64
 
56
- Warning: Do not do silly queries as they will slow down your production environment. For intensive work I suggest to copy your database, ie with yaml_db, to your local machine first.
65
+ **Warning**: Do not do silly queries as they will slow down your production environment. For intensive work I suggest to copy your database, ie with fixtures_dump, to your local machine first.
57
66
 
58
67
  Status
59
68
  ======
@@ -67,19 +76,12 @@ Issues
67
76
 
68
77
  The metasearch with subsequent ruby code approach has served well to get the project up quick. For larger datasets a more hand crafted sql approach may be needed.
69
78
 
70
- As the search searches Items , items that are in non completed orders are included. Quite trivial fix, just never got around to it as we don't have that problem.
71
-
72
- Also it is quite simple to grind your database and server to a halt by grouping by product, and reporting a year by day.
79
+ Also it is quite simple to grind your database and server to a halt by grouping by product, and reporting a year by day. All data gets loaded into memory!
73
80
 
74
81
  Plans
75
82
  =====
76
83
 
77
- Vague Plans exist to introduce also:
78
-
79
- - Reports about inventory
80
- - Reports about Order numbers
81
- - Grouping by customer
82
-
83
- Started to use gon now, but still the code could use cleaning (and testing)
84
+ This really does everything we ever need by now. So the only thing still rubbing me is the memory issue and lack of tests.
85
+ But since it works well for our datasets (3000 Orders per year) on our machine (32GB) , i am in no rush.
84
86
 
85
- Copyright (c) 2014 [Torsten Ruger], released under the New BSD License
87
+ Copyright (c) 2010-2014 [Torsten Ruger], released under the MIT License