datashift 0.9.0 → 0.10.0
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.
- data/README.markdown +63 -64
- data/Rakefile +4 -7
- data/VERSION +1 -1
- data/datashift.gemspec +92 -62
- data/lib/applications/apache_poi_extensions.rb +62 -0
- data/lib/applications/excel.rb +78 -0
- data/lib/applications/excel_base.rb +65 -0
- data/lib/applications/jexcel_file.rb +222 -0
- data/lib/applications/jexcel_file_extensions.rb +244 -0
- data/lib/applications/jruby/{jexcel_file.rb → old_pre_proxy_jexcel_file.rb} +0 -0
- data/lib/applications/ruby_poi_translations.rb +64 -0
- data/lib/applications/spreadsheet_extensions.rb +31 -0
- data/lib/datashift/method_details_manager.rb +4 -0
- data/lib/exporters/csv_exporter.rb +3 -1
- data/lib/exporters/excel_exporter.rb +59 -74
- data/lib/generators/excel_generator.rb +70 -74
- data/lib/guards.rb +57 -0
- data/lib/loaders/excel_loader.rb +105 -105
- data/lib/loaders/loader_base.rb +43 -21
- data/lib/loaders/paperclip/attachment_loader.rb +104 -0
- data/lib/loaders/paperclip/datashift_paperclip.rb +78 -0
- data/lib/loaders/paperclip/{image_loader.rb → image_loading.rb} +2 -18
- data/lib/thor/{generate_excel.thor → generate.thor} +48 -0
- data/lib/thor/paperclip.thor +85 -0
- data/lib/thor/tools.thor +23 -2
- data/spec/Gemfile +1 -7
- data/spec/csv_exporter_spec.rb +4 -4
- data/spec/csv_loader_spec.rb +1 -1
- data/spec/excel_exporter_spec.rb +43 -45
- data/spec/excel_generator_spec.rb +132 -60
- data/spec/excel_loader_spec.rb +134 -140
- data/spec/excel_spec.rb +179 -0
- data/spec/fixtures/ProjectsMultiCategoriesHeaderLookup.xls +0 -0
- data/spec/fixtures/config/database.yml +2 -2
- data/spec/fixtures/db/datashift_test_models_db.sqlite +0 -0
- data/spec/{db → fixtures/db}/migrate/20110803201325_create_test_bed.rb +0 -0
- data/spec/fixtures/load_datashift.thor +3 -0
- data/spec/fixtures/models/category.rb +7 -0
- data/spec/fixtures/models/empty.rb +2 -0
- data/spec/fixtures/models/loader_release.rb +10 -0
- data/spec/fixtures/models/long_and_complex_table_linked_to_version.rb +6 -0
- data/spec/fixtures/models/milestone.rb +8 -0
- data/spec/fixtures/models/owner.rb +5 -0
- data/spec/fixtures/models/project.rb +26 -0
- data/spec/fixtures/models/test_model_defs.rb +67 -0
- data/spec/fixtures/models/version.rb +7 -0
- data/spec/loader_spec.rb +4 -3
- data/spec/method_dictionary_spec.rb +7 -6
- data/spec/method_mapper_spec.rb +3 -2
- data/spec/rails_sandbox/.gitignore +15 -0
- data/spec/rails_sandbox/Gemfile +40 -0
- data/spec/rails_sandbox/README.rdoc +261 -0
- data/spec/rails_sandbox/Rakefile +7 -0
- data/spec/rails_sandbox/app/assets/images/rails.png +0 -0
- data/spec/rails_sandbox/app/assets/javascripts/application.js +15 -0
- data/spec/rails_sandbox/app/assets/stylesheets/application.css +13 -0
- data/spec/rails_sandbox/app/controllers/application_controller.rb +3 -0
- data/spec/rails_sandbox/app/helpers/application_helper.rb +2 -0
- data/spec/rails_sandbox/app/mailers/.gitkeep +0 -0
- data/spec/rails_sandbox/app/models/.gitkeep +0 -0
- data/spec/rails_sandbox/app/models/category.rb +7 -0
- data/spec/rails_sandbox/app/models/empty.rb +2 -0
- data/spec/rails_sandbox/app/models/loader_release.rb +10 -0
- data/spec/rails_sandbox/app/models/long_and_complex_table_linked_to_version.rb +6 -0
- data/spec/rails_sandbox/app/models/milestone.rb +8 -0
- data/spec/rails_sandbox/app/models/owner.rb +5 -0
- data/spec/rails_sandbox/app/models/project.rb +26 -0
- data/spec/rails_sandbox/app/models/test_model_defs.rb +67 -0
- data/spec/rails_sandbox/app/models/version.rb +7 -0
- data/spec/rails_sandbox/app/views/layouts/application.html.erb +14 -0
- data/spec/rails_sandbox/config.ru +4 -0
- data/spec/rails_sandbox/config/application.rb +62 -0
- data/spec/rails_sandbox/config/boot.rb +6 -0
- data/spec/rails_sandbox/config/database.yml +20 -0
- data/spec/rails_sandbox/config/environment.rb +5 -0
- data/spec/rails_sandbox/config/environments/development.rb +37 -0
- data/spec/rails_sandbox/config/environments/production.rb +67 -0
- data/spec/rails_sandbox/config/environments/test.rb +37 -0
- data/spec/rails_sandbox/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/rails_sandbox/config/initializers/inflections.rb +15 -0
- data/spec/rails_sandbox/config/initializers/mime_types.rb +5 -0
- data/spec/rails_sandbox/config/initializers/secret_token.rb +7 -0
- data/spec/rails_sandbox/config/initializers/session_store.rb +8 -0
- data/spec/rails_sandbox/config/initializers/wrap_parameters.rb +14 -0
- data/spec/rails_sandbox/config/locales/en.yml +5 -0
- data/spec/rails_sandbox/config/routes.rb +58 -0
- data/spec/rails_sandbox/db/migrate/20110803201325_create_test_bed.rb +96 -0
- data/spec/rails_sandbox/db/schema.rb +81 -0
- data/spec/rails_sandbox/db/seeds.rb +7 -0
- data/spec/rails_sandbox/lib/assets/.gitkeep +0 -0
- data/spec/rails_sandbox/lib/tasks/.gitkeep +0 -0
- data/spec/rails_sandbox/log/.gitkeep +0 -0
- data/spec/rails_sandbox/public/404.html +26 -0
- data/spec/rails_sandbox/public/422.html +26 -0
- data/spec/rails_sandbox/public/500.html +25 -0
- data/spec/rails_sandbox/public/favicon.ico +0 -0
- data/spec/rails_sandbox/public/index.html +241 -0
- data/spec/rails_sandbox/public/robots.txt +5 -0
- data/spec/rails_sandbox/script/rails +6 -0
- data/spec/rails_sandbox/test/fixtures/.gitkeep +0 -0
- data/spec/rails_sandbox/test/functional/.gitkeep +0 -0
- data/spec/rails_sandbox/test/integration/.gitkeep +0 -0
- data/spec/rails_sandbox/test/performance/browsing_test.rb +12 -0
- data/spec/rails_sandbox/test/test_helper.rb +13 -0
- data/spec/rails_sandbox/test/unit/.gitkeep +0 -0
- data/spec/rails_sandbox/vendor/assets/javascripts/.gitkeep +0 -0
- data/spec/rails_sandbox/vendor/assets/stylesheets/.gitkeep +0 -0
- data/spec/rails_sandbox/vendor/plugins/.gitkeep +0 -0
- data/spec/spec_helper.rb +144 -121
- data/spec/thor_spec.rb +34 -14
- metadata +207 -194
- data/lib/helpers/spree_helper.rb +0 -213
- data/lib/loaders/spreadsheet_loader.rb +0 -144
- data/lib/loaders/spree/image_loader.rb +0 -90
- data/lib/loaders/spree/product_loader.rb +0 -354
- data/lib/thor/spree/bootstrap_cleanup.thor +0 -61
- data/lib/thor/spree/products_images.thor +0 -252
- data/lib/thor/spree/reports.thor +0 -56
- data/public/spree/products/large/DEMO_001_ror_bag.jpeg +0 -0
- data/public/spree/products/large/DEMO_002_Powerstation.jpg +0 -0
- data/public/spree/products/large/DEMO_003_ror_mug.jpeg +0 -0
- data/public/spree/products/mini/DEMO_001_ror_bag.jpeg +0 -0
- data/public/spree/products/mini/DEMO_002_Powerstation.jpg +0 -0
- data/public/spree/products/mini/DEMO_003_ror_mug.jpeg +0 -0
- data/public/spree/products/original/DEMO_001_ror_bag.jpeg +0 -0
- data/public/spree/products/original/DEMO_002_Powerstation.jpg +0 -0
- data/public/spree/products/original/DEMO_003_ror_mug.jpeg +0 -0
- data/public/spree/products/product/DEMO_001_ror_bag.jpeg +0 -0
- data/public/spree/products/product/DEMO_002_Powerstation.jpg +0 -0
- data/public/spree/products/product/DEMO_003_ror_mug.jpeg +0 -0
- data/public/spree/products/small/DEMO_001_ror_bag.jpeg +0 -0
- data/public/spree/products/small/DEMO_002_Powerstation.jpg +0 -0
- data/public/spree/products/small/DEMO_003_ror_mug.jpeg +0 -0
- data/spec/fixtures/datashift_Spree_db.sqlite +0 -0
- data/spec/fixtures/datashift_test_models_db.sqlite +0 -0
- data/spec/fixtures/negative/SpreeProdMiss1Mandatory.csv +0 -4
- data/spec/fixtures/negative/SpreeProdMiss1Mandatory.xls +0 -0
- data/spec/fixtures/negative/SpreeProdMissManyMandatory.csv +0 -4
- data/spec/fixtures/negative/SpreeProdMissManyMandatory.xls +0 -0
- data/spec/fixtures/spree/SpreeImages.xls +0 -0
- data/spec/fixtures/spree/SpreeMultiVariant.csv +0 -4
- data/spec/fixtures/spree/SpreeProducts.csv +0 -4
- data/spec/fixtures/spree/SpreeProducts.xls +0 -0
- data/spec/fixtures/spree/SpreeProductsDefaults.yml +0 -15
- data/spec/fixtures/spree/SpreeProductsMandatoryOnly.xls +0 -0
- data/spec/fixtures/spree/SpreeProductsMultiColumn.csv +0 -4
- data/spec/fixtures/spree/SpreeProductsMultiColumn.xls +0 -0
- data/spec/fixtures/spree/SpreeProductsSimple.csv +0 -4
- data/spec/fixtures/spree/SpreeProductsSimple.xls +0 -0
- data/spec/fixtures/spree/SpreeProductsWithImages.csv +0 -4
- data/spec/fixtures/spree/SpreeProductsWithImages.xls +0 -0
- data/spec/fixtures/spree/SpreeZoneExample.csv +0 -5
- data/spec/fixtures/spree/SpreeZoneExample.xls +0 -0
- data/spec/spree_exporter_spec.rb +0 -72
- data/spec/spree_generator_spec.rb +0 -96
- data/spec/spree_images_loader_spec.rb +0 -107
- data/spec/spree_loader_spec.rb +0 -375
- data/spec/spree_method_mapping_spec.rb +0 -226
- data/spec/spree_variants_loader_spec.rb +0 -189
- data/tasks/export/excel_generator.rake +0 -102
- data/tasks/import/excel.rake +0 -75
- data/test/helper.rb +0 -18
- data/test/test_interact.rb +0 -7
data/README.markdown
CHANGED
|
@@ -1,21 +1,27 @@
|
|
|
1
1
|
## DataShift
|
|
2
2
|
|
|
3
|
-
Provides tools to shift data between
|
|
3
|
+
Provides tools to shift data between Excel/CSV files and Rails projects and Ruby applications
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Import and export models fully with all associations.
|
|
6
6
|
|
|
7
|
-
Wiki
|
|
7
|
+
Comprehensive Wiki here : **https://github.com/autotelik/datashift/wiki**
|
|
8
|
+
|
|
9
|
+
Specific command line tools and full Product loading for Spree E-Commerce
|
|
10
|
+
now seperate gem at [datashift_spree](https://github.com/autotelik/datashift_spree "Datashift Spree")
|
|
8
11
|
|
|
9
12
|
### Features
|
|
10
13
|
|
|
11
|
-
Import and Export ActiveRecord models
|
|
12
|
-
|
|
14
|
+
Import and Export ActiveRecord models direct to CSV or Excel/OpenOffice (.xls) (JRuby, 1.8.7, REE, 1.9.3)
|
|
15
|
+
|
|
16
|
+
You can select which associations to include and for import, set configurable defaults or over rides.
|
|
17
|
+
|
|
18
|
+
Create, parse and use Excel/OpenOffice (.xls) documents dynamically from Ruby (JRuby, 1.8.7, REE, 1.9.3)
|
|
13
19
|
|
|
14
20
|
Generate a sample template with headers only.
|
|
15
21
|
|
|
16
22
|
Export template and populate with model data
|
|
17
23
|
|
|
18
|
-
|
|
24
|
+
Bulk import tools for Paperclip attachments.
|
|
19
25
|
|
|
20
26
|
Easily extendable Loader functionality to deal with non trivial import cases, such
|
|
21
27
|
as complex association lookups.
|
|
@@ -32,85 +38,73 @@ Many example Spreadsheets/CSV files in spec/fixtures, fully documented with comm
|
|
|
32
38
|
|
|
33
39
|
## Installation
|
|
34
40
|
|
|
35
|
-
Add gem 'datashift' to your Gemfile/bundle
|
|
41
|
+
Add gem 'datashift' to your Gemfile/bundle or use ```gem install```
|
|
36
42
|
|
|
37
|
-
gem
|
|
38
|
-
|
|
39
|
-
To use :
|
|
43
|
+
```ruby gem 'datashift' ```
|
|
40
44
|
|
|
41
|
-
|
|
42
|
-
require 'datashift'
|
|
43
|
-
|
|
44
|
-
To pull the tasks in, add this call to your Rakefile :
|
|
45
|
-
|
|
46
|
-
<<<<<<< HEAD
|
|
47
|
-
```ruby
|
|
48
|
-
DataShift::load_tasks
|
|
49
|
-
```
|
|
45
|
+
For Spree support also add :
|
|
50
46
|
|
|
51
|
-
|
|
47
|
+
```ruby gem 'datashift_spree' ```
|
|
52
48
|
|
|
53
|
-
|
|
54
|
-
DataShift::load_tasks if(Rails.env.development?)
|
|
55
|
-
```
|
|
56
|
-
=======
|
|
57
|
-
```ruby DataShift::load_tasks```
|
|
49
|
+
To use :
|
|
58
50
|
|
|
59
|
-
|
|
51
|
+
require 'datashift'
|
|
60
52
|
|
|
61
|
-
|
|
62
|
-
>>>>>>> a6d5d492fd9df38a4acb8c50423219994b4b5601
|
|
53
|
+
To use the Thor command line applications, pull in the tasks.
|
|
63
54
|
|
|
64
|
-
|
|
55
|
+
Generally the easiest way is to, create a high level .thor file in your Rails root directory
|
|
65
56
|
|
|
66
|
-
|
|
57
|
+
e.g mysite.thor
|
|
67
58
|
|
|
68
59
|
Edit the file and add the following to pull in the thor commands :
|
|
60
|
+
|
|
69
61
|
```ruby
|
|
70
62
|
require 'thor'
|
|
71
63
|
require 'datashift'
|
|
72
64
|
|
|
73
65
|
DataShift::load_commands
|
|
74
66
|
```
|
|
75
|
-
To check the available tasks run
|
|
76
67
|
|
|
77
|
-
|
|
68
|
+
To keep the availability to only development mode use
|
|
78
69
|
|
|
79
|
-
|
|
70
|
+
```ruby DataShift::load_commands if(Rails.env.development?) ```
|
|
80
71
|
|
|
81
|
-
|
|
72
|
+
To check the available tasks run
|
|
73
|
+
|
|
74
|
+
bundle exec thor list datashift
|
|
82
75
|
|
|
83
76
|
To get usage information use thor help <command>, for example
|
|
84
77
|
|
|
85
78
|
bundle exec thor help datashift:generate:excel
|
|
86
79
|
|
|
87
|
-
|
|
88
|
-
|
|
80
|
+
To use Excel OLE and MS Excel are NOT required.
|
|
81
|
+
|
|
82
|
+
Features a common Excel interface over both our own wrapper around Apache POI (JRuby) and spreadsheet gem (all main Rubies)
|
|
83
|
+
|
|
84
|
+
This means you can switch seamlessly between the two libraries, and if required drop down to make use of advanced
|
|
85
|
+
features in the brilliant Apache POI libraries for anyone using JRuby.
|
|
89
86
|
|
|
90
87
|
Guards are provided, and used internally, for mixed Ruby setups. Can be used like :
|
|
91
88
|
|
|
92
89
|
if(DataShift::Guards::jruby? )
|
|
93
|
-
..do something with
|
|
90
|
+
..do something with Apache
|
|
94
91
|
else
|
|
95
|
-
..do something with
|
|
92
|
+
..do something with speadsheet
|
|
96
93
|
end
|
|
97
94
|
|
|
98
95
|
## Active Record - Import/Export
|
|
99
96
|
|
|
100
|
-
Provides high level
|
|
97
|
+
Provides high level tasks for importing data via ActiveRecord models into a DB,
|
|
101
98
|
from various sources, currently csv or .xls files (Excel/Open Office)
|
|
102
99
|
|
|
103
|
-
|
|
100
|
+
Please use thor list and thor help <xxx> to get latest command lines
|
|
104
101
|
|
|
105
|
-
|
|
102
|
+
bundle exec thor datashift:import:csv model=BlogPost input=BlogPostImport.csv verbose=true
|
|
106
103
|
|
|
107
|
-
bundle exec rake datashift:import:csv model=BlogPost input=BlogPostImport.csv verbose=true
|
|
108
104
|
|
|
109
|
-
|
|
105
|
+
Provides high level tasks for exporting data to various sources, currently .xls files (Excel/Open Office)
|
|
110
106
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
jruby -S rake datashift:export:excel model=BlogPost result=BlogExport.xls
|
|
107
|
+
bundle exec thor datashift:export:excel model=BlogPost result=BlogExport.xls
|
|
114
108
|
|
|
115
109
|
|
|
116
110
|
The library can be easily extended with Loaders to deal with non trivial cases,
|
|
@@ -143,13 +137,27 @@ This data can be exported directly to CSV or Excel/OpenOffice spreadsheets.
|
|
|
143
137
|
|
|
144
138
|
## Features
|
|
145
139
|
|
|
140
|
+
- *Associations*
|
|
141
|
+
|
|
142
|
+
Can import/export 'belongs_to, 'has_many' and 'has_one' associations, including assignment of multiple objects
|
|
143
|
+
via either multiple columns, or via a DSL for creating multiple entries in a single (column).
|
|
144
|
+
|
|
145
|
+
The DSL can also be used to define which fields to lookup associations, and assign values to other fields.
|
|
146
|
+
|
|
147
|
+
See Wiki for more details on DSL syntax.
|
|
148
|
+
|
|
149
|
+
Supports delegated attributes.
|
|
150
|
+
|
|
146
151
|
- *High level wrappers around applications including Excel and Word
|
|
147
152
|
|
|
148
153
|
Quickly and easily access common enterprise applications through Ruby
|
|
149
154
|
|
|
150
|
-
|
|
151
|
-
and Excel does not need to be installed.
|
|
155
|
+
MS Excel itself does not need to be installed.
|
|
152
156
|
|
|
157
|
+
Our proxy for Excel allows seamless switching between 'spreadsheet' gem and datashift's own JRuby wrapper over Apache POI.
|
|
158
|
+
|
|
159
|
+
When using JRuby, Apache POI may offer advanced facilities not found in standard Ruby spreadsheet gem
|
|
160
|
+
|
|
153
161
|
The required POI jars are already included.
|
|
154
162
|
|
|
155
163
|
- *Direct Excel export*
|
|
@@ -168,26 +176,21 @@ This data can be exported directly to CSV or Excel/OpenOffice spreadsheets.
|
|
|
168
176
|
an approximation of the actual associations, so given 'Product Properties' heading,
|
|
169
177
|
finds real association 'product_properties' to send or call on the AR object
|
|
170
178
|
|
|
171
|
-
- *Associations*
|
|
172
|
-
|
|
173
|
-
Can handle 'belongs_to, 'has_many' and 'has_one' associations, including assignment of multiple objects
|
|
174
|
-
via either multiple columns, or via specially delimited entry in a single (column). See Details section.
|
|
175
179
|
|
|
176
|
-
Supports delegated attributes.
|
|
177
180
|
|
|
178
|
-
- *
|
|
181
|
+
- *Thor Tasks*
|
|
179
182
|
|
|
180
|
-
High level
|
|
183
|
+
High level Thor CLIs are provided, only required to supply model class, and file location :
|
|
181
184
|
|
|
182
|
-
|
|
185
|
+
thor datashift:import:excel model=MusicTrack input=MyTrackListing.xls
|
|
183
186
|
|
|
184
187
|
|
|
185
|
-
- *Spree
|
|
188
|
+
- *Spree Tasks*
|
|
186
189
|
|
|
187
190
|
Spree's product associations are non trivial so specific Rake tasks are also provided for loading Spree Producta
|
|
188
191
|
with all associations and Image loading.
|
|
189
192
|
|
|
190
|
-
|
|
193
|
+
thor datashift:spree:products input=C:\MyProducts.xls
|
|
191
194
|
|
|
192
195
|
|
|
193
196
|
- *Seamless Spree Image loading can be achieved by ensuring SKU or class Name features in Image filename.
|
|
@@ -198,14 +201,12 @@ This data can be exported directly to CSV or Excel/OpenOffice spreadsheets.
|
|
|
198
201
|
parameter klass=Xyz.
|
|
199
202
|
|
|
200
203
|
In the Spree tasks, this defaults to Product, so attempts to attach Image to a Product via Product SKU or Name.
|
|
201
|
-
|
|
202
|
-
Image loading **does not** specifically require JRuby
|
|
203
204
|
|
|
204
205
|
A report is generated in the current working directory detailing any Images in the paths that could not be matched with a Product.
|
|
205
206
|
|
|
206
|
-
|
|
207
|
+
thor datashift:spree:images input=C:\images\product_images skip_if_no_assoc=true
|
|
207
208
|
|
|
208
|
-
|
|
209
|
+
thor datashift:spree:images input=C:\images\taxon_icons skip_if_no_assoc=true klass=Taxon
|
|
209
210
|
|
|
210
211
|
## Import to Active Record
|
|
211
212
|
|
|
@@ -229,8 +230,6 @@ During loading, a call to find_all_by_reference will be made, picking up the 2 c
|
|
|
229
230
|
|
|
230
231
|
## TODO
|
|
231
232
|
|
|
232
|
-
- Add direct Image loading to Spree i.e should be able to specify just path in a column .. "/images/red-tshirt.jpg"
|
|
233
|
-
|
|
234
233
|
- Smart sorting of column processing order ....
|
|
235
234
|
|
|
236
235
|
- Does not currently ensure mandatory columns (for valid?) processed first.
|
data/Rakefile
CHANGED
|
@@ -10,14 +10,11 @@
|
|
|
10
10
|
# type applications, files and databases.
|
|
11
11
|
#
|
|
12
12
|
# Provides support for moving data between .xls (Excel/OpenOffice)
|
|
13
|
-
# Spreedsheets via
|
|
13
|
+
# Spreedsheets via Ruby and AR, enabling direct import/export of
|
|
14
14
|
# ActiveRecord models with all their associations from database.
|
|
15
15
|
#
|
|
16
16
|
# Provides support for moving data between csv files and AR, enabling direct
|
|
17
17
|
# import/export of AR models and their associations from database.
|
|
18
|
-
#
|
|
19
|
-
# Provides rake tasks specifically tailored for uploading or exporting
|
|
20
|
-
# Spree Products, associations and Images
|
|
21
18
|
#
|
|
22
19
|
## encoding: utf-8
|
|
23
20
|
|
|
@@ -33,8 +30,8 @@ Jeweler::Tasks.new do |gem|
|
|
|
33
30
|
gem.name = DataShift.gem_name
|
|
34
31
|
gem.homepage = "http://github.com/autotelik/datashift"
|
|
35
32
|
gem.license = "MIT"
|
|
36
|
-
gem.summary = %Q{ Shift data betwen
|
|
37
|
-
gem.description = %Q{Comprehensive
|
|
33
|
+
gem.summary = %Q{ Shift data betwen Excel/CSV and any Ruby app}
|
|
34
|
+
gem.description = %Q{ Comprehensive tools to import/export between Excel/CSV and ActiveRecord databases, Rails apps, and any Ruby projec.}
|
|
38
35
|
gem.email = "rubygems@autotelik.co.uk"
|
|
39
36
|
gem.authors = ["Thomas Statter"]
|
|
40
37
|
# dependencies defined in Gemfile
|
|
@@ -89,4 +86,4 @@ task :build, :version do |t, args|
|
|
|
89
86
|
end
|
|
90
87
|
|
|
91
88
|
# Long parameter lists so ensure rake -T produces nice wide output
|
|
92
|
-
ENV['RAKE_COLUMNS'] = '180'
|
|
89
|
+
ENV['RAKE_COLUMNS'] = '180'
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.10.0
|
data/datashift.gemspec
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = "datashift"
|
|
8
|
-
s.version = "0.
|
|
8
|
+
s.version = "0.10.0"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Thomas Statter"]
|
|
12
|
-
s.date = "2012-09-
|
|
13
|
-
s.description = "Comprehensive
|
|
12
|
+
s.date = "2012-09-25"
|
|
13
|
+
s.description = " Comprehensive tools to import/export between Excel/CSV and ActiveRecord databases, Rails apps, and any Ruby projec."
|
|
14
14
|
s.email = "rubygems@autotelik.co.uk"
|
|
15
15
|
s.extra_rdoc_files = [
|
|
16
16
|
"LICENSE.txt",
|
|
@@ -25,8 +25,15 @@ Gem::Specification.new do |s|
|
|
|
25
25
|
"Rakefile",
|
|
26
26
|
"VERSION",
|
|
27
27
|
"datashift.gemspec",
|
|
28
|
-
"lib/applications/
|
|
28
|
+
"lib/applications/apache_poi_extensions.rb",
|
|
29
|
+
"lib/applications/excel.rb",
|
|
30
|
+
"lib/applications/excel_base.rb",
|
|
31
|
+
"lib/applications/jexcel_file.rb",
|
|
32
|
+
"lib/applications/jexcel_file_extensions.rb",
|
|
33
|
+
"lib/applications/jruby/old_pre_proxy_jexcel_file.rb",
|
|
29
34
|
"lib/applications/jruby/word.rb",
|
|
35
|
+
"lib/applications/ruby_poi_translations.rb",
|
|
36
|
+
"lib/applications/spreadsheet_extensions.rb",
|
|
30
37
|
"lib/datashift.rb",
|
|
31
38
|
"lib/datashift/delimiters.rb",
|
|
32
39
|
"lib/datashift/exceptions.rb",
|
|
@@ -45,9 +52,9 @@ Gem::Specification.new do |s|
|
|
|
45
52
|
"lib/generators/csv_generator.rb",
|
|
46
53
|
"lib/generators/excel_generator.rb",
|
|
47
54
|
"lib/generators/generator_base.rb",
|
|
55
|
+
"lib/guards.rb",
|
|
48
56
|
"lib/helpers/core_ext/to_b.rb",
|
|
49
57
|
"lib/helpers/rake_utils.rb",
|
|
50
|
-
"lib/helpers/spree_helper.rb",
|
|
51
58
|
"lib/java/poi-3.7/._poi-3.7-20101029.jar5645100390082102460.tmp",
|
|
52
59
|
"lib/java/poi-3.7/LICENSE",
|
|
53
60
|
"lib/java/poi-3.7/NOTICE",
|
|
@@ -66,40 +73,22 @@ Gem::Specification.new do |s|
|
|
|
66
73
|
"lib/loaders/csv_loader.rb",
|
|
67
74
|
"lib/loaders/excel_loader.rb",
|
|
68
75
|
"lib/loaders/loader_base.rb",
|
|
69
|
-
"lib/loaders/paperclip/
|
|
70
|
-
"lib/loaders/
|
|
71
|
-
"lib/loaders/
|
|
72
|
-
"lib/loaders/spree/product_loader.rb",
|
|
76
|
+
"lib/loaders/paperclip/attachment_loader.rb",
|
|
77
|
+
"lib/loaders/paperclip/datashift_paperclip.rb",
|
|
78
|
+
"lib/loaders/paperclip/image_loading.rb",
|
|
73
79
|
"lib/thor/export.thor",
|
|
74
|
-
"lib/thor/
|
|
80
|
+
"lib/thor/generate.thor",
|
|
75
81
|
"lib/thor/import.thor",
|
|
76
|
-
"lib/thor/
|
|
77
|
-
"lib/thor/spree/products_images.thor",
|
|
78
|
-
"lib/thor/spree/reports.thor",
|
|
82
|
+
"lib/thor/paperclip.thor",
|
|
79
83
|
"lib/thor/tools.thor",
|
|
80
|
-
"public/spree/products/large/DEMO_001_ror_bag.jpeg",
|
|
81
|
-
"public/spree/products/large/DEMO_002_Powerstation.jpg",
|
|
82
|
-
"public/spree/products/large/DEMO_003_ror_mug.jpeg",
|
|
83
|
-
"public/spree/products/mini/DEMO_001_ror_bag.jpeg",
|
|
84
|
-
"public/spree/products/mini/DEMO_002_Powerstation.jpg",
|
|
85
|
-
"public/spree/products/mini/DEMO_003_ror_mug.jpeg",
|
|
86
|
-
"public/spree/products/original/DEMO_001_ror_bag.jpeg",
|
|
87
|
-
"public/spree/products/original/DEMO_002_Powerstation.jpg",
|
|
88
|
-
"public/spree/products/original/DEMO_003_ror_mug.jpeg",
|
|
89
|
-
"public/spree/products/product/DEMO_001_ror_bag.jpeg",
|
|
90
|
-
"public/spree/products/product/DEMO_002_Powerstation.jpg",
|
|
91
|
-
"public/spree/products/product/DEMO_003_ror_mug.jpeg",
|
|
92
|
-
"public/spree/products/small/DEMO_001_ror_bag.jpeg",
|
|
93
|
-
"public/spree/products/small/DEMO_002_Powerstation.jpg",
|
|
94
|
-
"public/spree/products/small/DEMO_003_ror_mug.jpeg",
|
|
95
84
|
"spec/Gemfile",
|
|
96
85
|
"spec/csv_exporter_spec.rb",
|
|
97
86
|
"spec/csv_loader_spec.rb",
|
|
98
87
|
"spec/datashift_spec.rb",
|
|
99
|
-
"spec/db/migrate/20110803201325_create_test_bed.rb",
|
|
100
88
|
"spec/excel_exporter_spec.rb",
|
|
101
89
|
"spec/excel_generator_spec.rb",
|
|
102
90
|
"spec/excel_loader_spec.rb",
|
|
91
|
+
"spec/excel_spec.rb",
|
|
103
92
|
"spec/file_definitions.rb",
|
|
104
93
|
"spec/fixtures/BadAssociationName.xls",
|
|
105
94
|
"spec/fixtures/DemoNegativeTesting.xls",
|
|
@@ -109,59 +98,100 @@ Gem::Specification.new do |s|
|
|
|
109
98
|
"spec/fixtures/ProjectsSingleCategories.xls",
|
|
110
99
|
"spec/fixtures/SimpleProjects.xls",
|
|
111
100
|
"spec/fixtures/config/database.yml",
|
|
112
|
-
"spec/fixtures/
|
|
113
|
-
"spec/fixtures/
|
|
101
|
+
"spec/fixtures/db/datashift_test_models_db.sqlite",
|
|
102
|
+
"spec/fixtures/db/migrate/20110803201325_create_test_bed.rb",
|
|
114
103
|
"spec/fixtures/images/DEMO_001_ror_bag.jpeg",
|
|
115
104
|
"spec/fixtures/images/DEMO_002_Powerstation.jpg",
|
|
116
105
|
"spec/fixtures/images/DEMO_003_ror_mug.jpeg",
|
|
117
106
|
"spec/fixtures/images/DEMO_004_ror_ringer.jpeg",
|
|
118
|
-
"spec/fixtures/
|
|
119
|
-
"spec/fixtures/
|
|
120
|
-
"spec/fixtures/
|
|
121
|
-
"spec/fixtures/
|
|
107
|
+
"spec/fixtures/load_datashift.thor",
|
|
108
|
+
"spec/fixtures/models/category.rb",
|
|
109
|
+
"spec/fixtures/models/empty.rb",
|
|
110
|
+
"spec/fixtures/models/loader_release.rb",
|
|
111
|
+
"spec/fixtures/models/long_and_complex_table_linked_to_version.rb",
|
|
112
|
+
"spec/fixtures/models/milestone.rb",
|
|
113
|
+
"spec/fixtures/models/owner.rb",
|
|
114
|
+
"spec/fixtures/models/project.rb",
|
|
115
|
+
"spec/fixtures/models/test_model_defs.rb",
|
|
116
|
+
"spec/fixtures/models/version.rb",
|
|
122
117
|
"spec/fixtures/simple_export_spec.xls",
|
|
123
118
|
"spec/fixtures/simple_template_spec.xls",
|
|
124
|
-
"spec/fixtures/spree/SpreeImages.xls",
|
|
125
|
-
"spec/fixtures/spree/SpreeMultiVariant.csv",
|
|
126
|
-
"spec/fixtures/spree/SpreeProducts.csv",
|
|
127
|
-
"spec/fixtures/spree/SpreeProducts.xls",
|
|
128
|
-
"spec/fixtures/spree/SpreeProductsDefaults.yml",
|
|
129
|
-
"spec/fixtures/spree/SpreeProductsMandatoryOnly.xls",
|
|
130
|
-
"spec/fixtures/spree/SpreeProductsMultiColumn.csv",
|
|
131
|
-
"spec/fixtures/spree/SpreeProductsMultiColumn.xls",
|
|
132
|
-
"spec/fixtures/spree/SpreeProductsSimple.csv",
|
|
133
|
-
"spec/fixtures/spree/SpreeProductsSimple.xls",
|
|
134
|
-
"spec/fixtures/spree/SpreeProductsWithImages.csv",
|
|
135
|
-
"spec/fixtures/spree/SpreeProductsWithImages.xls",
|
|
136
|
-
"spec/fixtures/spree/SpreeZoneExample.csv",
|
|
137
|
-
"spec/fixtures/spree/SpreeZoneExample.xls",
|
|
138
119
|
"spec/fixtures/test_model_defs.rb",
|
|
139
120
|
"spec/loader_spec.rb",
|
|
140
121
|
"spec/method_dictionary_spec.rb",
|
|
141
122
|
"spec/method_mapper_spec.rb",
|
|
123
|
+
"spec/rails_sandbox/.gitignore",
|
|
124
|
+
"spec/rails_sandbox/Gemfile",
|
|
125
|
+
"spec/rails_sandbox/README.rdoc",
|
|
126
|
+
"spec/rails_sandbox/Rakefile",
|
|
127
|
+
"spec/rails_sandbox/app/assets/images/rails.png",
|
|
128
|
+
"spec/rails_sandbox/app/assets/javascripts/application.js",
|
|
129
|
+
"spec/rails_sandbox/app/assets/stylesheets/application.css",
|
|
130
|
+
"spec/rails_sandbox/app/controllers/application_controller.rb",
|
|
131
|
+
"spec/rails_sandbox/app/helpers/application_helper.rb",
|
|
132
|
+
"spec/rails_sandbox/app/mailers/.gitkeep",
|
|
133
|
+
"spec/rails_sandbox/app/models/.gitkeep",
|
|
134
|
+
"spec/rails_sandbox/app/models/category.rb",
|
|
135
|
+
"spec/rails_sandbox/app/models/empty.rb",
|
|
136
|
+
"spec/rails_sandbox/app/models/loader_release.rb",
|
|
137
|
+
"spec/rails_sandbox/app/models/long_and_complex_table_linked_to_version.rb",
|
|
138
|
+
"spec/rails_sandbox/app/models/milestone.rb",
|
|
139
|
+
"spec/rails_sandbox/app/models/owner.rb",
|
|
140
|
+
"spec/rails_sandbox/app/models/project.rb",
|
|
141
|
+
"spec/rails_sandbox/app/models/test_model_defs.rb",
|
|
142
|
+
"spec/rails_sandbox/app/models/version.rb",
|
|
143
|
+
"spec/rails_sandbox/app/views/layouts/application.html.erb",
|
|
144
|
+
"spec/rails_sandbox/config.ru",
|
|
145
|
+
"spec/rails_sandbox/config/application.rb",
|
|
146
|
+
"spec/rails_sandbox/config/boot.rb",
|
|
147
|
+
"spec/rails_sandbox/config/database.yml",
|
|
148
|
+
"spec/rails_sandbox/config/environment.rb",
|
|
149
|
+
"spec/rails_sandbox/config/environments/development.rb",
|
|
150
|
+
"spec/rails_sandbox/config/environments/production.rb",
|
|
151
|
+
"spec/rails_sandbox/config/environments/test.rb",
|
|
152
|
+
"spec/rails_sandbox/config/initializers/backtrace_silencers.rb",
|
|
153
|
+
"spec/rails_sandbox/config/initializers/inflections.rb",
|
|
154
|
+
"spec/rails_sandbox/config/initializers/mime_types.rb",
|
|
155
|
+
"spec/rails_sandbox/config/initializers/secret_token.rb",
|
|
156
|
+
"spec/rails_sandbox/config/initializers/session_store.rb",
|
|
157
|
+
"spec/rails_sandbox/config/initializers/wrap_parameters.rb",
|
|
158
|
+
"spec/rails_sandbox/config/locales/en.yml",
|
|
159
|
+
"spec/rails_sandbox/config/routes.rb",
|
|
160
|
+
"spec/rails_sandbox/db/migrate/20110803201325_create_test_bed.rb",
|
|
161
|
+
"spec/rails_sandbox/db/schema.rb",
|
|
162
|
+
"spec/rails_sandbox/db/seeds.rb",
|
|
163
|
+
"spec/rails_sandbox/lib/assets/.gitkeep",
|
|
164
|
+
"spec/rails_sandbox/lib/tasks/.gitkeep",
|
|
165
|
+
"spec/rails_sandbox/log/.gitkeep",
|
|
166
|
+
"spec/rails_sandbox/public/404.html",
|
|
167
|
+
"spec/rails_sandbox/public/422.html",
|
|
168
|
+
"spec/rails_sandbox/public/500.html",
|
|
169
|
+
"spec/rails_sandbox/public/favicon.ico",
|
|
170
|
+
"spec/rails_sandbox/public/index.html",
|
|
171
|
+
"spec/rails_sandbox/public/robots.txt",
|
|
172
|
+
"spec/rails_sandbox/script/rails",
|
|
173
|
+
"spec/rails_sandbox/test/fixtures/.gitkeep",
|
|
174
|
+
"spec/rails_sandbox/test/functional/.gitkeep",
|
|
175
|
+
"spec/rails_sandbox/test/integration/.gitkeep",
|
|
176
|
+
"spec/rails_sandbox/test/performance/browsing_test.rb",
|
|
177
|
+
"spec/rails_sandbox/test/test_helper.rb",
|
|
178
|
+
"spec/rails_sandbox/test/unit/.gitkeep",
|
|
179
|
+
"spec/rails_sandbox/vendor/assets/javascripts/.gitkeep",
|
|
180
|
+
"spec/rails_sandbox/vendor/assets/stylesheets/.gitkeep",
|
|
181
|
+
"spec/rails_sandbox/vendor/plugins/.gitkeep",
|
|
142
182
|
"spec/spec_helper.rb",
|
|
143
|
-
"spec/spree_exporter_spec.rb",
|
|
144
|
-
"spec/spree_generator_spec.rb",
|
|
145
|
-
"spec/spree_images_loader_spec.rb",
|
|
146
|
-
"spec/spree_loader_spec.rb",
|
|
147
|
-
"spec/spree_method_mapping_spec.rb",
|
|
148
|
-
"spec/spree_variants_loader_spec.rb",
|
|
149
183
|
"spec/thor_spec.rb",
|
|
150
184
|
"tasks/config/seed_fu_product_template.erb",
|
|
151
185
|
"tasks/config/tidy_config.txt",
|
|
152
186
|
"tasks/db_tasks.rake",
|
|
153
|
-
"tasks/export/excel_generator.rake",
|
|
154
187
|
"tasks/file_tasks.rake",
|
|
155
|
-
"tasks/
|
|
156
|
-
"tasks/word_to_seedfu.rake",
|
|
157
|
-
"test/helper.rb",
|
|
158
|
-
"test/test_interact.rb"
|
|
188
|
+
"tasks/word_to_seedfu.rake"
|
|
159
189
|
]
|
|
160
190
|
s.homepage = "http://github.com/autotelik/datashift"
|
|
161
191
|
s.licenses = ["MIT"]
|
|
162
192
|
s.require_paths = ["lib"]
|
|
163
|
-
s.rubygems_version = "1.8.
|
|
164
|
-
s.summary = "Shift data betwen
|
|
193
|
+
s.rubygems_version = "1.8.15"
|
|
194
|
+
s.summary = "Shift data betwen Excel/CSV and any Ruby app"
|
|
165
195
|
|
|
166
196
|
if s.respond_to? :specification_version then
|
|
167
197
|
s.specification_version = 3
|