datashift 0.10.1 → 0.10.2

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.
Files changed (44) hide show
  1. data/Rakefile +6 -1
  2. data/VERSION +1 -1
  3. data/datashift.gemspec +13 -6
  4. data/lib/datashift.rb +2 -20
  5. data/lib/datashift/exceptions.rb +2 -0
  6. data/lib/datashift/method_detail.rb +15 -29
  7. data/lib/datashift/method_dictionary.rb +36 -21
  8. data/lib/datashift/method_mapper.rb +56 -16
  9. data/lib/datashift/populator.rb +23 -0
  10. data/lib/datashift/querying.rb +86 -0
  11. data/lib/generators/csv_generator.rb +1 -4
  12. data/lib/generators/excel_generator.rb +28 -11
  13. data/lib/generators/generator_base.rb +12 -0
  14. data/lib/loaders/csv_loader.rb +9 -3
  15. data/lib/loaders/excel_loader.rb +14 -6
  16. data/lib/loaders/loader_base.rb +38 -125
  17. data/lib/loaders/paperclip/attachment_loader.rb +130 -62
  18. data/lib/loaders/paperclip/datashift_paperclip.rb +46 -12
  19. data/lib/loaders/paperclip/image_loading.rb +25 -41
  20. data/lib/thor/generate.thor +16 -6
  21. data/lib/thor/paperclip.thor +25 -5
  22. data/spec/Gemfile +3 -2
  23. data/spec/MissingAttachmentRecords/DEMO_001_ror_bag.jpeg +0 -0
  24. data/spec/{fixtures/images/DEMO_002_Powerstation.jpg → MissingAttachmentRecords/DEMO_002_Powerstation.jpeg} +0 -0
  25. data/spec/MissingAttachmentRecords/DEMO_002_Powerstation.jpg +0 -0
  26. data/spec/MissingAttachmentRecords/DEMO_003_ror_mug.jpeg +0 -0
  27. data/spec/MissingAttachmentRecords/DEMO_004_ror_ringer.jpeg +0 -0
  28. data/spec/excel_generator_spec.rb +28 -0
  29. data/spec/excel_loader_spec.rb +12 -17
  30. data/spec/fixtures/config/database.yml +1 -1
  31. data/spec/fixtures/db/datashift_test_models_db.sqlite +0 -0
  32. data/spec/fixtures/db/migrate/20121009161700_add_digitals.rb +24 -0
  33. data/spec/fixtures/images/DEMO_002_Powerstation.jpeg +0 -0
  34. data/spec/fixtures/models/digital.rb +14 -0
  35. data/spec/fixtures/models/owner.rb +5 -3
  36. data/spec/fixtures/test_model_defs.rb +4 -62
  37. data/spec/loader_spec.rb +42 -50
  38. data/spec/method_dictionary_spec.rb +3 -10
  39. data/spec/method_mapper_spec.rb +79 -20
  40. data/spec/paperclip_loader_spec.rb +95 -0
  41. data/spec/spec_helper.rb +44 -8
  42. metadata +236 -224
  43. data/lib/helpers/rake_utils.rb +0 -42
  44. data/spec/fixtures/models/test_model_defs.rb +0 -67
@@ -7,37 +7,96 @@
7
7
  # MethodMapper provides the bridge between 'strings' e.g column headings
8
8
  # and a classes different types of assignment operators
9
9
  #
10
- require File.dirname(__FILE__) + '/spec_helper'
10
+ require File.join(File.dirname(__FILE__), 'spec_helper')
11
11
 
12
- describe 'Method Mapping' do
12
+ require 'method_mapper'
13
13
 
14
- before(:all) do
14
+ describe 'Method Mapper' do
15
+
16
+ include_context "ActiveRecordTestModelsConnected"
17
+
18
+ before(:each) do
19
+ DataShift::MethodDictionary.clear
15
20
 
