ferry 0.1.3 → 1.0.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.
@@ -0,0 +1,38 @@
1
+ def create_products
2
+ # assumes create_categories prior
3
+ @food1 = FactoryGirl.create(:product, category: @food)
4
+ @food2 = FactoryGirl.create(:product, category: @food, name: "potato", price: 0.69, sales_start_date: nil, sales_end_date: nil, flash_sale_time: nil, on_sale: false, stock: 50)
5
+ @food3 = FactoryGirl.create(:product, category: @food, name: "rice", price: 2.35, sales_start_date: Date.new(2014,7,14), sales_end_date: Date.new(2014,8,14), flash_sale_time: nil, on_sale: false, stock: 45)
6
+ @food4 = FactoryGirl.create(:product, category: @food, name: "chicken", price: 7.60, sales_start_date: Date.new(2012,1,14), sales_end_date: Date.new(2012,2,14), flash_sale_time: Time.new(2014, 11, 23, 16, 20, 0), on_sale: true, stock: 35)
7
+ @cleaning1 = FactoryGirl.create(:product, category: @cleaning, name: "soap", price: 1.29, sales_start_date: Date.new(2014,4,20), sales_end_date: Date.new(2014,7,14), flash_sale_time: nil , on_sale: false, stock: 100)
8
+ @cleaning2 = FactoryGirl.create(:product, category: @cleaning, name: "detergent", price: 3.00, sales_start_date: Date.new(2014,10,26), sales_end_date: Date.new(2014,7,14), flash_sale_time: nil, on_sale: false, stock: 120)
9
+ @cleaning3 = FactoryGirl.create(:product, category: @cleaning, name: "bleach", price: 6.00, sales_start_date: Date.new(2013,12,25), sales_end_date: Date.new(2014,1,7), flash_sale_time: Time.new(2014, 12, 23, 0, 0, 0), on_sale: true, stock: 121)
10
+ @antique1 = FactoryGirl.create(:product, category: @antiques, name: "lamp", price: 329.65, sales_start_date: nil, sales_end_date: nil, flash_sale_time: nil, on_sale: false, stock: 3)
11
+ @antique2 = FactoryGirl.create(:product, category: @antiques, name: "Elizabethan-era dress", price: 1777888999.99, sales_start_date: Date.new(2002,2,7), sales_end_date: nil, flash_sale_time: nil, on_sale: false, stock: 1)
12
+ @toy1 = FactoryGirl.create(:product, category: @toys, name: "teddy bear", price: 12.98, sales_start_date: Date.new(2014,12,1), sales_end_date: Date.new(2015,2,15), flash_sale_time: Time.new(2014, 12, 24, 12, 12, 0), on_sale: true, stock: 1000)
13
+ @toy2 = FactoryGirl.create(:product, category: @toys, name: "Monopoly", price: 19.67, sales_start_date: nil, sales_end_date: nil, flash_sale_time: nil, on_sale: false, stock: 35)
14
+ @toy3 = FactoryGirl.create(:product, category: @toys, name: "doll", price: 8.00, sales_start_date: Date.new(2013,4,4), sales_end_date: Date.new(2013,5,5), flash_sale_time: nil, on_sale: false, stock: 121)
15
+ @furniture1 = FactoryGirl.create(:product, category: @furniture, name: "chair", price: 75.00, sales_start_date: nil, sales_end_date: nil, flash_sale_time: nil, on_sale: false, stock: 222)
16
+ @furniture2 = FactoryGirl.create(:product, category: @furniture, name: "table", price: 1200.99, sales_start_date: nil, sales_end_date: nil, flash_sale_time: nil, on_sale: false, stock: 12)
17
+ @furniture3 = FactoryGirl.create(:product, category: @furniture, name: "sofa", price: 1423.80, sales_start_date: nil, sales_end_date: nil, flash_sale_time: nil, on_sale: false, stock: 279)
18
+ @furniture4 = FactoryGirl.create(:product, category: @furniture, name: "desk", price: 600.00, sales_start_date: nil, sales_end_date: nil, flash_sale_time: nil, on_sale: false, stock: 300)
19
+ end
20
+
21
+ def delete_products
22
+ @food1.delete
23
+ @food2.delete
24
+ @food3.delete
25
+ @food4.delete
26
+ @cleaning1.delete
27
+ @cleaning2.delete
28
+ @cleaning3.delete
29
+ @antique1.delete
30
+ @antique2.delete
31
+ @toy1.delete
32
+ @toy2.delete
33
+ @toy3.delete
34
+ @furniture1.delete
35
+ @furniture2.delete
36
+ @furniture3.delete
37
+ @furniture4.delete
38
+ end
@@ -1,11 +1,26 @@
1
1
  require 'ferry'
