datashift 0.9.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. data/README.markdown +63 -64
  2. data/Rakefile +4 -7
  3. data/VERSION +1 -1
  4. data/datashift.gemspec +92 -62
  5. data/lib/applications/apache_poi_extensions.rb +62 -0
  6. data/lib/applications/excel.rb +78 -0
  7. data/lib/applications/excel_base.rb +65 -0
  8. data/lib/applications/jexcel_file.rb +222 -0
  9. data/lib/applications/jexcel_file_extensions.rb +244 -0
  10. data/lib/applications/jruby/{jexcel_file.rb → old_pre_proxy_jexcel_file.rb} +0 -0
  11. data/lib/applications/ruby_poi_translations.rb +64 -0
  12. data/lib/applications/spreadsheet_extensions.rb +31 -0
  13. data/lib/datashift/method_details_manager.rb +4 -0
  14. data/lib/exporters/csv_exporter.rb +3 -1
  15. data/lib/exporters/excel_exporter.rb +59 -74
  16. data/lib/generators/excel_generator.rb +70 -74
  17. data/lib/guards.rb +57 -0
  18. data/lib/loaders/excel_loader.rb +105 -105
  19. data/lib/loaders/loader_base.rb +43 -21
  20. data/lib/loaders/paperclip/attachment_loader.rb +104 -0
  21. data/lib/loaders/paperclip/datashift_paperclip.rb +78 -0
  22. data/lib/loaders/paperclip/{image_loader.rb → image_loading.rb} +2 -18
  23. data/lib/thor/{generate_excel.thor → generate.thor} +48 -0
  24. data/lib/thor/paperclip.thor +85 -0
  25. data/lib/thor/tools.thor +23 -2
  26. data/spec/Gemfile +1 -7
  27. data/spec/csv_exporter_spec.rb +4 -4
  28. data/spec/csv_loader_spec.rb +1 -1
  29. data/spec/excel_exporter_spec.rb +43 -45
  30. data/spec/excel_generator_spec.rb +132 -60
  31. data/spec/excel_loader_spec.rb +134 -140
  32. data/spec/excel_spec.rb +179 -0
  33. data/spec/fixtures/ProjectsMultiCategoriesHeaderLookup.xls +0 -0
  34. data/spec/fixtures/config/database.yml +2 -2
  35. data/spec/fixtures/db/datashift_test_models_db.sqlite +0 -0
  36. data/spec/{db → fixtures/db}/migrate/20110803201325_create_test_bed.rb +0 -0
  37. data/spec/fixtures/load_datashift.thor +3 -0
  38. data/spec/fixtures/models/category.rb +7 -0
  39. data/spec/fixtures/models/empty.rb +2 -0
  40. data/spec/fixtures/models/loader_release.rb +10 -0
  41. data/spec/fixtures/models/long_and_complex_table_linked_to_version.rb +6 -0
  42. data/spec/fixtures/models/milestone.rb +8 -0
  43. data/spec/fixtures/models/owner.rb +5 -0
  44. data/spec/fixtures/models/project.rb +26 -0
  45. data/spec/fixtures/models/test_model_defs.rb +67 -0
  46. data/spec/fixtures/models/version.rb +7 -0
  47. data/spec/loader_spec.rb +4 -3
  48. data/spec/method_dictionary_spec.rb +7 -6
  49. data/spec/method_mapper_spec.rb +3 -2
  50. data/spec/rails_sandbox/.gitignore +15 -0
  51. data/spec/rails_sandbox/Gemfile +40 -0
  52. data/spec/rails_sandbox/README.rdoc +261 -0
  53. data/spec/rails_sandbox/Rakefile +7 -0
  54. data/spec/rails_sandbox/app/assets/images/rails.png +0 -0
  55. data/spec/rails_sandbox/app/assets/javascripts/application.js +15 -0
  56. data/spec/rails_sandbox/app/assets/stylesheets/application.css +13 -0
  57. data/spec/rails_sandbox/app/controllers/application_controller.rb +3 -0
  58. data/spec/rails_sandbox/app/helpers/application_helper.rb +2 -0
  59. data/spec/rails_sandbox/app/mailers/.gitkeep +0 -0
  60. data/spec/rails_sandbox/app/models/.gitkeep +0 -0
  61. data/spec/rails_sandbox/app/models/category.rb +7 -0
  62. data/spec/rails_sandbox/app/models/empty.rb +2 -0
  63. data/spec/rails_sandbox/app/models/loader_release.rb +10 -0
  64. data/spec/rails_sandbox/app/models/long_and_complex_table_linked_to_version.rb +6 -0
  65. data/spec/rails_sandbox/app/models/milestone.rb +8 -0
  66. data/spec/rails_sandbox/app/models/owner.rb +5 -0
  67. data/spec/rails_sandbox/app/models/project.rb +26 -0
  68. data/spec/rails_sandbox/app/models/test_model_defs.rb +67 -0
  69. data/spec/rails_sandbox/app/models/version.rb +7 -0
  70. data/spec/rails_sandbox/app/views/layouts/application.html.erb +14 -0
  71. data/spec/rails_sandbox/config.ru +4 -0
  72. data/spec/rails_sandbox/config/application.rb +62 -0
  73. data/spec/rails_sandbox/config/boot.rb +6 -0
  74. data/spec/rails_sandbox/config/database.yml +20 -0
  75. data/spec/rails_sandbox/config/environment.rb +5 -0
  76. data/spec/rails_sandbox/config/environments/development.rb +37 -0
  77. data/spec/rails_sandbox/config/environments/production.rb +67 -0
  78. data/spec/rails_sandbox/config/environments/test.rb +37 -0
  79. data/spec/rails_sandbox/config/initializers/backtrace_silencers.rb +7 -0
  80. data/spec/rails_sandbox/config/initializers/inflections.rb +15 -0
  81. data/spec/rails_sandbox/config/initializers/mime_types.rb +5 -0
  82. data/spec/rails_sandbox/config/initializers/secret_token.rb +7 -0
  83. data/spec/rails_sandbox/config/initializers/session_store.rb +8 -0
  84. data/spec/rails_sandbox/config/initializers/wrap_parameters.rb +14 -0
  85. data/spec/rails_sandbox/config/locales/en.yml +5 -0
  86. data/spec/rails_sandbox/config/routes.rb +58 -0
  87. data/spec/rails_sandbox/db/migrate/20110803201325_create_test_bed.rb +96 -0
  88. data/spec/rails_sandbox/db/schema.rb +81 -0
  89. data/spec/rails_sandbox/db/seeds.rb +7 -0
  90. data/spec/rails_sandbox/lib/assets/.gitkeep +0 -0
  91. data/spec/rails_sandbox/lib/tasks/.gitkeep +0 -0
  92. data/spec/rails_sandbox/log/.gitkeep +0 -0
  93. data/spec/rails_sandbox/public/404.html +26 -0
  94. data/spec/rails_sandbox/public/422.html +26 -0
  95. data/spec/rails_sandbox/public/500.html +25 -0
  96. data/spec/rails_sandbox/public/favicon.ico +0 -0
  97. data/spec/rails_sandbox/public/index.html +241 -0
  98. data/spec/rails_sandbox/public/robots.txt +5 -0
  99. data/spec/rails_sandbox/script/rails +6 -0
  100. data/spec/rails_sandbox/test/fixtures/.gitkeep +0 -0
  101. data/spec/rails_sandbox/test/functional/.gitkeep +0 -0
  102. data/spec/rails_sandbox/test/integration/.gitkeep +0 -0
  103. data/spec/rails_sandbox/test/performance/browsing_test.rb +12 -0
  104. data/spec/rails_sandbox/test/test_helper.rb +13 -0
  105. data/spec/rails_sandbox/test/unit/.gitkeep +0 -0
  106. data/spec/rails_sandbox/vendor/assets/javascripts/.gitkeep +0 -0
  107. data/spec/rails_sandbox/vendor/assets/stylesheets/.gitkeep +0 -0
  108. data/spec/rails_sandbox/vendor/plugins/.gitkeep +0 -0
  109. data/spec/spec_helper.rb +144 -121
  110. data/spec/thor_spec.rb +34 -14
  111. metadata +207 -194
  112. data/lib/helpers/spree_helper.rb +0 -213
  113. data/lib/loaders/spreadsheet_loader.rb +0 -144
  114. data/lib/loaders/spree/image_loader.rb +0 -90
  115. data/lib/loaders/spree/product_loader.rb +0 -354
  116. data/lib/thor/spree/bootstrap_cleanup.thor +0 -61
  117. data/lib/thor/spree/products_images.thor +0 -252
  118. data/lib/thor/spree/reports.thor +0 -56
  119. data/public/spree/products/large/DEMO_001_ror_bag.jpeg +0 -0
  120. data/public/spree/products/large/DEMO_002_Powerstation.jpg +0 -0
  121. data/public/spree/products/large/DEMO_003_ror_mug.jpeg +0 -0
  122. data/public/spree/products/mini/DEMO_001_ror_bag.jpeg +0 -0
  123. data/public/spree/products/mini/DEMO_002_Powerstation.jpg +0 -0
  124. data/public/spree/products/mini/DEMO_003_ror_mug.jpeg +0 -0
  125. data/public/spree/products/original/DEMO_001_ror_bag.jpeg +0 -0
  126. data/public/spree/products/original/DEMO_002_Powerstation.jpg +0 -0
  127. data/public/spree/products/original/DEMO_003_ror_mug.jpeg +0 -0
  128. data/public/spree/products/product/DEMO_001_ror_bag.jpeg +0 -0
  129. data/public/spree/products/product/DEMO_002_Powerstation.jpg +0 -0
  130. data/public/spree/products/product/DEMO_003_ror_mug.jpeg +0 -0
  131. data/public/spree/products/small/DEMO_001_ror_bag.jpeg +0 -0
  132. data/public/spree/products/small/DEMO_002_Powerstation.jpg +0 -0
  133. data/public/spree/products/small/DEMO_003_ror_mug.jpeg +0 -0
  134. data/spec/fixtures/datashift_Spree_db.sqlite +0 -0
  135. data/spec/fixtures/datashift_test_models_db.sqlite +0 -0
  136. data/spec/fixtures/negative/SpreeProdMiss1Mandatory.csv +0 -4
  137. data/spec/fixtures/negative/SpreeProdMiss1Mandatory.xls +0 -0
  138. data/spec/fixtures/negative/SpreeProdMissManyMandatory.csv +0 -4
  139. data/spec/fixtures/negative/SpreeProdMissManyMandatory.xls +0 -0
  140. data/spec/fixtures/spree/SpreeImages.xls +0 -0
  141. data/spec/fixtures/spree/SpreeMultiVariant.csv +0 -4
  142. data/spec/fixtures/spree/SpreeProducts.csv +0 -4
  143. data/spec/fixtures/spree/SpreeProducts.xls +0 -0
  144. data/spec/fixtures/spree/SpreeProductsDefaults.yml +0 -15
  145. data/spec/fixtures/spree/SpreeProductsMandatoryOnly.xls +0 -0
  146. data/spec/fixtures/spree/SpreeProductsMultiColumn.csv +0 -4
  147. data/spec/fixtures/spree/SpreeProductsMultiColumn.xls +0 -0
  148. data/spec/fixtures/spree/SpreeProductsSimple.csv +0 -4
  149. data/spec/fixtures/spree/SpreeProductsSimple.xls +0 -0
  150. data/spec/fixtures/spree/SpreeProductsWithImages.csv +0 -4
  151. data/spec/fixtures/spree/SpreeProductsWithImages.xls +0 -0
  152. data/spec/fixtures/spree/SpreeZoneExample.csv +0 -5
  153. data/spec/fixtures/spree/SpreeZoneExample.xls +0 -0
  154. data/spec/spree_exporter_spec.rb +0 -72
  155. data/spec/spree_generator_spec.rb +0 -96
  156. data/spec/spree_images_loader_spec.rb +0 -107
  157. data/spec/spree_loader_spec.rb +0 -375
  158. data/spec/spree_method_mapping_spec.rb +0 -226
  159. data/spec/spree_variants_loader_spec.rb +0 -189
  160. data/tasks/export/excel_generator.rake +0 -102
  161. data/tasks/import/excel.rake +0 -75
  162. data/test/helper.rb +0 -18
  163. data/test/test_interact.rb +0 -7
