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
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
ENV["RAILS_ENV"] = "test"
|
|
2
|
+
require File.expand_path('../../config/environment', __FILE__)
|
|
3
|
+
require 'rails/test_help'
|
|
4
|
+
|
|
5
|
+
class ActiveSupport::TestCase
|
|
6
|
+
# Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
|
|
7
|
+
#
|
|
8
|
+
# Note: You'll currently still have to declare fixtures explicitly in integration tests
|
|
9
|
+
# -- they do not yet inherit this setting
|
|
10
|
+
fixtures :all
|
|
11
|
+
|
|
12
|
+
# Add more helper methods to be used by all tests here...
|
|
13
|
+
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
require 'stringio'
|
|
3
|
-
|
|
4
|
-
require File.dirname(__FILE__) + '/../lib/datashift'
|
|
5
|
-
|
|
6
|
-
include DataShift
|
|
7
|
-
|
|
8
1
|
# Copyright:: (c) Autotelik Media Ltd 2011
|
|
9
2
|
# Author :: Tom Statter
|
|
10
3
|
# Date :: Aug 2011
|
|
@@ -16,56 +9,144 @@ include DataShift
|
|
|
16
9
|
# We are not setup as a Rails project so need to mimic an active record database setup so
|
|
17
10
|
# we have some AR models to test against. Create an in memory database from scratch.
|
|
18
11
|
#
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
require 'active_record'
|
|
13
|
+
require 'thor/actions'
|
|
14
|
+
require 'bundler'
|
|
15
|
+
require 'stringio'
|
|
21
16
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
def db_connect( env = 'test_file')
|
|
25
|
-
|
|
26
|
-
gemfile = File.join(DataShift::root_path, 'spec', 'Gemfile')
|
|
17
|
+
require File.dirname(__FILE__) + '/../lib/datashift'
|
|
27
18
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
19
|
+
RSpec.configure do |config|
|
|
20
|
+
config.before do
|
|
21
|
+
ARGV.replace []
|
|
22
|
+
end
|
|
31
23
|
|
|
32
|
-
require 'active_record'
|
|
33
24
|
|
|
34
|
-
|
|
25
|
+
|
|
26
|
+
def run_in(dir )
|
|
27
|
+
puts "RSpec .. running test in path [#{dir}]"
|
|
28
|
+
original_dir = Dir.pwd
|
|
29
|
+
begin
|
|
30
|
+
Dir.chdir dir
|
|
31
|
+
yield
|
|
32
|
+
ensure
|
|
33
|
+
Dir.chdir original_dir
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def capture(stream)
|
|
38
|
+
begin
|
|
39
|
+
stream = stream.to_s
|
|
40
|
+
eval "$#{stream} = StringIO.new"
|
|
41
|
+
yield
|
|
42
|
+
result = eval("$#{stream}").string
|
|
43
|
+
ensure
|
|
44
|
+
eval("$#{stream} = #{stream.upcase}")
|
|
45
|
+
end
|
|
35
46
|
|
|
36
|
-
|
|
47
|
+
result
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
alias :silence :capture
|
|
37
51
|
|
|
38
|
-
|
|
52
|
+
def fixtures_path()
|
|
53
|
+
File.expand_path(File.dirname(__FILE__) + '/fixtures')
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def ifixture_file( name )
|
|
57
|
+
File.join(fixtures_path(), name)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def results_path
|
|
61
|
+
File.join(fixtures_path(), 'results')
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Return location of an expected results file and ensure tree clean before test
|
|
65
|
+
def result_file( name )
|
|
66
|
+
expect = File.join(results_path, name)
|
|
39
67
|
|
|
40
|
-
|
|
41
|
-
db = configuration[:database_configuration][ env ]
|
|
68
|
+
begin FileUtils.rm(expect); rescue; end
|
|
42
69
|
|
|
43
|
-
|
|
44
|
-
|
|
70
|
+
expect
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def results_clear
|
|
74
|
+
begin FileUtils.rm_rf(results_path); rescue; end
|
|
75
|
+
|
|
76
|
+
FileUtils.mkdir(results_path) unless File.exists?(results_path);
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def set_logger( name = 'datashift_spec.log')
|
|
45
80
|
|
|
46
|
-
#dbtype = Rails.configuration.database_configuration[Rails.env]['adapter'].to_sym
|
|
47
|
-
|
|
48
81
|
require 'logger'
|
|
49
82
|
logdir = File.dirname(__FILE__) + '/logs'
|
|
50
83
|
FileUtils.mkdir_p(logdir) unless File.exists?(logdir)
|
|
51
|
-
ActiveRecord::Base.logger = Logger.new(logdir
|
|
84
|
+
ActiveRecord::Base.logger = Logger.new( File.join(logdir, name) )
|
|
52
85
|
|
|
53
86
|
# Anyway to direct one logger to another ????? ... Logger.new(STDOUT)
|
|
54
87
|
|
|
55
88
|
@dslog = ActiveRecord::Base.logger
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def bundler_setup(gemfile)
|
|
92
|
+
$stderr.puts "No Such Gemfile #{gemfile}" unless File.exists?(gemfile)
|
|
93
|
+
|
|
94
|
+
ENV['BUNDLE_GEMFILE'] = gemfile
|
|
95
|
+
#Bundler.setup
|
|
96
|
+
begin
|
|
97
|
+
Bundler.setup(:default, :development)
|
|
98
|
+
rescue Bundler::BundlerError => e
|
|
99
|
+
$stderr.puts e.message
|
|
100
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
|
101
|
+
exit e.status_code
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
def db_clear_connections
|
|
106
|
+
# We have multiple schemas and hence connections tested in single spec directory
|
|
107
|
+
ActiveRecord::Base.clear_active_connections!()
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def database_yml_path
|
|
111
|
+
File.join(fixtures_path, 'config', 'database.yml')
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
def db_connect( env = 'test_file')
|
|
56
115
|
|
|
116
|
+
bundler_setup( File.join(DataShift::root_path, 'spec', 'Gemfile') )
|
|
117
|
+
|
|
118
|
+
# Some active record stuff seems to rely on the RAILS_ENV being set ?
|
|
119
|
+
|
|
120
|
+
ENV['RAILS_ENV'] = env
|
|
121
|
+
|
|
122
|
+
# We have multiple schemas and hence connections tested in single spec directory
|
|
123
|
+
db_clear_connections
|
|
124
|
+
|
|
125
|
+
configuration = {}
|
|
126
|
+
|
|
127
|
+
configuration[:database_configuration] = YAML::load( ERB.new( IO.read(database_yml_path) ).result )
|
|
128
|
+
db = configuration[:database_configuration][ env ]
|
|
129
|
+
|
|
130
|
+
puts "Setting DB Config:", db.inspect
|
|
131
|
+
ActiveRecord::Base.configurations = db
|
|
132
|
+
|
|
133
|
+
#dbtype = Rails.configuration.database_configuration[Rails.env]['adapter'].to_sym
|
|
134
|
+
|
|
135
|
+
set_logger
|
|
136
|
+
|
|
57
137
|
puts "Connecting to DB"
|
|
138
|
+
|
|
58
139
|
ActiveRecord::Base.establish_connection( db )
|
|
59
140
|
|
|
60
141
|
# See errors #<NameError: uninitialized constant RAILS_CACHE> when doing save (AR without Rails)
|
|
61
142
|
# so copied this from ... Rails::Initializer.initialize_cache
|
|
62
|
-
Object.const_set "RAILS_CACHE", ActiveSupport::Cache.lookup_store( :memory_store )
|
|
143
|
+
#Object.const_set "RAILS_CACHE", ActiveSupport::Cache.lookup_store( :memory_store ) unless defined?(RAILS_CACHE)
|
|
63
144
|
|
|
64
145
|
puts "Connected to DB"
|
|
65
146
|
|
|
66
147
|
@dslog.info "Connected to DB - #{ActiveRecord::Base.connection.inspect}"
|
|
67
148
|
end
|
|
68
|
-
|
|
149
|
+
|
|
69
150
|
# These are our test models with associations
|
|
70
151
|
def db_clear
|
|
71
152
|
[Project, Milestone, Category, Version, LoaderRelease].each {|x| x.delete_all}
|
|
@@ -75,107 +156,49 @@ module DataShift
|
|
|
75
156
|
load "#{Rails.root}/db/schema.rb"
|
|
76
157
|
end
|
|
77
158
|
|
|
78
|
-
def migrate_up
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
def results_path
|
|
83
|
-
File.join($DataShiftFixturePath, 'results')
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
def results_clear
|
|
87
|
-
begin FileUtils.rm_rf(results_path); rescue; end
|
|
88
|
-
|
|
89
|
-
FileUtils.mkdir(results_path) unless File.exists?(results_path);
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
# Return location of an expected results file and ensure tree clean before test
|
|
93
|
-
def result_file( name )
|
|
94
|
-
expect = File.join(results_path, name)
|
|
95
|
-
|
|
96
|
-
begin FileUtils.rm(expect); rescue; end
|
|
97
|
-
|
|
98
|
-
expect
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
def ifixture_file( name )
|
|
102
|
-
File.join($DataShiftFixturePath, name)
|
|
159
|
+
def migrate_up( rails_root = fixtures_path )
|
|
160
|
+
p = File.join(fixtures_path, 'db/migrate')
|
|
161
|
+
raise "Cannot migrate DB - no such path #{p}" unless File.exists?(p)
|
|
162
|
+
ActiveRecord::Migrator.up(p)
|
|
103
163
|
end
|
|
104
164
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
module SpecHelper
|
|
108
|
-
|
|
109
|
-
# VERSIONS of Spree (1.1.0.rc1, 1.0.0, 0.11.2)
|
|
110
|
-
|
|
111
|
-
$SpreeFixturePath = File.join($DataShiftFixturePath, 'spree')
|
|
112
|
-
$SpreeNegativeFixturePath = File.join($DataShiftFixturePath, 'negative')
|
|
113
|
-
|
|
114
|
-
def self.spree_fixture( source)
|
|
115
|
-
File.join($SpreeFixturePath, source)
|
|
165
|
+
def rails_sandbox_path
|
|
166
|
+
File.expand_path('../../spec/rails_sandbox', __FILE__)
|
|
116
167
|
end
|
|
117
|
-
|
|
118
|
-
def before_all_spree
|
|
119
168
|
|
|
120
|
-
|
|
121
|
-
# a complete Spree application for testing so we implement a mini migrate/boot of our own
|
|
122
|
-
SpreeHelper.load()
|
|
123
|
-
SpreeHelper.boot('test_spree_standalone') # key to YAML db e.g test_memory, test_mysql
|
|
124
|
-
|
|
125
|
-
puts "Testing Spree standalone - version #{SpreeHelper::version}"
|
|
126
|
-
|
|
127
|
-
SpreeHelper.migrate_up # create an sqlite Spree database on the fly
|
|
169
|
+
def rails_sandbox( force = false)
|
|
128
170
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
@spree_klass_list.each do |k|
|
|
135
|
-
instance_variable_set("@#{k}_klass", SpreeHelper::get_spree_class(k))
|
|
171
|
+
rails_sandbox = rails_sandbox_path
|
|
172
|
+
|
|
173
|
+
if(force == true && File.exists?(rails_sandbox))
|
|
174
|
+
FileUtils::rm_rf(rails_sandbox)
|
|
136
175
|
end
|
|
137
176
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
def before_each_spree
|
|
177
|
+
unless(File.exists?(rails_sandbox))
|
|
141
178
|
|
|
142
|
-
|
|
143
|
-
@Product_klass.delete_all
|
|
179
|
+
puts "Creating new Rails sandbox : ", File.expand_path( "#{rails_sandbox}/.." )
|
|
144
180
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
end
|
|
181
|
+
run_in( File.expand_path("#{rails_sandbox}/..") ) do |path|
|
|
182
|
+
|
|
183
|
+
name = File.basename(DataShift::sandbox)
|
|
149
184
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
185
|
+
puts "Creating new Rails sandbox in : #{path}"
|
|
186
|
+
system('rails new ' + name)
|
|
187
|
+
|
|
188
|
+
puts "Copying over models :", Dir.glob(File.join(fixtures_path, 'models', '*.rb')).inspect
|
|
189
|
+
|
|
190
|
+
FileUtils::cp_r( Dir.glob(File.join(fixtures_path, 'models', '*.rb')), File.join(name, 'app/models'))
|
|
191
|
+
|
|
192
|
+
migrations = File.expand_path('../../spec/db/migrate', __FILE__)
|
|
193
|
+
|
|
194
|
+
FileUtils::cp_r( migrations, File.join(rails_sandbox, 'db'))
|
|
195
|
+
|
|
196
|
+
puts "Running db:migrate"
|
|
197
|
+
|
|
198
|
+
run_in(rails_sandbox) { system('bundle exec rake db:migrate') }
|
|
199
|
+
end
|
|
200
|
+
end
|
|
201
|
+
rails_sandbox
|
|
160
202
|
end
|
|
161
|
-
|
|
162
|
-
result
|
|
163
|
-
end
|
|
164
203
|
|
|
165
|
-
RSpec.configure do |config|
|
|
166
|
-
# config.use_transactional_fixtures = true
|
|
167
|
-
# config.use_instantiated_fixtures = false
|
|
168
|
-
# config.fixture_path = RAILS_ROOT + '/spec/fixtures'
|
|
169
|
-
|
|
170
|
-
# You can declare fixtures for each behaviour like this:
|
|
171
|
-
# describe "...." do
|
|
172
|
-
# fixtures :table_a, :table_b
|
|
173
|
-
#
|
|
174
|
-
# Alternatively, if you prefer to declare them only once, you can
|
|
175
|
-
# do so here, like so ...
|
|
176
|
-
#
|
|
177
|
-
# config.global_fixtures = :table_a, :table_b
|
|
178
|
-
#
|
|
179
|
-
# If you declare global fixtures, be aware that they will be declared
|
|
180
|
-
# for all of your examples, even those that don't use them.
|
|
181
204
|
end
|
data/spec/thor_spec.rb
CHANGED
|
@@ -8,28 +8,48 @@
|
|
|
8
8
|
#
|
|
9
9
|
require 'thor'
|
|
10
10
|
require 'thor/group'
|
|
11
|
-
|
|
11
|
+
require 'thor/runner'
|
|
12
12
|
|
|
13
13
|
require File.dirname(__FILE__) + '/spec_helper'
|
|
14
14
|
|
|
15
|
-
require 'spree_helper'
|
|
16
|
-
|
|
17
|
-
load 'products_images.thor'
|
|
18
|
-
|
|
19
|
-
include DataShift
|
|
20
|
-
|
|
21
15
|
describe 'Thor high level command line tasks' do
|
|
22
|
-
|
|
16
|
+
|
|
17
|
+
before(:all) do
|
|
18
|
+
DataShift::load_commands
|
|
19
|
+
end
|
|
20
|
+
|
|
23
21
|
before(:each) do
|
|
22
|
+
db_clear_connections
|
|
24
23
|
end
|
|
25
|
-
|
|
26
24
|
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
#thor datashift:export:csv -m, --model=MODEL -r, --result=RESULT ...
|
|
26
|
+
#thor datashift:export:excel -m, --model=MODEL -r, --result=RESULT ...
|
|
27
|
+
#thor datashift:generate:excel -m, --model=MODEL -r, --result=RESULT ...
|
|
28
|
+
#thor datashift:import:csv -i, --input=INPUT -m, --model=MODEL ...
|
|
29
|
+
#thor datashift:import:excel -i, --input=INPUT -m, --model=MODEL ...
|
|
30
|
+
#thor datashift:paperclip:attach -a, --attachment-klass=ATTACHMENT_KLASS -f, -... ...
|
|
31
|
+
#thor datashift:tools:zip -p, --path=PATH -r, --results=RESULTS ...
|
|
32
|
+
|
|
33
|
+
it "should list available datashift thor tasks" do
|
|
34
|
+
x = capture(:stdout){ Thor::Runner.start(["list"]) }
|
|
35
|
+
x.should =~ /.+datashift.+\n---------\n/
|
|
36
|
+
x.should =~ / csv -i/
|
|
37
|
+
x.should =~ / excel -i/
|
|
29
38
|
end
|
|
30
39
|
|
|
31
|
-
|
|
32
|
-
|
|
40
|
+
# N.B Tasks that fire up Rails application need to be run in own Thread or else get
|
|
41
|
+
# ... You cannot have more than one Rails::Application
|
|
42
|
+
|
|
43
|
+
it "should be able to import a model from a complex excel through import CLI" do
|
|
44
|
+
pending "How to run once rails already initialzed .. error : database configuration does not specify adapter"
|
|
45
|
+
x = Thread.new {
|
|
46
|
+
run_in(rails_sandbox()) do
|
|
47
|
+
stdout = capture(:stdout){
|
|
48
|
+
Thor::Runner.start(["datashift:import:excel", '-m', 'Project', '-i', ifixture_file('ProjectsSingleCategories.xls')])
|
|
49
|
+
}
|
|
50
|
+
puts stdout
|
|
51
|
+
end
|
|
52
|
+
}
|
|
53
|
+
x.join
|
|
33
54
|
end
|
|
34
|
-
|
|
35
55
|
end
|
metadata
CHANGED
|
@@ -1,231 +1,244 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: datashift
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash: 59
|
|
5
4
|
prerelease:
|
|
6
|
-
|
|
7
|
-
- 0
|
|
8
|
-
- 9
|
|
9
|
-
- 0
|
|
10
|
-
version: 0.9.0
|
|
5
|
+
version: 0.10.0
|
|
11
6
|
platform: ruby
|
|
12
7
|
authors:
|
|
13
|
-
- Thomas Statter
|
|
8
|
+
- Thomas Statter
|
|
14
9
|
autorequire:
|
|
15
10
|
bindir: bin
|
|
16
11
|
cert_chain: []
|
|
17
12
|
|
|
18
|
-
date: 2012-09-
|
|
13
|
+
date: 2012-09-25 00:00:00 Z
|
|
19
14
|
dependencies:
|
|
20
|
-
- !ruby/object:Gem::Dependency
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
version: "0"
|
|
44
|
-
requirement: *id002
|
|
45
|
-
prerelease: false
|
|
46
|
-
name: rubyzip
|
|
47
|
-
type: :runtime
|
|
48
|
-
description: Comprehensive Excel and CSV import/export tools. Shift data between ActiveRecord databases, applications, and projects like Spree
|
|
15
|
+
- !ruby/object:Gem::Dependency
|
|
16
|
+
name: spreadsheet
|
|
17
|
+
prerelease: false
|
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
19
|
+
none: false
|
|
20
|
+
requirements:
|
|
21
|
+
- - ">="
|
|
22
|
+
- !ruby/object:Gem::Version
|
|
23
|
+
version: "0"
|
|
24
|
+
type: :runtime
|
|
25
|
+
version_requirements: *id001
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: rubyzip
|
|
28
|
+
prerelease: false
|
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
30
|
+
none: false
|
|
31
|
+
requirements:
|
|
32
|
+
- - ">="
|
|
33
|
+
- !ruby/object:Gem::Version
|
|
34
|
+
version: "0"
|
|
35
|
+
type: :runtime
|
|
36
|
+
version_requirements: *id002
|
|
37
|
+
description: " Comprehensive tools to import/export between Excel/CSV and ActiveRecord databases, Rails apps, and any Ruby projec."
|
|
49
38
|
email: rubygems@autotelik.co.uk
|
|
50
39
|
executables: []
|
|
51
40
|
|
|
52
41
|
extensions: []
|
|
53
42
|
|
|
54
43
|
extra_rdoc_files:
|
|
55
|
-
- LICENSE.txt
|
|
56
|
-
- README.markdown
|
|
57
|
-
- README.rdoc
|
|
44
|
+
- LICENSE.txt
|
|
45
|
+
- README.markdown
|
|
46
|
+
- README.rdoc
|
|
58
47
|
files:
|
|
59
|
-
- .document
|
|
60
|
-
- LICENSE.txt
|
|
61
|
-
- README.markdown
|
|
62
|
-
- README.rdoc
|
|
63
|
-
- Rakefile
|
|
64
|
-
- VERSION
|
|
65
|
-
- datashift.gemspec
|
|
66
|
-
- lib/applications/
|
|
67
|
-
- lib/applications/
|
|
68
|
-
- lib/
|
|
69
|
-
- lib/
|
|
70
|
-
- lib/
|
|
71
|
-
- lib/
|
|
72
|
-
- lib/
|
|
73
|
-
- lib/
|
|
74
|
-
- lib/
|
|
75
|
-
- lib/datashift
|
|
76
|
-
- lib/datashift/
|
|
77
|
-
- lib/datashift/
|
|
78
|
-
- lib/datashift/
|
|
79
|
-
- lib/datashift/
|
|
80
|
-
- lib/
|
|
81
|
-
- lib/
|
|
82
|
-
- lib/
|
|
83
|
-
- lib/
|
|
84
|
-
- lib/
|
|
85
|
-
- lib/
|
|
86
|
-
- lib/
|
|
87
|
-
- lib/
|
|
88
|
-
- lib/
|
|
89
|
-
- lib/
|
|
90
|
-
- lib/
|
|
91
|
-
- lib/
|
|
92
|
-
- lib/
|
|
93
|
-
- lib/
|
|
94
|
-
- lib/
|
|
95
|
-
- lib/
|
|
96
|
-
- lib/java/poi-3.7
|
|
97
|
-
- lib/java/poi-3.7/
|
|
98
|
-
- lib/java/poi-3.7/
|
|
99
|
-
- lib/java/poi-3.7/
|
|
100
|
-
- lib/java/poi-3.7/
|
|
101
|
-
- lib/java/poi-3.7/
|
|
102
|
-
- lib/java/poi-3.7/
|
|
103
|
-
- lib/java/poi-3.7/
|
|
104
|
-
- lib/
|
|
105
|
-
- lib/
|
|
106
|
-
- lib/
|
|
107
|
-
- lib/
|
|
108
|
-
- lib/
|
|
109
|
-
- lib/
|
|
110
|
-
- lib/
|
|
111
|
-
- lib/
|
|
112
|
-
- lib/
|
|
113
|
-
- lib/
|
|
114
|
-
- lib/
|
|
115
|
-
- lib/
|
|
116
|
-
- lib/
|
|
117
|
-
- lib/thor/
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
-
|
|
126
|
-
-
|
|
127
|
-
-
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
132
|
-
-
|
|
133
|
-
- spec/
|
|
134
|
-
- spec/
|
|
135
|
-
- spec/
|
|
136
|
-
- spec/
|
|
137
|
-
- spec/
|
|
138
|
-
- spec/
|
|
139
|
-
- spec/
|
|
140
|
-
- spec/
|
|
141
|
-
- spec/
|
|
142
|
-
- spec/fixtures/
|
|
143
|
-
- spec/fixtures/
|
|
144
|
-
- spec/fixtures/
|
|
145
|
-
- spec/fixtures/
|
|
146
|
-
- spec/fixtures/
|
|
147
|
-
- spec/fixtures/
|
|
148
|
-
- spec/fixtures/
|
|
149
|
-
- spec/fixtures/
|
|
150
|
-
- spec/fixtures/
|
|
151
|
-
- spec/fixtures/
|
|
152
|
-
- spec/fixtures/
|
|
153
|
-
- spec/fixtures/
|
|
154
|
-
- spec/fixtures/
|
|
155
|
-
- spec/fixtures/
|
|
156
|
-
- spec/fixtures/
|
|
157
|
-
- spec/fixtures/
|
|
158
|
-
- spec/
|
|
159
|
-
- spec/
|
|
160
|
-
- spec/
|
|
161
|
-
- spec/
|
|
162
|
-
- spec/
|
|
163
|
-
- spec/
|
|
164
|
-
- spec/
|
|
165
|
-
- spec/
|
|
166
|
-
- spec/
|
|
167
|
-
- spec/
|
|
168
|
-
- spec/
|
|
169
|
-
- spec/
|
|
170
|
-
- spec/
|
|
171
|
-
- spec/
|
|
172
|
-
- spec/
|
|
173
|
-
- spec/
|
|
174
|
-
- spec/
|
|
175
|
-
- spec/
|
|
176
|
-
- spec/
|
|
177
|
-
- spec/
|
|
178
|
-
- spec/
|
|
179
|
-
- spec/
|
|
180
|
-
- spec/
|
|
181
|
-
- spec/
|
|
182
|
-
- spec/
|
|
183
|
-
- spec/
|
|
184
|
-
- spec/
|
|
185
|
-
- spec/
|
|
186
|
-
- spec/
|
|
187
|
-
- spec/
|
|
188
|
-
-
|
|
189
|
-
-
|
|
190
|
-
-
|
|
191
|
-
-
|
|
192
|
-
-
|
|
193
|
-
-
|
|
194
|
-
-
|
|
195
|
-
-
|
|
196
|
-
-
|
|
48
|
+
- .document
|
|
49
|
+
- LICENSE.txt
|
|
50
|
+
- README.markdown
|
|
51
|
+
- README.rdoc
|
|
52
|
+
- Rakefile
|
|
53
|
+
- VERSION
|
|
54
|
+
- datashift.gemspec
|
|
55
|
+
- lib/applications/apache_poi_extensions.rb
|
|
56
|
+
- lib/applications/excel.rb
|
|
57
|
+
- lib/applications/excel_base.rb
|
|
58
|
+
- lib/applications/jexcel_file.rb
|
|
59
|
+
- lib/applications/jexcel_file_extensions.rb
|
|
60
|
+
- lib/applications/jruby/old_pre_proxy_jexcel_file.rb
|
|
61
|
+
- lib/applications/jruby/word.rb
|
|
62
|
+
- lib/applications/ruby_poi_translations.rb
|
|
63
|
+
- lib/applications/spreadsheet_extensions.rb
|
|
64
|
+
- lib/datashift.rb
|
|
65
|
+
- lib/datashift/delimiters.rb
|
|
66
|
+
- lib/datashift/exceptions.rb
|
|
67
|
+
- lib/datashift/file_definitions.rb
|
|
68
|
+
- lib/datashift/logging.rb
|
|
69
|
+
- lib/datashift/mapping_file_definitions.rb
|
|
70
|
+
- lib/datashift/method_detail.rb
|
|
71
|
+
- lib/datashift/method_details_manager.rb
|
|
72
|
+
- lib/datashift/method_dictionary.rb
|
|
73
|
+
- lib/datashift/method_mapper.rb
|
|
74
|
+
- lib/datashift/model_mapper.rb
|
|
75
|
+
- lib/datashift/populator.rb
|
|
76
|
+
- lib/exporters/csv_exporter.rb
|
|
77
|
+
- lib/exporters/excel_exporter.rb
|
|
78
|
+
- lib/exporters/exporter_base.rb
|
|
79
|
+
- lib/generators/csv_generator.rb
|
|
80
|
+
- lib/generators/excel_generator.rb
|
|
81
|
+
- lib/generators/generator_base.rb
|
|
82
|
+
- lib/guards.rb
|
|
83
|
+
- lib/helpers/core_ext/to_b.rb
|
|
84
|
+
- lib/helpers/rake_utils.rb
|
|
85
|
+
- lib/java/poi-3.7/._poi-3.7-20101029.jar5645100390082102460.tmp
|
|
86
|
+
- lib/java/poi-3.7/LICENSE
|
|
87
|
+
- lib/java/poi-3.7/NOTICE
|
|
88
|
+
- lib/java/poi-3.7/RELEASE_NOTES.txt
|
|
89
|
+
- lib/java/poi-3.7/lib/commons-logging-1.1.jar
|
|
90
|
+
- lib/java/poi-3.7/lib/junit-3.8.1.jar
|
|
91
|
+
- lib/java/poi-3.7/lib/log4j-1.2.13.jar
|
|
92
|
+
- lib/java/poi-3.7/ooxml-lib/dom4j-1.6.1.jar
|
|
93
|
+
- lib/java/poi-3.7/ooxml-lib/geronimo-stax-api_1.0_spec-1.0.jar
|
|
94
|
+
- lib/java/poi-3.7/ooxml-lib/xmlbeans-2.3.0.jar
|
|
95
|
+
- lib/java/poi-3.7/poi-3.7-20101029.jar
|
|
96
|
+
- lib/java/poi-3.7/poi-examples-3.7-20101029.jar
|
|
97
|
+
- lib/java/poi-3.7/poi-ooxml-3.7-20101029.jar
|
|
98
|
+
- lib/java/poi-3.7/poi-ooxml-schemas-3.7-20101029.jar
|
|
99
|
+
- lib/java/poi-3.7/poi-scratchpad-3.7-20101029.jar
|
|
100
|
+
- lib/loaders/csv_loader.rb
|
|
101
|
+
- lib/loaders/excel_loader.rb
|
|
102
|
+
- lib/loaders/loader_base.rb
|
|
103
|
+
- lib/loaders/paperclip/attachment_loader.rb
|
|
104
|
+
- lib/loaders/paperclip/datashift_paperclip.rb
|
|
105
|
+
- lib/loaders/paperclip/image_loading.rb
|
|
106
|
+
- lib/thor/export.thor
|
|
107
|
+
- lib/thor/generate.thor
|
|
108
|
+
- lib/thor/import.thor
|
|
109
|
+
- lib/thor/paperclip.thor
|
|
110
|
+
- lib/thor/tools.thor
|
|
111
|
+
- spec/Gemfile
|
|
112
|
+
- spec/csv_exporter_spec.rb
|
|
113
|
+
- spec/csv_loader_spec.rb
|
|
114
|
+
- spec/datashift_spec.rb
|
|
115
|
+
- spec/excel_exporter_spec.rb
|
|
116
|
+
- spec/excel_generator_spec.rb
|
|
117
|
+
- spec/excel_loader_spec.rb
|
|
118
|
+
- spec/excel_spec.rb
|
|
119
|
+
- spec/file_definitions.rb
|
|
120
|
+
- spec/fixtures/BadAssociationName.xls
|
|
121
|
+
- spec/fixtures/DemoNegativeTesting.xls
|
|
122
|
+
- spec/fixtures/ProjectsDefaults.yml
|
|
123
|
+
- spec/fixtures/ProjectsMultiCategories.xls
|
|
124
|
+
- spec/fixtures/ProjectsMultiCategoriesHeaderLookup.xls
|
|
125
|
+
- spec/fixtures/ProjectsSingleCategories.xls
|
|
126
|
+
- spec/fixtures/SimpleProjects.xls
|
|
127
|
+
- spec/fixtures/config/database.yml
|
|
128
|
+
- spec/fixtures/db/datashift_test_models_db.sqlite
|
|
129
|
+
- spec/fixtures/db/migrate/20110803201325_create_test_bed.rb
|
|
130
|
+
- spec/fixtures/images/DEMO_001_ror_bag.jpeg
|
|
131
|
+
- spec/fixtures/images/DEMO_002_Powerstation.jpg
|
|
132
|
+
- spec/fixtures/images/DEMO_003_ror_mug.jpeg
|
|
133
|
+
- spec/fixtures/images/DEMO_004_ror_ringer.jpeg
|
|
134
|
+
- spec/fixtures/load_datashift.thor
|
|
135
|
+
- spec/fixtures/models/category.rb
|
|
136
|
+
- spec/fixtures/models/empty.rb
|
|
137
|
+
- spec/fixtures/models/loader_release.rb
|
|
138
|
+
- spec/fixtures/models/long_and_complex_table_linked_to_version.rb
|
|
139
|
+
- spec/fixtures/models/milestone.rb
|
|
140
|
+
- spec/fixtures/models/owner.rb
|
|
141
|
+
- spec/fixtures/models/project.rb
|
|
142
|
+
- spec/fixtures/models/test_model_defs.rb
|
|
143
|
+
- spec/fixtures/models/version.rb
|
|
144
|
+
- spec/fixtures/simple_export_spec.xls
|
|
145
|
+
- spec/fixtures/simple_template_spec.xls
|
|
146
|
+
- spec/fixtures/test_model_defs.rb
|
|
147
|
+
- spec/loader_spec.rb
|
|
148
|
+
- spec/method_dictionary_spec.rb
|
|
149
|
+
- spec/method_mapper_spec.rb
|
|
150
|
+
- spec/rails_sandbox/.gitignore
|
|
151
|
+
- spec/rails_sandbox/Gemfile
|
|
152
|
+
- spec/rails_sandbox/README.rdoc
|
|
153
|
+
- spec/rails_sandbox/Rakefile
|
|
154
|
+
- spec/rails_sandbox/app/assets/images/rails.png
|
|
155
|
+
- spec/rails_sandbox/app/assets/javascripts/application.js
|
|
156
|
+
- spec/rails_sandbox/app/assets/stylesheets/application.css
|
|
157
|
+
- spec/rails_sandbox/app/controllers/application_controller.rb
|
|
158
|
+
- spec/rails_sandbox/app/helpers/application_helper.rb
|
|
159
|
+
- spec/rails_sandbox/app/mailers/.gitkeep
|
|
160
|
+
- spec/rails_sandbox/app/models/.gitkeep
|
|
161
|
+
- spec/rails_sandbox/app/models/category.rb
|
|
162
|
+
- spec/rails_sandbox/app/models/empty.rb
|
|
163
|
+
- spec/rails_sandbox/app/models/loader_release.rb
|
|
164
|
+
- spec/rails_sandbox/app/models/long_and_complex_table_linked_to_version.rb
|
|
165
|
+
- spec/rails_sandbox/app/models/milestone.rb
|
|
166
|
+
- spec/rails_sandbox/app/models/owner.rb
|
|
167
|
+
- spec/rails_sandbox/app/models/project.rb
|
|
168
|
+
- spec/rails_sandbox/app/models/test_model_defs.rb
|
|
169
|
+
- spec/rails_sandbox/app/models/version.rb
|
|
170
|
+
- spec/rails_sandbox/app/views/layouts/application.html.erb
|
|
171
|
+
- spec/rails_sandbox/config.ru
|
|
172
|
+
- spec/rails_sandbox/config/application.rb
|
|
173
|
+
- spec/rails_sandbox/config/boot.rb
|
|
174
|
+
- spec/rails_sandbox/config/database.yml
|
|
175
|
+
- spec/rails_sandbox/config/environment.rb
|
|
176
|
+
- spec/rails_sandbox/config/environments/development.rb
|
|
177
|
+
- spec/rails_sandbox/config/environments/production.rb
|
|
178
|
+
- spec/rails_sandbox/config/environments/test.rb
|
|
179
|
+
- spec/rails_sandbox/config/initializers/backtrace_silencers.rb
|
|
180
|
+
- spec/rails_sandbox/config/initializers/inflections.rb
|
|
181
|
+
- spec/rails_sandbox/config/initializers/mime_types.rb
|
|
182
|
+
- spec/rails_sandbox/config/initializers/secret_token.rb
|
|
183
|
+
- spec/rails_sandbox/config/initializers/session_store.rb
|
|
184
|
+
- spec/rails_sandbox/config/initializers/wrap_parameters.rb
|
|
185
|
+
- spec/rails_sandbox/config/locales/en.yml
|
|
186
|
+
- spec/rails_sandbox/config/routes.rb
|
|
187
|
+
- spec/rails_sandbox/db/migrate/20110803201325_create_test_bed.rb
|
|
188
|
+
- spec/rails_sandbox/db/schema.rb
|
|
189
|
+
- spec/rails_sandbox/db/seeds.rb
|
|
190
|
+
- spec/rails_sandbox/lib/assets/.gitkeep
|
|
191
|
+
- spec/rails_sandbox/lib/tasks/.gitkeep
|
|
192
|
+
- spec/rails_sandbox/log/.gitkeep
|
|
193
|
+
- spec/rails_sandbox/public/404.html
|
|
194
|
+
- spec/rails_sandbox/public/422.html
|
|
195
|
+
- spec/rails_sandbox/public/500.html
|
|
196
|
+
- spec/rails_sandbox/public/favicon.ico
|
|
197
|
+
- spec/rails_sandbox/public/index.html
|
|
198
|
+
- spec/rails_sandbox/public/robots.txt
|
|
199
|
+
- spec/rails_sandbox/script/rails
|
|
200
|
+
- spec/rails_sandbox/test/fixtures/.gitkeep
|
|
201
|
+
- spec/rails_sandbox/test/functional/.gitkeep
|
|
202
|
+
- spec/rails_sandbox/test/integration/.gitkeep
|
|
203
|
+
- spec/rails_sandbox/test/performance/browsing_test.rb
|
|
204
|
+
- spec/rails_sandbox/test/test_helper.rb
|
|
205
|
+
- spec/rails_sandbox/test/unit/.gitkeep
|
|
206
|
+
- spec/rails_sandbox/vendor/assets/javascripts/.gitkeep
|
|
207
|
+
- spec/rails_sandbox/vendor/assets/stylesheets/.gitkeep
|
|
208
|
+
- spec/rails_sandbox/vendor/plugins/.gitkeep
|
|
209
|
+
- spec/spec_helper.rb
|
|
210
|
+
- spec/thor_spec.rb
|
|
211
|
+
- tasks/config/seed_fu_product_template.erb
|
|
212
|
+
- tasks/config/tidy_config.txt
|
|
213
|
+
- tasks/db_tasks.rake
|
|
214
|
+
- tasks/file_tasks.rake
|
|
215
|
+
- tasks/word_to_seedfu.rake
|
|
197
216
|
homepage: http://github.com/autotelik/datashift
|
|
198
217
|
licenses:
|
|
199
|
-
- MIT
|
|
218
|
+
- MIT
|
|
200
219
|
post_install_message:
|
|
201
220
|
rdoc_options: []
|
|
202
221
|
|
|
203
222
|
require_paths:
|
|
204
|
-
- lib
|
|
223
|
+
- lib
|
|
205
224
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
206
225
|
none: false
|
|
207
226
|
requirements:
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
segments:
|
|
212
|
-
- 0
|
|
213
|
-
version: "0"
|
|
227
|
+
- - ">="
|
|
228
|
+
- !ruby/object:Gem::Version
|
|
229
|
+
version: "0"
|
|
214
230
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
215
231
|
none: false
|
|
216
232
|
requirements:
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
segments:
|
|
221
|
-
- 0
|
|
222
|
-
version: "0"
|
|
233
|
+
- - ">="
|
|
234
|
+
- !ruby/object:Gem::Version
|
|
235
|
+
version: "0"
|
|
223
236
|
requirements: []
|
|
224
237
|
|
|
225
238
|
rubyforge_project:
|
|
226
|
-
rubygems_version: 1.8.
|
|
239
|
+
rubygems_version: 1.8.15
|
|
227
240
|
signing_key:
|
|
228
241
|
specification_version: 3
|
|
229
|
-
summary: Shift data betwen
|
|
242
|
+
summary: Shift data betwen Excel/CSV and any Ruby app
|
|
230
243
|
test_files: []
|
|
231
244
|
|