2
+ require 'fileutils'
3
+ require 'factory_girl'
2
4
 
3
- ActiveRecord::Base.establish_connection(:adapter => "sqlite3",
4
- :database => File.dirname(__FILE__) + "/ferry.sqlite3")
5
+ Dir[File.dirname(__FILE__) + "/models/*.rb"].each{ |file| require file }
6
+ load File.dirname(__FILE__) + "/support/factories.rb"
5
7
 
6
- load File.dirname(__FILE__) + '/support/schema.rb'
7
- load File.dirname(__FILE__) + '/support/models.rb'
8
- load File.dirname(__FILE__) + '/support/data.rb'
8
+ require "logger"
9
+ require "contexts.rb"
10
+
11
+ FileUtils.mkdir_p 'log'
12
+ ActiveRecord::Base.logger = Logger.new("log/test.log")
13
+ ActiveRecord::Base.logger.level = Logger::DEBUG
9
14
 
10
15
  RSpec.configure do |config|
16
+ config.include FactoryGirl::Syntax::Methods
17
+ include Contexts
18
+ end
19
+
20
+ def connect(adapter)
21
+ test_dir = Pathname.new File.dirname(__FILE__)
22
+ ENV["RAILS_ENV"] = adapter || "test"
23
+ db = YAML.load_file(test_dir.join("config/database.yml"))[adapter]
24
+ ActiveRecord::Base.establish_connection(:adapter => adapter, :database => db["database"])
25
+ load File.dirname(__FILE__) + '/support/schema.rb'
11
26
  end
@@ -0,0 +1 @@
1
+ id,name,description,float_score,active
@@ -0,0 +1,27 @@
1
+ FactoryGirl.define do
2
+ factory :product do
3
+ name "Candy Bar"
4
+ price 1.29
5
+ sales_start_date Date.new(2013,7,14)
6
+ sales_end_date nil
7
+ flash_sale_time Time.new(2016, 10, 31, 16, 20, 0)
8
+ on_sale false
9
+ stock 120
10
+ end
11
+
12
+ factory :category do
13
+ name "Food"
14
+ description "Any item that can be consumed. Can't be included in both \"Food\" and \"Decorations\" categories."
15
+ float_score 3.14159236579
16
+ active true
17
+ end
18
+
19
+ factory :cart do
20
+ email "ted@example.com"
21
+ end
22
+
23
+ factory :order do
24
+ quantity 1
25
+ date Date.new(2014,10,14)
26
+ end
27
+ end
@@ -1,17 +1,32 @@
1
1
  ActiveRecord::Schema.define do
2
- self.verbose = false
3
- create_table :designs do |t|
4
- t.integer :design_id
5
- t.integer :product_id
6
- t.integer :account_id
7
- t.string :account_file
8
- t.string :save_method
9
- t.integer :total_units
10
- t.boolean :has_upload
11
- t.date :created_at
12
- t.date :updated_at
13
- t.integer :postal_code
2
+ create_table :products, :force=>true do |t|
3
+ t.column :name, :string, :null => false
4
+ t.column :price, :decimal
5
+ t.column :category_id, :integer
6
+ t.column :sales_start_date, :datetime
7
+ t.column :sales_end_date, :datetime
8
+ t.column :flash_sale_time, :time
9
+ t.column :on_sale, :boolean, :default=>false, :null => false
10
+ t.column :stock, :integer
11
+ end
12
+
13
+ create_table :categories, :force=>true do |t|
14
+ t.column :name, :string, :null => false
15
+ t.column :description, :text
16
+ t.column :float_score, :float
17
+ t.column :active, :boolean
18
+ end
14
19
 