@@ -0,0 +1,179 @@
1
+ # To change this template, choose Tools | Templates
2
+ # and open the template in the editor.
3
+
4
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
5
+
6
+ require 'excel'
7
+
8
+ describe 'Excel Proxy' do
9
+
10
+ before(:each) do
11
+ @excel = Excel.new
12
+ end
13
+
14
+ it "can open an existing spreadsheet" do
15
+
16
+ sheet = @excel.open( ifixture_file('ProjectsSingleCategories.xls') )
17
+
18
+ sheet.should_not be_nil
19
+ end
20
+
21
+ it "can create new un-named worksheet" do
22
+ sheet1 = @excel.create_worksheet
23
+
24
+ sheet1.name.should == "Worksheet1"
25
+ end
26
+
27
+ it "can create multiple un-named worksheets" do
28
+ sheet1 = @excel.create_worksheet
29
+ sheet2 = @excel.create_worksheet
30
+ sheet1.name.should == "Worksheet1"
31
+ sheet2.name.should == "Worksheet2"
32
+ end
33
+
34
+ it "can create new named worksheet" do
35
+
36
+ sheet = @excel.create_worksheet( :name => "daft punk")
37
+ sheet.name.should == "daft punk"
38
+
39
+ sheet2 = @excel.create_worksheet( :name => "underworld")
40
+ sheet2.name.should == "underworld"
41
+ end
42
+
43
+ it "ensures name of worksheet sanitized" do
44
+ sheet = @excel.create_worksheet( :name => "daft: ?punk")
45
+ sheet.name.should == "daft punk"
46
+
47
+ sheet = @excel.create_worksheet( :name => "under[]world")
48
+ sheet.name.should == "underworld"
49
+ end
50
+
51
+ it "can create multiple named worksheets" do
52
+
53
+ @excel.create_worksheet( :name => "underworld")
54
+ @excel.create_worksheet( :name => "jeff mills")
55
+ @excel.create_worksheet( :name => "autechre")
56
+ @excel.create_worksheet( :name => "swarms")
57
+
58
+ @excel.worksheets.should have_exactly(4).items
59
+ end
60
+
61
+ it "can access a worksheet by index" do
62
+
63
+ @excel.create_worksheet( :name => "underworld")
64
+ @excel.create_worksheet( :name => "jeff mills")
65
+ @excel.create_worksheet( :name => "autechre")
66
+
67
+ @excel.worksheets[0].name.should == "underworld"
68
+ @excel.worksheets[2].name.should == "autechre"
69
+ end
70
+
71
+
72
+ it "can access a worksheet by ID" do
73
+
74
+ @excel.create_worksheet( :name => "daft punk")
75
+ @excel.create_worksheet( :name => "underworld")
76
+
77
+ @excel.worksheet(0).name.should == "daft punk"
78
+
79
+ @excel.worksheet(1).name.should == "underworld"
80
+
81
+ end
82
+
83
+ it "can add data to a specific row and column" do
84
+
85
+ @excel.create_worksheet( :name => "underworld")
86
+
87
+ @excel[0, 1] = "born slippy"
88
+ @excel[0, 1].should == "born slippy"
89
+
90
+ @excel[1, 23] = 23.0
91
+ @excel[1, 23].should == 23.0
92
+
93
+ @excel[0, 5] = true
94
+ @excel[0, 5].should == true
95
+ end
96
+
97
+ it "can ask a row what index it is" do
98
+
99
+ @excel.create_worksheet( :name => "underworld")
100
+
101
+ @excel[3, 0] = "do i know who i am?"
102
+ @excel[28, 0] = "who am i?"
103
+
104
+ r1 = @excel.row(3)
105
+ r1[0].should == "do i know who i am?"
106
+ r1.idx.should == 3 # idx (0-based)
107
+
108
+ r2 = @excel.row(28)
109
+ r2[0].should == "who am i?"
110
+ r2.idx.should == 28 # idx (0-based)
111
+ end
112
+
113
+ it "can iterate over the rows in a worksheet" do
114
+
115
+ sheet = @excel.create_worksheet
116
+
117
+ @excel[0, 1] = 12.30
118
+ @excel[1, 1] = 25.30
119
+ @excel[3, 1] = 4
120
+
121
+ sheet.each do |row|
122
+ row[0] = "A#{row.idx}"
123
+ end
124
+
125
+ @excel[0, 0].should == "A0"
126
+ @excel[1, 0].should == "A1"
127
+
128
+ # pending for JRuby ... spreadsheet iterates from 0 to max row, probably
129
+ # dynamically creating rows that have never been referenced ..
130
+ @excel[2, 0].should == "A2" unless DataShift::Guards.jruby?
131
+
132
+ @excel[3, 0].should == "A3"
133
+
134
+ @excel[0, 1].should == 12.30
135
+ @excel[1, 1].should == 25.30
136
+ @excel[2, 1].should satisfy {|x| x == "" || x == nil }
137
+ @excel[3, 1].should == 4
138
+ end
139
+
140
+
141
+ it "can iterate over the cells in a row"do
142
+
143
+ sheet = @excel.create_worksheet
144
+
145
+ values = [ 'hello world', 12.30, "", 4 ]
146
+
147
+ values.each_with_index do |v, i|
148
+ @excel[0, i] = v
149
+ end
150
+
151
+ row = @excel.row(0)
152
+
153
+ row.each { |col| col.should == values.shift }
154
+ end
155
+
156
+
157
+ it "can support bools" do
158
+ pending("reading back value sometimes returns "" when cell was set to false")
159
+ end
160
+
161
+ it "can write an Excel file" do
162
+ @excel = Excel.new
163
+
164
+ sheet1 = @excel.create_worksheet
165
+
166
+ @excel.create_worksheet( :name => "underworld")
167
+
168
+ @excel[0, 1] = "born slippy"
169
+ @excel[0, 1].should == "born slippy"
170
+
171
+ expected = result_file('it_can_save_an_excel_file.xls')
172
+
173
+ @excel.write( expected )
174
+
175
+ File.exists?(expected).should be_true
176
+
177
+ end
178
+ end
179
+
@@ -17,12 +17,12 @@ test_memory:
17
17
 