16
- # load our test model definitions - Project etc
17
- require ifixture_file('test_model_defs')
18
-
19
- db_connect( 'test_file' ) # , test_memory, test_mysql
21
+ @method_mapper = DataShift::MethodMapper.new
22
+ end
23
+
24
+ it "should find a set of methods based on a list of column symbols" do
25
+
26
+ headers = [:value_as_string, :owner, :value_as_boolean, :value_as_double]
27
+
28
+ method_details = @method_mapper.map_inbound_headers_to_methods( Project, headers )
29
+
30
+ method_details.should have_exactly(4).items
31
+ end
20
32
 
21
- migrate_up
33
+ it "should leave nil in set of methods when no such operator" do
34
+
35
+ headers = [:value_as_string, :owner, :bad_no_such_column, :value_as_boolean, :value_as_double, :more_rubbish_as_nil]
36
+
37
+ method_details = @method_mapper.map_inbound_headers_to_methods( Project, headers )
38
+
39
+ method_details.should have_exactly(6).items
40
+
41
+ method_details[2].should be_nil
42
+ method_details[5].should be_nil
43
+
44
+ method_details[0].should be_a DataShift::MethodDetail
45
+
22
46
  end
23
47
 
24
- before(:each) do
25
- MethodDictionary.clear
48
+ it "should map a list of column names to a set of method details" do
49
+
50
+ headers = %w{ value_as_double value_as_string bad_no_such_column value_as_boolean }
26
51
 
27
- MethodDictionary.find_operators( Project )
28
- MethodDictionary.find_operators( Milestone )
52
+ @method_mapper.map_inbound_headers_to_methods( Project, headers )
29
53
 
54
+ method_details = @method_mapper.map_inbound_headers_to_methods( Project, headers )
30
55
 
31
- MethodDictionary.build_method_details( Project )
32
- MethodDictionary.build_method_details( Milestone )
56
+ method_details.should have_exactly(4).items
33
57
 
58
+ method_details[2].should be_nil
59
+
60
+ method_details[0].should be_a DataShift::MethodDetail
61
+ method_details.last.should be_a DataShift::MethodDetail
34
62
  end
35
-
36
- it "should find a set of methods based on a list of column names" do
37
- pending("key API - map column headers to set of methods")
63
+
64
+ it "should populate a method detail instance based on column and database info" do
38
65
 
39
- @method_mapper.map_inbound_to_methods( load_object_class, @headers )
66
+ headers = [:value_as_string, :owner, :value_as_boolean, :value_as_double]
67
+
68
+ method_details = @method_mapper.map_inbound_headers_to_methods( Project, headers )
69
+
70
+ method_details.should have_exactly(4).items
71
+
72
+ method_details[0].should be_a DataShift::MethodDetail
73
+
74
+ headers.each_with_index do |c, i|
75
+ method_details[i].column_index.should == i
76
+ end
77
+
40
78
  end
41
-
42
-
79
+
80
+ it "should map between user name and real class operator and store in method detail instance" do
81
+
82
+ headers = [ "Value as string", 'owner', "value_as boolean", 'Value_As_Double']
83
+
84
+ operators = %w{ value_as_string owner value_as_boolean value_as_double }
85
+
86
+ method_details = @method_mapper.map_inbound_headers_to_methods( Project, headers )
87
+
88
+ method_details.should have_exactly(4).items
89
+
90
+ method_details.should_not include nil
91
+
92
+ headers.each_with_index do |c, i|
93
+ method_details[i].column_index.should == i
94
+ method_details[i].name.should == c
95
+ method_details[i].operator.should == operators[i]
96
+ end
97
+
98
+ end
99
+
100
+
101
+
43
102
  end