15
- t.timestamps
20
+ create_table :carts, :force=>true do |t|
21
+ t.column :email, :string
16
22
  end
23
+
24
+ create_table :orders, :force=>true do |t|
25
+ t.column :product_id, :integer
26
+ t.column :cart_id, :integer
27
+ t.column :quantity, :integer
28
+ t.column :date, :date
29
+ end
30
+ add_index :orders, [:cart_id, :product_id], :unique => true, :name => 'cart_product'
31
+
17
32
  end
@@ -0,0 +1,105 @@
1
+ exporter = Ferry::Exporter.new
2
+
3
+ Dir.chdir("spec") unless Dir.pwd.split('/').last == "spec"
4
+
5
+ describe("export functionality") do
6
+ describe "#export" do
7
+ describe "sqlite3 db" do
8
+ before(:all) do
9
+ connect("sqlite3")
10
+ Contexts.setup
11
+ end
12
+ after(:all) do
13
+ Contexts.teardown
14
+ FileUtils.rm_rf('db')
15
+ end
16
+ it "to_csv should create a populated csv file" do
17
+ exporter.to_csv('sqlite3', 'carts')
18
+ file_path = File.expand_path("..",Dir.pwd) + "/spec/db/csv/sqlite3/carts.csv"
19
+ expect(File).to exist(file_path)
20
+ lines = CSV.read(file_path)
21
+ expect(lines.length).to eql(27)
22
+ expect(lines[0]).to eql(["id", "email"])
23
+ expect(lines[1]).to eql(["1", "abby@example.com"])
24
+ expect(lines[26]).to eql(["26", "zach@example.com"])
25
+ end
26
+ it "to_yaml should create a populated yaml file" do
27
+ exporter.to_yaml('sqlite3', 'carts')
28
+ file_path = File.expand_path("..",Dir.pwd) + "/spec/db/yaml/sqlite3/carts.yml"
29
+ expect(File).to exist(file_path)
30
+ output = YAML.load_file(file_path)
31
+ expect(output["carts"].length).to eql(2)
32
+ expect(output["carts"].keys).to eql(["columns","records"])
33
+ expect(output["carts"]["columns"]).to eql(["id","email"])
34
+ expect(output["carts"]["records"][0]).to eql([1,"abby@example.com"])
35
+ expect(output["carts"]["records"][25]).to eql([26,"zach@example.com"])
36
+ end
37
+ end
38
+
39
+ describe "postgresql db" do
40
+ before(:all) do
41
+ connect("postgresql")
42
+ # requires you to have a ferry_test db in pg
43
+ Contexts.setup
44
+ end
45
+ after(:all) do
46
+ Contexts.teardown
47
+ FileUtils.rm_rf('db')
48
+ end
49
+ it "to_csv should create a populated csv file" do
50
+ exporter.to_csv('postgresql', 'carts')
51
+ file_path = File.expand_path("..",Dir.pwd) + "/spec/db/csv/postgresql/carts.csv"
52
+ expect(File).to exist(file_path)
53
+ lines = CSV.read(file_path)
54
+ expect(lines.length).to eql(27)
55
+ expect(lines[0]).to eql(["id", "email"])
56
+ expect(lines[1]).to eql(["1", "abby@example.com"])
57
+ expect(lines[26]).to eql(["26", "zach@example.com"])
58
+ end
59
+ it "to_yaml should create a populated yaml file" do
60
+ exporter.to_yaml('postgresql', 'carts')
61
+ file_path = File.expand_path("..",Dir.pwd) + "/spec/db/yaml/postgresql/carts.yml"
62
+ expect(File).to exist(file_path)
63
+ output = YAML.load_file(file_path)
64
+ expect(output["carts"].length).to eql(2)
65
+ expect(output["carts"].keys).to eql(["columns","records"])
66
+ expect(output["carts"]["columns"]).to eql(["id","email"])
67
+ expect(output["carts"]["records"][0]).to eql(["1","abby@example.com"])
68
+ expect(output["carts"]["records"][25]).to eql(["26","zach@example.com"])
69
+ end
70
+ end
71
+
72
+ describe "mysql2 db" do
73
+ before(:all) do
74
+ connect("mysql2")
75
+ # requires you to have a ferry_test db in mysql
76
+ Contexts.setup
77
+ end
78
+ after(:all) do
79
+ Contexts.teardown
80
+ FileUtils.rm_rf('db')
81
+ end
82
+ it "to_csv should create a populated csv file" do
83
+ exporter.to_csv('mysql2', 'carts')
84
+ file_path = File.expand_path("..",Dir.pwd) + "/spec/db/csv/mysql2/carts.csv"
85
+ expect(File).to exist(file_path)
86
+ lines = CSV.read(file_path)
87
+ expect(lines.length).to eql(27)
88
+ expect(lines[0]).to eql(["id", "email"])
89
+ expect(lines[1]).to eql(["1", "abby@example.com"])
90
+ expect(lines[26]).to eql(["26", "zach@example.com"])
91
+ end
92
+ it "to_yaml should create a populated yaml file" do
93
+ exporter.to_yaml('mysql2', 'carts')
94
+ file_path = File.expand_path("..",Dir.pwd) + "/spec/db/yaml/mysql2/carts.yml"
95
+ expect(File).to exist(file_path)
96
+ output = YAML.load_file(file_path)
97
+ expect(output["carts"].length).to eql(2)
98
+ expect(output["carts"].keys).to eql(["columns","records"])
99
+ expect(output["carts"]["columns"]).to eql(["id","email"])
100
+ expect(output["carts"]["records"][0]).to eql([1,"abby@example.com"])
101
+ expect(output["carts"]["records"][25]).to eql([26,"zach@example.com"])
102
+ end
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,69 @@
1
+ importer = Ferry::Importer.new
2
+
3
+ Dir.chdir("spec") unless Dir.pwd.split('/').last == "spec"
4
+
5
+ describe("import functionality") do
6
+ describe "#import" do
7
+ describe "sqlite3 db" do
8
+ before(:all) do
9
+ connect("sqlite3")
10
+ Contexts.setup
11
+ end
12
+ after(:all) do
13
+ Contexts.teardown
14
+ Category.delete_all
15
+ end
16
+ it "import should import valid csv values into ActiveRecord and the db" do
17
+ import_path = File.expand_path("..",Dir.pwd) + "/spec/support/categories_import.csv"
18
+ importer.import("sqlite3", "categories", import_path)
19
+ expect(Category.all.length).to eql(146)
20
+ expect(Category.find_by(id: 42).name).to eql("outdoor decor")
21
+ expect(Category.find_by(id: 42).description).to eql("Pellentesque magna odio, blandit in nisi fringilla, commodo.")
22
+ expect(Category.find_by(id: 42).float_score).to eql(42.42)
23
+ expect(Category.find_by(id: 42).active).to eql(true)
24
+ end
25
+ end
26
+
27
+ describe "postgresql db" do
28
+ before(:all) do
29
+ connect("postgresql")
30
+ # requires you to have a ferry_test db in pg
31
+ Contexts.setup
32
+ end
33
+ after(:all) do
34
+ Contexts.teardown
35
+ Category.delete_all
36
+ end
37
+ it "import should import valid csv values into ActiveRecord and the db" do
38
+ import_path = File.expand_path("..",Dir.pwd) + "/spec/support/categories_import.csv"
39
+ importer.import("postgresql", "categories", import_path)
40
+ expect(Category.all.length).to eql(146)
41
+ expect(Category.find_by(id: 42).name).to eql("outdoor decor")
42
+ expect(Category.find_by(id: 42).description).to eql("Pellentesque magna odio, blandit in nisi fringilla, commodo.")
43
+ expect(Category.find_by(id: 42).float_score).to eql(42.42)
44
+ expect(Category.find_by(id: 42).active).to eql(true)
45
+ end
46
+ end
47
+
48
+ describe "mysql2 db" do
49
+ before(:all) do
50
+ connect("mysql2")
51
+ # requires you to have a ferry_test db in pg
52
+ Contexts.setup
53
+ end
54
+ after(:all) do
55
+ Contexts.teardown
56
+ Category.delete_all
57
+ end
58
+ it "import should import valid csv values into ActiveRecord and the db" do
59
+ import_path = File.expand_path("..",Dir.pwd) + "/spec/support/categories_import.csv"
60
+ importer.import("mysql2", "categories", import_path)
61
+ expect(Category.all.length).to eql(146)
62
+ expect(Category.find_by(id: 42).name).to eql("outdoor decor")
63
+ expect(Category.find_by(id: 42).description).to eql("Pellentesque magna odio, blandit in nisi fringilla, commodo.")
64
+ expect(Category.find_by(id: 42).float_score).to eql(42.42)
65
+ expect(Category.find_by(id: 42).active).to eql(true)
66
+ end
67
+ end
68
+ end
69
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ferry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anthony Corletti
@@ -10,22 +10,22 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-10-12 00:00:00.000000000 Z
13
+ date: 2014-11-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - ">="
19
+ - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: '0'
21
+ version: 4.1.7
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - ">="
26
+ - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: '0'
28
+ version: 4.1.7
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: bundler
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -41,89 +41,131 @@ dependencies:
41
41
  - !ruby/object:Gem::Version