18
18
  test_file:
19
19
  adapter: <%= adapter %>
20
- database: <%= File.join($DataShiftFixturePath, 'datashift_test_models_db.sqlite') %>
20
+ database: <%= File.join(fixtures_path(), 'db', 'datashift_test_models_db.sqlite') %>
21
21
  encoding: utf8
22
22
  host: localhost
23
23
 
24
24
  test_spree_standalone:
25
25
  adapter: <%= adapter %>
26
- database: <%= File.join($DataShiftFixturePath, 'datashift_Spree_db.sqlite') %>
26
+ database: <%= File.join(fixtures_path(), 'db', 'datashift_Spree_db.sqlite') %>
27
27
  encoding: utf8
28
28
  host: localhost
@@ -0,0 +1,3 @@
1
+ require 'datashift'
2
+
3
+ DataShift::load_commands
@@ -0,0 +1,7 @@
1
+
2
+
3
+ # had_and_belongs to join table
4
+ class Category < ActiveRecord::Base
5
+ has_and_belongs_to_many :projects
6
+ end
7
+
@@ -0,0 +1,2 @@
1
+ class Empty < ActiveRecord::Base
2
+ end
@@ -0,0 +1,10 @@
1
+
2
+
3
+ # Join Table with additional columns
4
+ class LoaderRelease < ActiveRecord::Base
5
+
6
+ belongs_to :project
7
+ belongs_to :version
8
+
9
+ #validate the name
10
+ end
@@ -0,0 +1,6 @@
1
+
2
+ # Join Table with additional columns
3
+ class LongAndComplexTableLinkedToVersion < ActiveRecord::Base
4
+
5
+ belongs_to :version
6
+ end
@@ -0,0 +1,8 @@
1
+
2
+
3
+ class Milestone < ActiveRecord::Base
4
+ belongs_to :project
5
+ #validate the name, cost
6
+
7
+ delegate :title, :title=, :to => :project
8
+ end
@@ -0,0 +1,5 @@
1
+
2
+
3
+ class Owner < ActiveRecord::Base
4
+ belongs_to :project
5
+ end
@@ -0,0 +1,26 @@
1
+ # A set of models and associations we can use in our specs to test
2
+ # basic database columns and also relationships
3
+
4
+ # See Companion migration spec/db/migrate
5
+
6
+ class Project < ActiveRecord::Base
7
+
8
+ has_one :owner
9
+
10
+ has_many :milestones
11
+
12
+ has_many :loader_releases
13
+ has_many :versions, :through => :loader_releases
14
+
15
+
16
+ #has_many :release_versions, :through => :loader_releases, :source => :versions
17
+
18
+ has_and_belongs_to_many :categories
19
+
20
+ attr_accessible :value_as_string, :value_as_boolean, :value_as_double
21
+
22
+ def multiply
23
+ 10 * value_as_double
24
+ end
25
+
26
+ end
@@ -0,0 +1,67 @@
1
+ # A set of models and associations we can use in our specs to test
2
+ # basic database columns and also relationships
3
+
4
+ # See Companion migration spec/db/migrate
5
+
6
+ class Project < ActiveRecord::Base
7
+
8
+ has_one :owner
9
+
10
+ has_many :milestones
11
+
12
+ has_many :loader_releases
13
+ has_many :versions, :through => :loader_releases
14
+
15
+
16
+ #has_many :release_versions, :through => :loader_releases, :source => :versions
17
+
18
+ has_and_belongs_to_many :categories
19
+
20
+ attr_accessible :value_as_string, :value_as_boolean, :value_as_double
21
+
22
+ def multiply
23
+ 10 * value_as_double
24
+ end
25
+
26
+ end
27
+
28
+ class Owner < ActiveRecord::Base
29
+ belongs_to :project
30
+ end
31
+
32
+ class Milestone < ActiveRecord::Base
33
+ belongs_to :project
34
+ #validate the name, cost
35
+
36
+ delegate :title, :title=, :to => :project
37
+ end
38
+
39
+ # had_and_belongs to join table
40
+ class Category < ActiveRecord::Base
41
+ has_and_belongs_to_many :projects
42
+ end
43
+
44
+
45
+ class Version < ActiveRecord::Base
46
+ has_many :releases
47
+
48
+ has_one :long_and_complex_table_linked_to_version
49
+ end
50
+
51
+ # Join Table with additional columns
52
+ class LoaderRelease < ActiveRecord::Base
53
+
54
+ belongs_to :project
55
+ belongs_to :version
56
+
57
+ #validate the name
58
+ end
59
+
60
+ class Empty < ActiveRecord::Base
61
+ end
62
+
63
+ # Join Table with additional columns
64
+ class LongAndComplexTableLinkedToVersion < ActiveRecord::Base
65
+
66
+ belongs_to :version
67
+ end
@@ -0,0 +1,7 @@
1
+
2
+
3
+ class Version < ActiveRecord::Base
4
+ has_many :releases
5
+
6
+ has_one :long_and_complex_table_linked_to_version
7
+ end
data/spec/loader_spec.rb CHANGED
@@ -12,10 +12,11 @@ require 'erb'
12
12
  describe 'Basic Loader' do