@@ -0,0 +1,95 @@
1
+ # Copyright:: (c) Autotelik Media Ltd 2011
2
+ # Author :: Tom Statter
3
+ # Date :: Aug 2011
4
+ # License:: MIT
5
+ #
6
+ # Details:: Specs for base class Loader
7
+ #
8
+ require File.dirname(__FILE__) + '/spec_helper'
9
+
10
+ require 'paperclip/attachment_loader'
11
+
12
+ Paperclip.options[:command_path] = "/usr/local/bin/"
13
+
14
+ describe 'PaperClip Bulk Loader' do
15
+
16
+ include_context "ActiveRecordTestModelsConnected"
17
+
18
+ include_context "ClearAndPopulateProject"
19
+
20
+ include DataShift::Logging
21
+
22
+ module Paperclip
23
+ module Interpolations
24
+
25
+ # Returns the Rails.root constant.
26
+ def rails_root attachment, style_name
27
+ '.'
28
+ end
29
+ end
30
+ end
31
+
32
+ before(:each) do
33
+ @attachment_klass = Digital
34
+
35
+ @common_options = {:verbose => true }
36
+
37
+ @attachment_path = File.join(fixtures_path, 'images')
38
+ end
39
+
40
+ it "should create a new paperclip loader and define attachment class" do
41
+ loader = DataShift::Paperclip::AttachmentLoader.new(@attachment_klass, nil, @common_options)
42
+
43
+ loader.load_object_class.should == Digital
44
+ loader.load_object.should be_a Digital
45
+
46
+ loader.attach_to_klass.should == nil
47
+ end
48
+
49
+ it "should create loader,define attachment class and define class to attach to" do
50
+
51
+ opts = { :attach_to_klass => Owner }.merge(@common_options)
52
+
53
+ loader = DataShift::Paperclip::AttachmentLoader.new(@attachment_klass, nil, opts)
54
+
55
+ loader.attach_to_klass.should == Owner
56
+ end
57
+
58
+ it "should bulk load from a directory file system", :fail => true do
59
+
60
+ # these names should be included in the attachment file name somewhere
61
+ ["DEMO_001", "DEMO_002", "DEMO_003", "DEMO_004"].each do |n|
62
+ Owner.create( :name => n )
63
+ end
64
+
65
+ opts = { :attach_to_klass => Owner,
66
+ :attach_to_find_by_field => :name,
67
+ :attach_to_field => :digitals,
68
+ :split_file_name_on => '_'
69
+ }.merge(@common_options)
70
+
71
+ loader = DataShift::Paperclip::AttachmentLoader.new(@attachment_klass, nil, opts)
72
+
73
+ loader.process_from_filesystem(@attachment_path, opts)
74
+ end
75
+
76
+ it "should handle not beign able to find matching record" do
77
+
78
+ # these names should be included in the attachment file name somewhere
79
+ names = ["DEMO_001", "DEMO_002", "DEMO_003", "DEMO_004"]
80
+
81
+ names.each do |n|
82
+ Owner.create( :name => n )
83
+ end
84
+
85
+ opts = { :attach_to_klass => Owner, :attach_to_find_by_field => :name }.merge(@common_options)
86
+
87
+
88
+ loader = DataShift::Paperclip::AttachmentLoader.new(@attachment_klass, nil, opts)
89
+
90
+ loader.process_from_filesystem(@attachment_path, opts)
91
+
92
+ Dir.glob("MissingAttachmentRecords/*.jpeg", File::FNM_CASEFOLD).should have_exactly(names.size).items
93
+ end
94
+
95
+ end
data/spec/spec_helper.rb CHANGED
@@ -13,16 +13,53 @@ require 'active_record'
13
13
  require 'thor/actions'
14
14
  require 'bundler'
15
15
  require 'stringio'
16
+ require 'paperclip'
17
+
18
+ $:.unshift '.' # 1.9.3 quite strict, '.' must be in load path for relative paths to work from here
19
+
20
+ datashift_spec_base = File.expand_path( File.join(File.dirname(__FILE__), '..') )
21
+
22
+ require File.join(datashift_spec_base, 'lib/datashift')
16
23
 
17
- require File.dirname(__FILE__) + '/../lib/datashift'
18
24
 
19
25
  RSpec.configure do |config|
20
26
  config.before do
21
27
  ARGV.replace []
22
28
  end
23
29
 