42
42
  version: '1.6'
43
43
  - !ruby/object:Gem::Dependency
44
- name: progressbar
44
+ name: rake
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ">="
47
+ - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '0'
49
+ version: 10.3.2
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - ">="
54
+ - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: '0'
56
+ version: 10.3.2
57
57
  - !ruby/object:Gem::Dependency
58
- name: rake
58
+ name: minitest
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - ">="
61
+ - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: '0'
63
+ version: 5.4.1
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - ">="
68
+ - - "~>"
69
69
  - !ruby/object:Gem::Version
70
- version: '0'
70
+ version: 5.4.1
71
71
  - !ruby/object:Gem::Dependency
72
- name: minitest
72
+ name: rspec
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - ">="
75
+ - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: '0'
77
+ version: 3.1.0
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
- - - ">="
82
+ - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: '0'
84
+ version: 3.1.0
85
85
  - !ruby/object:Gem::Dependency
86
- name: rspec
86
+ name: pg
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - ">="
89
+ - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: '0'
91
+ version: 0.17.1
92
92
  type: :development
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
- - - ">="
96
+ - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: '0'
98
+ version: 0.17.1
99
99
  - !ruby/object:Gem::Dependency
100
- name: pg
100
+ name: sqlite3
101
101
  requirement: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - ">="
