Skip to content

Commit 3aede8b

Browse files
committed
Add metaobject statements to migrator
1 parent a67db25 commit 3aede8b

File tree

1 file changed

+22
-21
lines changed

1 file changed

+22
-21
lines changed

lib/shopify_toolkit/migrator.rb

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
class ShopifyToolkit::Migrator # :nodoc:
77
include ShopifyToolkit::AdminClient
88
include ShopifyToolkit::MetafieldStatements
9+
include ShopifyToolkit::MetaobjectStatements
910

1011
singleton_class.attr_accessor :migrations_paths
1112
self.migrations_paths = ["config/shopify/migrate"]
@@ -40,9 +41,9 @@ def executed_migrations
4041
def down
4142
# For now we'll just rollback the last one
4243
executed_migrations.last(1).each do |migration|
43-
migration.migrate(:down)
44-
migrated_versions.delete(migration.version)
45-
end
44+
migration.migrate(:down)
45+
migrated_versions.delete(migration.version)
46+
end
4647
ensure
4748
update_metafield
4849
end
@@ -83,9 +84,9 @@ def read_or_create_metafield
8384
key = :migrations
8485

8586
value = query(
86-
"query ShopMetafield($namespace: String!, $key: String!) {shop {metafield(namespace: $namespace, key: $key) {value}}}",
87+
"query ShopMetafield($namespace: String!, $key: String!) {shop {metafield(namespace: $namespace, key: $key) {value}}}",
8788
namespace:, key:,
88-
).dig("shop", "metafield", "value")
89+
).dig("shop", "metafield", "value")
8990

9091
if value.nil?
9192
create_metafield :shop, key, :json, namespace:, name: "Migrations metadata"
@@ -111,33 +112,33 @@ def parse_migration_filename(filename)
111112

112113
def load_migrations
113114
migrations = migration_files.map do |file|
114-
version, name, scope = parse_migration_filename(file)
115-
raise "missing version #{file}" unless version
116-
raise "missing name #{file}" unless name
117-
version = version.to_i
118-
name = name.camelize
115+
version, name, scope = parse_migration_filename(file)
116+
raise "missing version #{file}" unless version
117+
raise "missing name #{file}" unless name
118+
version = version.to_i
119+
name = name.camelize
119120

120-
MigrationProxy.new(name, version, file, scope)
121-
end
121+
MigrationProxy.new(name, version, file, scope)
122+
end
122123

123124
migrations.sort_by(&:version)
124125
end
125126

126127
# MigrationProxy is used to defer loading of the actual migration classes
127128
# until they are needed
128129
MigrationProxy = Struct.new(:name, :version, :filename, :scope) do
129-
def initialize(name, version, filename, scope)
130-
super
131-
@migration = nil
132-
end
130+
def initialize(name, version, filename, scope)
131+
super
132+
@migration = nil
133+
end
133134

134-
def basename
135-
File.basename(filename)
136-
end
135+
def basename
136+
File.basename(filename)
137+
end
137138

138139
delegate :migrate, :up, :down, :announce, :say, :say_with_time, to: :migration
139140

140-
private
141+
private
141142
def migration
142143
@migration ||= load_migration
143144
end
@@ -148,5 +149,5 @@ def load_migration
148149
load(File.expand_path(filename))
149150
name.constantize.new(name, version)
150151
end
151-
end
152+
end
152153
end

0 commit comments

Comments
 (0)