Class: ShopifyApp::Generators::ShopModelGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/shopify_app/shop_model/shop_model_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dir) ⇒ Object

for generating a timestamp when using ‘create_migration`



65
66
67
# File 'lib/generators/shopify_app/shop_model/shop_model_generator.rb', line 65

def next_migration_number(dir)
  ActiveRecord::Generators::Base.next_migration_number(dir)
end

Instance Method Details

#create_shop_fixturesObject



47
48
49
# File 'lib/generators/shopify_app/shop_model/shop_model_generator.rb', line 47

def create_shop_fixtures
  copy_file("shops.yml", "test/fixtures/shops.yml")
end

#create_shop_migrationObject



18
19
20
# File 'lib/generators/shopify_app/shop_model/shop_model_generator.rb', line 18

def create_shop_migration
  migration_template("db/migrate/create_shops.erb", "db/migrate/create_shops.rb")
end

#create_shop_modelObject



14
15
16
# File 'lib/generators/shopify_app/shop_model/shop_model_generator.rb', line 14

def create_shop_model
  copy_file("shop.rb", "app/models/shop.rb")
end

#create_shop_with_access_scopes_migrationObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/generators/shopify_app/shop_model/shop_model_generator.rb', line 22

def create_shop_with_access_scopes_migration
  scopes_column_prompt = "    It is highly recommended that apps record the access scopes granted by \\\n    merchants during app installation. See app/models/shop.rb to modify how \\\n    access scopes are stored and retrieved.\n\n    [WARNING] You will need to update the access_scopes accessors in the Shop model \\\n    to allow shopify_app to store and retrieve scopes when going through OAuth.\n\n    The following migration will add an `access_scopes` column to the Shop model. \\\n    Do you want to include this migration? [y/n]\n  PROMPT\n\n  if new_shopify_cli_app? || Rails.env.test? || yes?(scopes_column_prompt)\n    migration_template(\n      \"db/migrate/add_shop_access_scopes_column.erb\",\n      \"db/migrate/add_shop_access_scopes_column.rb\",\n    )\n  end\nend\n"

#update_shopify_app_initializerObject



43
44
45
# File 'lib/generators/shopify_app/shop_model/shop_model_generator.rb', line 43

def update_shopify_app_initializer
  gsub_file("config/initializers/shopify_app.rb", "ShopifyApp::InMemoryShopSessionStore", "Shop")
end