103
+ - - "~>"
104
104
  - !ruby/object:Gem::Version
105
- version: '0'
105
+ version: 1.3.10
106
106
  type: :development
107
107
  prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
- - - ">="
110
+ - - "~>"
111
111
  - !ruby/object:Gem::Version
112
- version: '0'
112
+ version: 1.3.10
113
113
  - !ruby/object:Gem::Dependency
114
- name: sqlite3
114
+ name: mysql2
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - ">="
117
+ - - "~>"
118
118
  - !ruby/object:Gem::Version
119
- version: '0'
119
+ version: 0.3.16
120
120
  type: :development
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
- - - ">="
124
+ - - "~>"
125
+ - !ruby/object:Gem::Version
126
+ version: 0.3.16
127
+ - !ruby/object:Gem::Dependency
128
+ name: factory_girl
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - "~>"
132
+ - !ruby/object:Gem::Version
133
+ version: 4.5.0
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - "~>"
139
+ - !ruby/object:Gem::Version
140
+ version: 4.5.0
141
+ - !ruby/object:Gem::Dependency
142
+ name: progressbar
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - "~>"
146
+ - !ruby/object:Gem::Version
147
+ version: 0.21.0
148
+ type: :runtime
149
+ prerelease: false
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - "~>"
153
+ - !ruby/object:Gem::Version
154
+ version: 0.21.0
155
+ - !ruby/object:Gem::Dependency
156
+ name: highline
157
+ requirement: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - "~>"
160
+ - !ruby/object:Gem::Version
161
+ version: 1.6.21
162
+ type: :runtime
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - "~>"
125
167
  - !ruby/object:Gem::Version
