axis 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. data/.gitignore +4 -0
  2. data/.rspec +0 -0
  3. data/.rvmrc +1 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +20 -0
  6. data/README.markdown +10 -0
  7. data/Rakefile +5 -0
  8. data/VERSION +1 -0
  9. data/axis.gemspec +31 -0
  10. data/db/schema/v_customers.sql +228 -0
  11. data/db/schema/v_deliveries.sql +146 -0
  12. data/db/schema/v_nominal_account_transactions.sql +179 -0
  13. data/db/schema/v_sales_order_lines.sql +156 -0
  14. data/db/schema/v_sales_orders.sql +256 -0
  15. data/db/schema/v_stock_records.sql +243 -0
  16. data/lib/axis.rb +15 -0
  17. data/lib/axis/base.rb +5 -0
  18. data/lib/axis/config.rb +28 -0
  19. data/lib/axis/document.rb +74 -0
  20. data/lib/axis/models/addressee.rb +6 -0
  21. data/lib/axis/models/component_record.rb +5 -0
  22. data/lib/axis/models/customer.rb +6 -0
  23. data/lib/axis/models/delivery.rb +7 -0
  24. data/lib/axis/models/goods_on_account.rb +8 -0
  25. data/lib/axis/models/goods_on_account_line.rb +8 -0
  26. data/lib/axis/models/invoice.rb +11 -0
  27. data/lib/axis/models/nominal_account_transaction.rb +47 -0
  28. data/lib/axis/models/sales_order.rb +7 -0
  29. data/lib/axis/models/sales_order_line.rb +8 -0
  30. data/lib/axis/models/stock_level.rb +6 -0
  31. data/lib/axis/models/stock_record.rb +10 -0
  32. data/lib/axis/models/stock_record_location.rb +6 -0
  33. data/lib/axis/models/supplier_price.rb +6 -0
  34. data/lib/axis/version.rb +3 -0
  35. data/lib/cli.rb +25 -0
  36. data/spec/axis/document_spec.rb +98 -0
  37. data/spec/fixtures/ATTACH/Documents/INV/123456_0_20110101_163350_2C16B3CB_P.pdf +0 -0
  38. data/spec/fixtures/ATTACH/Documents/INV/123456_0_20120101_163350_2C16B3CB_P.pdf +0 -0
  39. data/spec/fixtures/ATTACH/Documents/INV/123456_0_20121002_163350_2C16B3CB_P.pdf +0 -0
  40. data/spec/fixtures/ATTACH/Documents/INV/296621_0_20121001_163350_2C16B3CB_P.pdf +0 -0
  41. data/spec/spec_helper.rb +1 -0
  42. metadata +175 -0
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/.rspec ADDED
File without changes
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm use 1.9.3-falcon@stinkyink --create
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in axis.gemspec
4
+ gemspec
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2012 Robert Williams
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.
@@ -0,0 +1,10 @@
1
+ # Axis DB Connector
2
+
3
+ This adaptor exposes the Axis DB.
4
+
5
+ ## Records already mapped
6
+
7
+ * Axis::NominalAccountTransaction => accntr00
8
+ * Axis::Customer => acccus01
9
+ * Axis::Delivery => accdre00
10
+ * ... and others
@@ -0,0 +1,5 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ task :console do
4
+ system "irb -rubygems -I lib -r cli.rb"
5
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.3.0
@@ -0,0 +1,31 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "axis/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "axis"
7
+ s.version = Axis::VERSION
8
+ s.authors = ["Robert Williams", "Rich Grundy"]
9
+ s.email = ["rob@r-williams.com", "rich@stinkyink.com"]
10
+ s.homepage = ""
11
+ s.summary = %q{This adaptor exposes the Axis DB}
12
+ s.description = %q{This adaptor exposes the Axis DB. Yeah it does!}
13
+
14
+ s.rubyforge_project = "axis"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ # specify any dependencies here; for example:
22
+ # s.add_development_dependency "rspec"
23
+ # s.add_runtime_dependency "rest-client"
24
+
25
+ s.add_runtime_dependency "rake", "= 0.8.7"
26
+ s.add_runtime_dependency "tiny_tds", ">= 0"
27
+ s.add_runtime_dependency "activerecord-sqlserver-adapter", "> 3.0.14"
28
+ s.add_runtime_dependency "squeel", "~> 0.9.0"
29
+
30
+ s.add_development_dependency "rspec"
31
+ end
@@ -0,0 +1,228 @@
1
+ USE [AXIS33238CO1]
2
+ GO
3
+
4
+ /****** Object: View [dbo].[v_customers] Script Date: 06/01/2011 09:59:32 ******/
5
+ SET ANSI_NULLS ON
6
+ GO
7
+
8
+ SET QUOTED_IDENTIFIER ON
9
+ GO
10
+
11
+ CREATE VIEW [dbo].[v_customers]
12
+ AS
13
+ SELECT snm AS customer_short_name, wdp AS oldest_invioce_ever_in_days, osc AS order_source_code, grp AS customer_group_code,
14
+ ean AS customer_ean_location_number, cdr AS customers_deliver_to_id, osn AS supplier_id, invseq AS edi_invoice_sequence,
15
+ sna AS sage_nominal_account_number, mmp AS minimum_margin_percent, mmpc AS min_margin_percent_contracts, aduid AS customer_formatted_address_uid,
16
+ pact AS pact_contract_reference, ddidat AS auddis_request_live_date, defpmeth AS default_payement_method, hoac AS head_office_account_number,
17
+ fac AS factors_reference, dis AS customer_discount_rate, esd AS settlement_discount_rate, dac AS date_account_opened, scp AS standard_credit_period,
18
+ mcp AS maximum_credit_period, crl AS credit_limit, bal AS current_balance, eccc AS ec_country_code, coc AS cert_of_conformity_a_c_number, vno AS van_number,
19
+ dtm AS discount_terms_month, tor AS trade_or_retail_customer, stmdm AS statement_delivery_method, invm AS invoice_edi_method,
20
+ ovbdg AS order_value_break_disk_group, pdm AS payment_due_month, tyd AS turnover_year_to_date, tly AS turnover_last_year, dlt AS date_to_last_transaction,
21
+ ptrft AS ptr_to_first_trns, cdp AS settlement_dscnt_period, cnm AS contact_name, ctn AS contact_telephone_number, res AS total_turnover_this_year_and_last,
22
+ dcc AS quantity_break_discount_code, dsc AS discount_group_code, psc AS price_matrix_group_code, cyd AS cost_of_sales_year_to_date,
23
+ cly AS cost_of_sales_last_year, hoa AS head_office_account, prb AS price_band, vatno AS vat_number, dtc AS deliver_terms, mot AS method_of_transport_code,
24
+ notc AS nature_of_transaction_code, ptrlt AS ptr_to_last_trns, namaa_0 AS customers_name_and_address, faxno AS fax_number,
25
+ acp AS agent_commission_reference, ecref AS export_cert_reference, tcref AS terms_and_conditions_reference, ttp AS turnover_this_month,
26
+ ctp AS cost_of_sales_this_period, pstcd AS postcode, actyp AS account_type, ddep AS default_department_code, dccc AS default_code_centre_code,
27
+ dloc AS default_location_code, rloc AS replenishment_location_code, cinv AS consolidated_invoice_required, addr AS addacs_auddis_reason_code,
28
+ dms AS default_order_delivery_method, cusac AS customer_number, cusrf AS customer_reference, ftrf AS first_transaction_reference, horef AS head_office_reference,
29
+ ltrf AS last_transaction_reference, record AS relative_record_number, sln AS sales_ledger_number
30
+ FROM dbo.acccus01
31
+
32
+ GO
33
+
34
+ EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
35
+ Begin DesignProperties =
36
+ Begin PaneConfigurations =
37
+ Begin PaneConfiguration = 0
38
+ NumPanes = 4
39
+ Configuration = "(H (1[40] 4[20] 2[20] 3) )"
40
+ End
41
+ Begin PaneConfiguration = 1
42
+ NumPanes = 3
43
+ Configuration = "(H (1 [50] 4 [25] 3))"
44
+ End
45
+ Begin PaneConfiguration = 2
46
+ NumPanes = 3
47
+ Configuration = "(H (1 [50] 2 [25] 3))"
48
+ End
49
+ Begin PaneConfiguration = 3
50
+ NumPanes = 3
51
+ Configuration = "(H (4 [30] 2 [40] 3))"
52
+ End
53
+ Begin PaneConfiguration = 4
54
+ NumPanes = 2
55
+ Configuration = "(H (1 [56] 3))"
56
+ End
57
+ Begin PaneConfiguration = 5
58
+ NumPanes = 2
59
+ Configuration = "(H (2 [66] 3))"
60
+ End
61
+ Begin PaneConfiguration = 6
62
+ NumPanes = 2
63
+ Configuration = "(H (4 [50] 3))"
64
+ End
65
+ Begin PaneConfiguration = 7
66
+ NumPanes = 1
67
+ Configuration = "(V (3))"
68
+ End
69
+ Begin PaneConfiguration = 8
70
+ NumPanes = 3
71
+ Configuration = "(H (1[56] 4[18] 2) )"
72
+ End
73
+ Begin PaneConfiguration = 9
74
+ NumPanes = 2
75
+ Configuration = "(H (1 [75] 4))"
76
+ End
77
+ Begin PaneConfiguration = 10
78
+ NumPanes = 2
79
+ Configuration = "(H (1[66] 2) )"
80
+ End
81
+ Begin PaneConfiguration = 11
82
+ NumPanes = 2
83
+ Configuration = "(H (4 [60] 2))"
84
+ End
85
+ Begin PaneConfiguration = 12
86
+ NumPanes = 1
87
+ Configuration = "(H (1) )"
88
+ End
89
+ Begin PaneConfiguration = 13
90
+ NumPanes = 1
91
+ Configuration = "(V (4))"
92
+ End
93
+ Begin PaneConfiguration = 14
94
+ NumPanes = 1
95
+ Configuration = "(V (2))"
96
+ End
97
+ ActivePaneConfig = 0
98
+ End
99
+ Begin DiagramPane =
100
+ Begin Origin =
101
+ Top = 0
102
+ Left = 0
103
+ End
104
+ Begin Tables =
105
+ Begin Table = "acccus01"
106
+ Begin Extent =
107
+ Top = 6
108
+ Left = 38
109
+ Bottom = 328
110
+ Right = 203
111
+ End
112
+ DisplayFlags = 280
113
+ TopColumn = 132
114
+ End
115
+ End
116
+ End
117
+ Begin SQLPane =
118
+ End
119
+ Begin DataPane =
120
+ Begin ParameterDefaults = ""
121
+ End
122
+ Begin ColumnWidths = 77
123
+ Width = 284
124
+ Width = 1500
125
+ Width = 1500
126
+ Width = 1500
127
+ Width = 1500
128
+ Width = 1500
129
+ Width = 1500
130
+ Width = 1500
131
+ Width = 1500
132
+ Width = 1500
133
+ Width = 1500
134
+ Width = 1500
135
+ Width = 1500
136
+ Width = 1500
137
+ Width = 1500
138
+ Width = 1500
139
+ Width = 1500
140
+ Width = 1500
141
+ Width = 1500
142
+ Width = 1500
143
+ Width = 1500
144
+ Width = 1500
145
+ Width = 1500
146
+ Width = 1500
147
+ Width = 1500
148
+ Width = 1500
149
+ Width = 1500
150
+ Width = 1500
151
+ Width = 1500
152
+ Width = 1500
153
+ Width = 1500
154
+ Width = 1500
155
+ Width = 1500
156
+ Width = 1500
157
+ Width = 1500
158
+ Width = 1500
159
+ Width = 1500
160
+ Width = 1500
161
+ Width = 1500
162
+ Width = 1500
163
+ Width = 1500
164
+ Width = 1500
165
+ Width = 1500
166
+ Width = 1500
167
+ Width = 1500
168
+ Width = 1500
169
+ Width = 1500
170
+ Width = 1500
171
+ Width = 1500
172
+ Width = 1500
173
+ Width = 1500
174
+ Width = 1500
175
+ Width = 1500
176
+ Width = 1500
177
+ Width = 1500
178
+ Width = 1500
179
+ Width = 1500
180
+ Width = 1500
181
+ Width = 1500
182
+ Width = 1500
183
+ ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'v_customers'
184
+ GO
185
+
186
+ EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane2', @value=N' Width = 1500
187
+ Width = 1500
188
+ Width = 1500
189
+ Width = 1500
190
+ Width = 1500
191
+ Width = 1500
192
+ Width = 1500
193
+ Width = 1500
194
+ Width = 1500
195
+ Width = 1500
196
+ Width = 1500
197
+ Width = 1500
198
+ Width = 1500
199
+ Width = 1500
200
+ Width = 1500
201
+ Width = 1500
202
+ Width = 1500
203
+ End
204
+ End
205
+ Begin CriteriaPane =
206
+ Begin ColumnWidths = 11
207
+ Column = 1440
208
+ Alias = 900
209
+ Table = 1170
210
+ Output = 720
211
+ Append = 1400
212
+ NewValue = 1170
213
+ SortType = 1350
214
+ SortOrder = 1410
215
+ GroupBy = 1350
216
+ Filter = 1350
217
+ Or = 1350
218
+ Or = 1350
219
+ Or = 1350
220
+ End
221
+ End
222
+ End
223
+ ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'v_customers'
224
+ GO
225
+
226
+ EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=2 , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'v_customers'
227
+ GO
228
+
@@ -0,0 +1,146 @@
1
+ USE [AXIS33238CO1]
2
+ GO
3
+
4
+ /****** Object: View [dbo].[v_deliveries] Script Date: 06/01/2011 10:00:35 ******/
5
+ SET ANSI_NULLS ON
6
+ GO
7
+
8
+ SET QUOTED_IDENTIFIER ON
9
+ GO
10
+
11
+ CREATE VIEW [dbo].[v_deliveries]
12
+ AS
13
+ SELECT delno AS delivery_note_reference, volume, weight, conno AS consignment_tracking_number, brf AS first_booking_reference, pallets AS number_of_pallets,
14
+ packages AS number_of_packages, dms AS delivery_method, cost AS estimated_delivery_cost, lno AS sales_ledger_number, acno AS customer_account_number,
15
+ dat AS date, lbrf AS last_booking_reference, invno AS invoice_number, ddate AS despatch_date, dtime AS despatch_time, edate AS expected_delivery_date,
16
+ etime AS expected_delivery_time, aduid AS delivery_address_uid, cont AS contact_number, stat AS status_code, outcome AS outcome_code,
17
+ adate AS actual_delivery_date, atime AS actual_delivery_time, arclk AS arrival_date_and_time, record AS record_number
18
+ FROM dbo.accdre00
19
+
20
+ GO
21
+
22
+ EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
23
+ Begin DesignProperties =
24
+ Begin PaneConfigurations =
25
+ Begin PaneConfiguration = 0
26
+ NumPanes = 4
27
+ Configuration = "(H (1[20] 4[41] 2[20] 3) )"
28
+ End
29
+ Begin PaneConfiguration = 1
30
+ NumPanes = 3
31
+ Configuration = "(H (1 [50] 4 [25] 3))"
32
+ End
33
+ Begin PaneConfiguration = 2
34
+ NumPanes = 3
35
+ Configuration = "(H (1 [50] 2 [25] 3))"
36
+ End
37
+ Begin PaneConfiguration = 3
38
+ NumPanes = 3
39
+ Configuration = "(H (4 [30] 2 [40] 3))"
40
+ End
41
+ Begin PaneConfiguration = 4
42
+ NumPanes = 2
43
+ Configuration = "(H (1 [56] 3))"
44
+ End
45
+ Begin PaneConfiguration = 5
46
+ NumPanes = 2
47
+ Configuration = "(H (2 [66] 3))"
48
+ End
49
+ Begin PaneConfiguration = 6
50
+ NumPanes = 2
51
+ Configuration = "(H (4 [50] 3))"
52
+ End
53
+ Begin PaneConfiguration = 7
54
+ NumPanes = 1
55
+ Configuration = "(V (3))"
56
+ End
57
+ Begin PaneConfiguration = 8
58
+ NumPanes = 3
59
+ Configuration = "(H (1[56] 4[18] 2) )"
60
+ End
61
+ Begin PaneConfiguration = 9
62
+ NumPanes = 2
63
+ Configuration = "(H (1 [75] 4))"
64
+ End
65
+ Begin PaneConfiguration = 10
66
+ NumPanes = 2
67
+ Configuration = "(H (1[66] 2) )"
68
+ End
69
+ Begin PaneConfiguration = 11
70
+ NumPanes = 2
71
+ Configuration = "(H (4 [60] 2))"
72
+ End
73
+ Begin PaneConfiguration = 12
74
+ NumPanes = 1
75
+ Configuration = "(H (1) )"
76
+ End
77
+ Begin PaneConfiguration = 13
78
+ NumPanes = 1
79
+ Configuration = "(V (4))"
80
+ End
81
+ Begin PaneConfiguration = 14
82
+ NumPanes = 1
83
+ Configuration = "(V (2))"
84
+ End
85
+ ActivePaneConfig = 0
86
+ End
87
+ Begin DiagramPane =
88
+ Begin Origin =
89
+ Top = 0
90
+ Left = 0
91
+ End
92
+ Begin Tables =
93
+ Begin Table = "accdre00"
94
+ Begin Extent =
95
+ Top = 0
96
+ Left = 38
97
+ Bottom = 334
98
+ Right = 198
99
+ End
100
+ DisplayFlags = 280
101
+ TopColumn = 20
102
+ End
103
+ End
104
+ End
105
+ Begin SQLPane =
106
+ End
107
+ Begin DataPane =
108
+ Begin ParameterDefaults = ""
109
+ End
110
+ Begin ColumnWidths = 10
111
+ Width = 284
112
+ Width = 1500
113
+ Width = 1500
114
+ Width = 1500
115
+ Width = 1500
116
+ Width = 1500
117
+ Width = 1500
118
+ Width = 1500
119
+ Width = 1500
120
+ Width = 1500
121
+ End
122
+ End
123
+ Begin CriteriaPane =
124
+ Begin ColumnWidths = 11
125
+ Column = 1440
126
+ Alias = 900
127
+ Table = 1170
128
+ Output = 720
129
+ Append = 1400
130
+ NewValue = 1170
131
+ SortType = 1350
132
+ SortOrder = 1410
133
+ GroupBy = 1350
134
+ Filter = 1350
135
+ Or = 1350
136
+ Or = 1350
137
+ Or = 1350
138
+ End
139
+ End
140
+ End
141
+ ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'v_deliveries'
142
+ GO
143
+
144
+ EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'v_deliveries'
145
+ GO
146
+