30
+ shared_context "ActiveRecordTestModelsConnected" do
31
+
32
+ before(:all) do
33
+ bundler_setup()
34
+
35
+ # load all test model definitions - Project etc
36
+ require ifixture_file('test_model_defs')
37
+
38
+ db_connect( 'test_file' ) # , test_memory, test_mysql
24
39
 
40
+ migrate_up
41
+ end
42
+ end
43
+
44
+
45
+ shared_context "ClearAndPopulateProject" do
46
+
47
+ before(:each) do
48
+
49
+ Project.delete_all
50
+ Owner.delete_all
51
+
52
+ DataShift::MethodDictionary.clear
25
53
 
54
+ DataShift::MethodDictionary.find_operators( Project )
55
+
56
+ DataShift::MethodDictionary.build_method_details( Project )
57
+
58
+ DataShift::MethodDictionary.for?(Project).should == true
59
+ end
60
+ end
61
+
62
+
26
63
  def run_in(dir )
27
64
  puts "RSpec .. running test in path [#{dir}]"
28
65
  original_dir = Dir.pwd
@@ -45,8 +82,8 @@ RSpec.configure do |config|
45
82
  end
46
83
 
47
84
  result
48
- end
49
-
85
+ end
86
+
50
87
  alias :silence :capture
51
88
 
52
89
  def fixtures_path()
@@ -79,7 +116,7 @@ RSpec.configure do |config|
79
116
  def set_logger( name = 'datashift_spec.log')
80
117
 
81
118
  require 'logger'
82
- logdir = File.dirname(__FILE__) + '/logs'
119
+ logdir = File.join(File.dirname(__FILE__), 'log')
83
120
  FileUtils.mkdir_p(logdir) unless File.exists?(logdir)
84
121
  ActiveRecord::Base.logger = Logger.new( File.join(logdir, name) )
85
122
 
@@ -88,7 +125,8 @@ RSpec.configure do |config|
88
125
  @dslog = ActiveRecord::Base.logger
89
126
  end
90
127
 
91
- def bundler_setup(gemfile)
128
+ def bundler_setup(gemfile = File.join(DataShift::root_path, 'spec', 'Gemfile') )
129
+
92
130
  $stderr.puts "No Such Gemfile #{gemfile}" unless File.exists?(gemfile)
93
131
 
94
132
  ENV['BUNDLE_GEMFILE'] = gemfile
@@ -112,9 +150,7 @@ RSpec.configure do |config|
112
150
  end
113
151
 
114
152
  def db_connect( env = 'test_file')
115
-
116
- bundler_setup( File.join(DataShift::root_path, 'spec', 'Gemfile') )
117
-
153
+
118
154
  # Some active record stuff seems to rely on the RAILS_ENV being set ?
119
155
 
120
156
  ENV['RAILS_ENV'] = env
metadata CHANGED
@@ -1,244 +1,256 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: datashift
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.10.2
4
5
  prerelease:
5
- version: 0.10.1
6
6
  platform: ruby
7
- authors:
8
- - Thomas Statter
7
+ authors:
8
+ - Thomas Statter
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2012-09-25 00:00:00 Z
14
- dependencies:
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 project.
12
+ date: 2012-10-21 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: spreadsheet
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rubyzip
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ description: Comprehensive tools to import/export between Excel/CSV and ActiveRecord
47
+ databases, Rails apps, and any Ruby project.
38
48
  email: rubygems@autotelik.co.uk
39
49
  executables: []
40
-
41
50
  extensions: []
