fixture_builder 0.4.1 → 0.5.0.pre.RC1
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.
- checksums.yaml +4 -4
- data/.travis.yml +4 -0
- data/README.markdown +2 -2
- data/lib/fixture_builder/builder.rb +8 -4
- data/lib/fixture_builder/configuration.rb +21 -3
- data/lib/fixture_builder/version.rb +1 -1
- data/lib/tasks/fixture_builder.rake +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd04e7fa891e330d81f57fd11d2e85245f81ba60
|
4
|
+
data.tar.gz: 67001cc364472a4acffbf1123d14efaf48127d49
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 23700888f067cf8065ed961eb2f80e84e18283bfb0cf567e817cd6b126602c8e61a49525887a85d9e4d588a88fc4942ba0e655e68988db3857ca0856b168a873
|
7
|
+
data.tar.gz: d6bc268f5279448748b4c9a27d16d2510f59547dea8edbab35a0a8e00b9e80d7cb3e660f5ea925855daf12954e89276f43f0a9e393cad1729e116be9cfa91ce5
|
data/.travis.yml
CHANGED
data/README.markdown
CHANGED
@@ -77,8 +77,8 @@ By default these are set as:
|
|
77
77
|
* fixture_builder_file: RAILS_ROOT/tmp/fixture_builder.yml
|
78
78
|
* record_name_fields: %w{ schema_migrations }
|
79
79
|
* skip_tables: %w{ schema_migrations }
|
80
|
-
* select_sql: SELECT * FROM %
|
81
|
-
* delete_sql: DELETE FROM %
|
80
|
+
* select_sql: SELECT * FROM %{table}
|
81
|
+
* delete_sql: DELETE FROM %{table}
|
82
82
|
|
83
83
|
Sequence Collisions
|
84
84
|
===================
|
@@ -62,7 +62,7 @@ module FixtureBuilder
|
|
62
62
|
|
63
63
|
def write_data_to_files
|
64
64
|
delete_yml_files
|
65
|
-
dump_empty_fixtures_for_all_tables
|
65
|
+
dump_empty_fixtures_for_all_tables if write_empty_files
|
66
66
|
dump_tables
|
67
67
|
end
|
68
68
|
|
@@ -73,7 +73,7 @@ module FixtureBuilder
|
|
73
73
|
|
74
74
|
def delete_tables
|
75
75
|
ActiveRecord::Base.connection.disable_referential_integrity do
|
76
|
-
tables.each { |t| ActiveRecord::Base.connection.delete(delete_sql % ActiveRecord::Base.connection.quote_table_name(t)) }
|
76
|
+
tables.each { |t| ActiveRecord::Base.connection.delete(delete_sql % {table: ActiveRecord::Base.connection.quote_table_name(t)}) }
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
@@ -108,7 +108,7 @@ module FixtureBuilder
|
|
108
108
|
end
|
109
109
|
end
|
110
110
|
else
|
111
|
-
rows = ActiveRecord::Base.connection.select_all(select_sql % ActiveRecord::Base.connection.quote_table_name(table_name))
|
111
|
+
rows = ActiveRecord::Base.connection.select_all(select_sql % {table: ActiveRecord::Base.connection.quote_table_name(table_name)})
|
112
112
|
end
|
113
113
|
next files if rows.empty?
|
114
114
|
|
@@ -129,7 +129,11 @@ module FixtureBuilder
|
|
129
129
|
|
130
130
|
def serialized_value_if_needed(table_klass, attr_name, value)
|
131
131
|
if table_klass.respond_to?(:type_for_attribute)
|
132
|
-
table_klass.type_for_attribute(attr_name).
|
132
|
+
if table_klass.type_for_attribute(attr_name).respond_to?(:serialize)
|
133
|
+
table_klass.type_for_attribute(attr_name).serialize(value)
|
134
|
+
else
|
135
|
+
table_klass.type_for_attribute(attr_name).type_cast_for_database(value)
|
136
|
+
end
|
133
137
|
else
|
134
138
|
if table_klass.serialized_attributes.has_key? attr_name
|
135
139
|
table_klass.serialized_attributes[attr_name].dump(value)
|
@@ -8,7 +8,8 @@ module FixtureBuilder
|
|
8
8
|
include Delegations::Namer
|
9
9
|
|
10
10
|
ACCESSIBLE_ATTRIBUTES = [:select_sql, :delete_sql, :skip_tables, :files_to_check, :record_name_fields,
|
11
|
-
:fixture_builder_file, :fixture_directory, :after_build, :legacy_fixtures, :model_name_procs
|
11
|
+
:fixture_builder_file, :fixture_directory, :after_build, :legacy_fixtures, :model_name_procs,
|
12
|
+
:write_empty_files]
|
12
13
|
attr_accessor(*ACCESSIBLE_ATTRIBUTES)
|
13
14
|
|
14
15
|
SCHEMA_FILES = ['db/schema.rb', 'db/development_structure.sql', 'db/test_structure.sql', 'db/production_structure.sql']
|
@@ -16,6 +17,7 @@ module FixtureBuilder
|
|
16
17
|
def initialize(opts={})
|
17
18
|
@namer = Namer.new(self)
|
18
19
|
@file_hashes = file_hashes
|
20
|
+
@write_empty_files = true
|
19
21
|
end
|
20
22
|
|
21
23
|
def include(*args)
|
@@ -34,11 +36,27 @@ module FixtureBuilder
|
|
34
36
|
end
|
35
37
|
|
36
38
|
def select_sql
|
37
|
-
@select_sql ||= "SELECT * FROM %
|
39
|
+
@select_sql ||= "SELECT * FROM %{table}"
|
40
|
+
end
|
41
|
+
|
42
|
+
def select_sql=(sql)
|
43
|
+
if sql =~ /%s/
|
44
|
+
ActiveSupport::Deprecation.warn("Passing '%s' into select_sql is deprecated. Please use '%{table}' instead.", caller)
|
45
|
+
sql = sql.sub(/%s/, '%{table}')
|
46
|
+
end
|
47
|
+
@select_sql = sql
|
38
48
|
end
|
39
49
|
|
40
50
|
def delete_sql
|
41
|
-
@delete_sql ||= "DELETE FROM %
|
51
|
+
@delete_sql ||= "DELETE FROM %{table}"
|
52
|
+
end
|
53
|
+
|
54
|
+
def delete_sql=(sql)
|
55
|
+
if sql =~ /%s/
|
56
|
+
ActiveSupport::Deprecation.warn("Passing '%s' into delete_sql is deprecated. Please use '%{table}' instead.", caller)
|
57
|
+
sql = sql.sub(/%s/, '%{table}')
|
58
|
+
end
|
59
|
+
@delete_sql = sql
|
42
60
|
end
|
43
61
|
|
44
62
|
def skip_tables
|
@@ -9,7 +9,7 @@ namespace :spec do
|
|
9
9
|
|
10
10
|
desc "Build the generated fixtures to spec/fixtures if dirty"
|
11
11
|
task :build => :environment do
|
12
|
-
ActiveRecord::Base.establish_connection(
|
12
|
+
ActiveRecord::Base.establish_connection(:test)
|
13
13
|
Dir.glob(File.join(Rails.root, '{spec,test}', '**', 'fixture_builder.rb')).each{|file| require(file)}
|
14
14
|
end
|
15
15
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fixture_builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0.pre.RC1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Dy
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-08-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
@@ -147,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
147
|
version: '0'
|
148
148
|
requirements: []
|
149
149
|
rubyforge_project: fixture_builder
|
150
|
-
rubygems_version: 2.
|
150
|
+
rubygems_version: 2.4.3
|
151
151
|
signing_key:
|
152
152
|
specification_version: 4
|
153
153
|
summary: Build YAML fixtures using object factories
|