datashift 0.9.0 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|