13
13
 
14
14
  before(:all) do
15
- db_connect( 'test_file' ) # , test_memory, test_mysql
16
15
 
17
- # load our test model definitions - Project etc
18
- require File.join($DataShiftFixturePath, 'test_model_defs')
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
19
20
 
20
21
  migrate_up
21
22
  @klazz = Project
@@ -12,10 +12,11 @@ require File.dirname(__FILE__) + '/spec_helper'
12
12
  describe 'Method Mapping' do
13
13
 
14
14
  before(:all) do
15
- db_connect( 'test_file' ) # , test_memory, test_mysql
16
15
 
17
- # load our test model definitions - Project etc
16
+ # load our test model definitions - Project etc
18
17
  require ifixture_file('test_model_defs')
18
+
19
+ db_connect( 'test_file' ) # , test_memory, test_mysql
19
20
 
20
21
  migrate_up
21
22
  end
@@ -170,7 +171,7 @@ describe 'Method Mapping' do
170
171
  end
171
172
  end
172
173
 
173
- it "should populate required Class for has_one operator method details" do
174
+ it "should populate required Class for has_one operator method details" do
174
175
 
175
176
  MethodDictionary.find_operators( Version )
176
177
  MethodDictionary.build_method_details( Version )
@@ -223,14 +224,14 @@ describe 'Method Mapping' do
223
224
 