42
-
43
- extra_rdoc_files:
44
- - LICENSE.txt
45
- - README.markdown
46
- - README.rdoc
47
- files:
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
51
+ extra_rdoc_files:
52
+ - LICENSE.txt
53
+ - README.markdown
54
+ - README.rdoc
55
+ files:
56
+ - .document
57
+ - LICENSE.txt
58
+ - README.markdown
59
+ - README.rdoc
60
+ - Rakefile
61
+ - VERSION
62
+ - datashift.gemspec
63
+ - lib/applications/apache_poi_extensions.rb
64
+ - lib/applications/excel.rb
65
+ - lib/applications/excel_base.rb
66
+ - lib/applications/jexcel_file.rb
67
+ - lib/applications/jexcel_file_extensions.rb
68
+ - lib/applications/jruby/old_pre_proxy_jexcel_file.rb
69
+ - lib/applications/jruby/word.rb
70
+ - lib/applications/ruby_poi_translations.rb
71
+ - lib/applications/spreadsheet_extensions.rb
72
+ - lib/datashift.rb
73
+ - lib/datashift/delimiters.rb
74
+ - lib/datashift/exceptions.rb
75
+ - lib/datashift/file_definitions.rb
76
+ - lib/datashift/logging.rb
77
+ - lib/datashift/mapping_file_definitions.rb
78
+ - lib/datashift/method_detail.rb
79
+ - lib/datashift/method_details_manager.rb
80
+ - lib/datashift/method_dictionary.rb
81
+ - lib/datashift/method_mapper.rb
82
+ - lib/datashift/model_mapper.rb
83
+ - lib/datashift/populator.rb
84
+ - lib/datashift/querying.rb
85
+ - lib/exporters/csv_exporter.rb
86
+ - lib/exporters/excel_exporter.rb
87
+ - lib/exporters/exporter_base.rb
88
+ - lib/generators/csv_generator.rb
89
+ - lib/generators/excel_generator.rb
90
+ - lib/generators/generator_base.rb
91
+ - lib/guards.rb
92
+ - lib/helpers/core_ext/to_b.rb
93
+ - lib/java/poi-3.7/._poi-3.7-20101029.jar5645100390082102460.tmp
94
+ - lib/java/poi-3.7/LICENSE
95
+ - lib/java/poi-3.7/NOTICE
96
+ - lib/java/poi-3.7/RELEASE_NOTES.txt
97
+ - lib/java/poi-3.7/lib/commons-logging-1.1.jar
98
+ - lib/java/poi-3.7/lib/junit-3.8.1.jar
99
+ - lib/java/poi-3.7/lib/log4j-1.2.13.jar
100
+ - lib/java/poi-3.7/ooxml-lib/dom4j-1.6.1.jar
101
+ - lib/java/poi-3.7/ooxml-lib/geronimo-stax-api_1.0_spec-1.0.jar
102
+ - lib/java/poi-3.7/ooxml-lib/xmlbeans-2.3.0.jar
103
+ - lib/java/poi-3.7/poi-3.7-20101029.jar
104
+ - lib/java/poi-3.7/poi-examples-3.7-20101029.jar
105
+ - lib/java/poi-3.7/poi-ooxml-3.7-20101029.jar
106
+ - lib/java/poi-3.7/poi-ooxml-schemas-3.7-20101029.jar
107
+ - lib/java/poi-3.7/poi-scratchpad-3.7-20101029.jar
108
+ - lib/loaders/csv_loader.rb
109
+ - lib/loaders/excel_loader.rb
110
+ - lib/loaders/loader_base.rb
111
+ - lib/loaders/paperclip/attachment_loader.rb
112
+ - lib/loaders/paperclip/datashift_paperclip.rb
113
+ - lib/loaders/paperclip/image_loading.rb
114
+ - lib/thor/export.thor
115
+ - lib/thor/generate.thor
116
+ - lib/thor/import.thor
117
+ - lib/thor/paperclip.thor
118
+ - lib/thor/tools.thor
119
+ - spec/Gemfile
120
+ - spec/MissingAttachmentRecords/DEMO_001_ror_bag.jpeg
121
+ - spec/MissingAttachmentRecords/DEMO_002_Powerstation.jpeg
122
+ - spec/MissingAttachmentRecords/DEMO_002_Powerstation.jpg
123
+ - spec/MissingAttachmentRecords/DEMO_003_ror_mug.jpeg
124
+ - spec/MissingAttachmentRecords/DEMO_004_ror_ringer.jpeg
125
+ - spec/csv_exporter_spec.rb
126
+ - spec/csv_loader_spec.rb
127
+ - spec/datashift_spec.rb
128
+ - spec/excel_exporter_spec.rb
129
+ - spec/excel_generator_spec.rb
130
+ - spec/excel_loader_spec.rb
131
+ - spec/excel_spec.rb
132
+ - spec/file_definitions.rb
133
+ - spec/fixtures/BadAssociationName.xls
134
+ - spec/fixtures/DemoNegativeTesting.xls
135
+ - spec/fixtures/ProjectsDefaults.yml
136
+ - spec/fixtures/ProjectsMultiCategories.xls
137
+ - spec/fixtures/ProjectsMultiCategoriesHeaderLookup.xls
138
+ - spec/fixtures/ProjectsSingleCategories.xls
139
+ - spec/fixtures/SimpleProjects.xls
140
+ - spec/fixtures/config/database.yml
141
+ - spec/fixtures/db/datashift_test_models_db.sqlite
142
+ - spec/fixtures/db/migrate/20110803201325_create_test_bed.rb
143
+ - spec/fixtures/db/migrate/20121009161700_add_digitals.rb
144
+ - spec/fixtures/images/DEMO_001_ror_bag.jpeg
145
+ - spec/fixtures/images/DEMO_002_Powerstation.jpeg
146
+ - spec/fixtures/images/DEMO_003_ror_mug.jpeg
147
+ - spec/fixtures/images/DEMO_004_ror_ringer.jpeg
148
+ - spec/fixtures/load_datashift.thor
149
+ - spec/fixtures/models/category.rb
150
+ - spec/fixtures/models/digital.rb
151
+ - spec/fixtures/models/empty.rb
152
+ - spec/fixtures/models/loader_release.rb
153
+ - spec/fixtures/models/long_and_complex_table_linked_to_version.rb
154
+ - spec/fixtures/models/milestone.rb
155
+ - spec/fixtures/models/owner.rb
156
+ - spec/fixtures/models/project.rb
157
+ - spec/fixtures/models/version.rb
158
+ - spec/fixtures/simple_export_spec.xls
159
+ - spec/fixtures/simple_template_spec.xls
160
+ - spec/fixtures/test_model_defs.rb
161
+ - spec/loader_spec.rb
162
+ - spec/method_dictionary_spec.rb
163
+ - spec/method_mapper_spec.rb
164
+ - spec/paperclip_loader_spec.rb
165
+ - spec/rails_sandbox/.gitignore
166
+ - spec/rails_sandbox/Gemfile
167
+ - spec/rails_sandbox/README.rdoc
168
+ - spec/rails_sandbox/Rakefile
169
+ - spec/rails_sandbox/app/assets/images/rails.png
170
+ - spec/rails_sandbox/app/assets/javascripts/application.js
171
+ - spec/rails_sandbox/app/assets/stylesheets/application.css
172
+ - spec/rails_sandbox/app/controllers/application_controller.rb
173
+ - spec/rails_sandbox/app/helpers/application_helper.rb
174
+ - spec/rails_sandbox/app/mailers/.gitkeep
175
+ - spec/rails_sandbox/app/models/.gitkeep
176
+ - spec/rails_sandbox/app/models/category.rb
177
+ - spec/rails_sandbox/app/models/empty.rb
178
+ - spec/rails_sandbox/app/models/loader_release.rb
179
+ - spec/rails_sandbox/app/models/long_and_complex_table_linked_to_version.rb
180
+ - spec/rails_sandbox/app/models/milestone.rb
181
+ - spec/rails_sandbox/app/models/owner.rb
182
+ - spec/rails_sandbox/app/models/project.rb
183
+ - spec/rails_sandbox/app/models/test_model_defs.rb
184
+ - spec/rails_sandbox/app/models/version.rb
185
+ - spec/rails_sandbox/app/views/layouts/application.html.erb
186
+ - spec/rails_sandbox/config.ru
187
+ - spec/rails_sandbox/config/application.rb
188
+ - spec/rails_sandbox/config/boot.rb
189
+ - spec/rails_sandbox/config/database.yml
190
+ - spec/rails_sandbox/config/environment.rb
191
+ - spec/rails_sandbox/config/environments/development.rb
192
+ - spec/rails_sandbox/config/environments/production.rb
193
+ - spec/rails_sandbox/config/environments/test.rb
194
+ - spec/rails_sandbox/config/initializers/backtrace_silencers.rb
195
+ - spec/rails_sandbox/config/initializers/inflections.rb
196
+ - spec/rails_sandbox/config/initializers/mime_types.rb
197
+ - spec/rails_sandbox/config/initializers/secret_token.rb
198
+ - spec/rails_sandbox/config/initializers/session_store.rb
199
+ - spec/rails_sandbox/config/initializers/wrap_parameters.rb
200
+ - spec/rails_sandbox/config/locales/en.yml
201
+ - spec/rails_sandbox/config/routes.rb
202
+ - spec/rails_sandbox/db/migrate/20110803201325_create_test_bed.rb
203
+ - spec/rails_sandbox/db/schema.rb
204
+ - spec/rails_sandbox/db/seeds.rb
205
+ - spec/rails_sandbox/lib/assets/.gitkeep
206
+ - spec/rails_sandbox/lib/tasks/.gitkeep
207
+ - spec/rails_sandbox/log/.gitkeep
208
+ - spec/rails_sandbox/public/404.html
209
+ - spec/rails_sandbox/public/422.html
210
+ - spec/rails_sandbox/public/500.html
211
+ - spec/rails_sandbox/public/favicon.ico
212
+ - spec/rails_sandbox/public/index.html
213
+ - spec/rails_sandbox/public/robots.txt
214
+ - spec/rails_sandbox/script/rails
215
+ - spec/rails_sandbox/test/fixtures/.gitkeep
216
+ - spec/rails_sandbox/test/functional/.gitkeep
217
+ - spec/rails_sandbox/test/integration/.gitkeep
218
+ - spec/rails_sandbox/test/performance/browsing_test.rb
219
+ - spec/rails_sandbox/test/test_helper.rb
220
+ - spec/rails_sandbox/test/unit/.gitkeep
221
+ - spec/rails_sandbox/vendor/assets/javascripts/.gitkeep
222
+ - spec/rails_sandbox/vendor/assets/stylesheets/.gitkeep
223
+ - spec/rails_sandbox/vendor/plugins/.gitkeep
224
+ - spec/spec_helper.rb
225
+ - spec/thor_spec.rb
226
+ - tasks/config/seed_fu_product_template.erb
227
+ - tasks/config/tidy_config.txt
228
+ - tasks/db_tasks.rake
229
+ - tasks/file_tasks.rake
230
+ - tasks/word_to_seedfu.rake
216
231
  homepage: http://github.com/autotelik/datashift
217
- licenses:
218
- - MIT
232
+ licenses:
233
+ - MIT
219
234
  post_install_message:
220
235
  rdoc_options: []
221
-
222
- require_paths:
223
- - lib
224
- required_ruby_version: !ruby/object:Gem::Requirement
236
+ require_paths:
237
+ - lib
238
+ required_ruby_version: !ruby/object:Gem::Requirement
225
239
  none: false
226
- requirements:
227
- - - ">="
228
- - !ruby/object:Gem::Version
229
- version: "0"
230
- required_rubygems_version: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ! '>='
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ required_rubygems_version: !ruby/object:Gem::Requirement
231
245
  none: false
232
- requirements:
233
- - - ">="
234
- - !ruby/object:Gem::Version
235
- version: "0"
246
+ requirements:
247
+ - - ! '>='
248
+ - !ruby/object:Gem::Version
249
+ version: '0'
236
250
  requirements: []
237
-
238
251
  rubyforge_project:
239
- rubygems_version: 1.8.15
252
+ rubygems_version: 1.8.24
240
253
  signing_key:
241
254
  specification_version: 3
242
255
  summary: Shift data betwen Excel/CSV and any Ruby app
243
256
  test_files: []
244
-