126
- version: '0'
168
+ version: 1.6.21
127
169
  description: Ferry is a data migration and data manipulation tool that seeks to simplify
128
170
  the increasingly prevalent big data problems for developers
129
171
  email:
@@ -143,16 +185,32 @@ files:
143
185
  - Rakefile
144
186
  - bin/ferry
145
187
  - doc/ferry_readme_icon.png
188
+ - doc/ferry_readme_icon_2.png
146
189
  - ferry.gemspec
147
190
  - lib/ferry.rb
191
+ - lib/ferry/exporter.rb
192
+ - lib/ferry/importer.rb
193
+ - lib/ferry/switcher.rb
194
+ - lib/ferry/utilities.rb
148
195
  - lib/ferry/version.rb
149
- - spec/ferry.sqlite3
150
- - spec/lib/ferry_spec.rb
196
+ - spec/config/database.yml
197
+ - spec/contexts.rb
198
+ - spec/ferry_spec.rb
199
+ - spec/models/cart.rb
200
+ - spec/models/category.rb
201
+ - spec/models/order.rb
202
+ - spec/models/product.rb
203
+ - spec/sets/cart_context.rb
204
+ - spec/sets/category_context.rb
205
+ - spec/sets/order_context.rb
206
+ - spec/sets/product_context.rb
151
207
  - spec/spec_helper.rb
152
- - spec/support/data.rb
153
- - spec/support/models.rb
208
+ - spec/support/categories_import.csv
209
+ - spec/support/factories.rb
154
210
  - spec/support/schema.rb
155
- homepage: https://github.com/cmu-is-projects/
211
+ - spec/tests/exporter_tests.rb
212
+ - spec/tests/importer_tests.rb
213
+ homepage: https://cmu-is-projects.github.io/ferry
156
214
  licenses:
157
215
  - MIT
158
216
  metadata: {}
@@ -177,9 +235,20 @@ signing_key:
177
235
  specification_version: 4
178
236
  summary: Ferry is a data migration and data manipulation tool
179
237
  test_files:
180
- - spec/ferry.sqlite3
181
- - spec/lib/ferry_spec.rb
238
+ - spec/config/database.yml
239
+ - spec/contexts.rb
240
+ - spec/ferry_spec.rb
241
+ - spec/models/cart.rb
242
+ - spec/models/category.rb
243
+ - spec/models/order.rb
244
+ - spec/models/product.rb
245
+ - spec/sets/cart_context.rb
246
+ - spec/sets/category_context.rb
247
+ - spec/sets/order_context.rb
248
+ - spec/sets/product_context.rb
182
249
  - spec/spec_helper.rb
183
- - spec/support/data.rb
184
- - spec/support/models.rb
250
+ - spec/support/categories_import.csv
251
+ - spec/support/factories.rb
185
252
  - spec/support/schema.rb
253
+ - spec/tests/exporter_tests.rb
254
+ - spec/tests/importer_tests.rb