224
225
 
225
226
  it "should find a set of methods based on a list of column names" do
226
- pending("key API - map column headers to set of methods")
227
+ pending("key API - map column headers to set of methods")
227
228
  end
228
229
 
229
- it "should not by default map setter methods", :fail => true do
230
+ it "should not by default map setter methods" do
230
231
  MethodDictionary.assignments[Milestone].should_not include('title')
231
232
  end
232
233
 
233
- it "should support reload and inclusion of setter methods", :fail => true do
234
+ it "should support reload and inclusion of setter methods" do
234
235
 
235
236
  MethodDictionary.assignments[Milestone].should_not include('title')
236
237
 
@@ -12,10 +12,11 @@ require File.dirname(__FILE__) + '/spec_helper'
12
12
  describe 'Method Mapping' do
13
13
 
14
14
  before(:all) do
15
- db_connect( 'test_file' ) # , test_memory, test_mysql
16
15
 
17
- # load our test model definitions - Project etc
16
+ # load our test model definitions - Project etc
18
17
  require ifixture_file('test_model_defs')
18
+
19
+ db_connect( 'test_file' ) # , test_memory, test_mysql
19
20
 
20
21
  migrate_up
21
22
  end
@@ -0,0 +1,15 @@
1
+ # See http://help.github.com/ignore-files/ for more about ignoring files.
2
+ #
3
+ # If you find yourself ignoring temporary files generated by your text editor
4
+ # or operating system, you probably want to add a global ignore instead:
5
+ # git config --global core.excludesfile ~/.gitignore_global
6
+
7
+ # Ignore bundler config
8
+ /.bundle
9
+
10
+ # Ignore the default SQLite database.
11
+ /db/*.sqlite3
12
+
13
+ # Ignore all logfiles and tempfiles.
14
+ /log/*.log
15
+ /tmp