class CartGenerator
Attributes
product_cname[RW]
user_cname[RW]
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/generators/cart_generator.rb, line 7 def initialize *args @user_cname = args[0][0] @product_cname = args[0][1] super end
Public Instance Methods
copy_cart_migration()
click to toggle source
# File lib/generators/cart_generator.rb, line 23 def copy_cart_migration migration_template "migration.rb", "db/migrate/create_carts.rb" end
ensure_defined()
click to toggle source
# File lib/generators/cart_generator.rb, line 13 def ensure_defined ensure_classes_defined [:user, :product] end
generate_model()
click to toggle source
# File lib/generators/cart_generator.rb, line 17 def generate_model invoke "active_record:model", [ "cart" ], :migration => false inject_into_class model_path, Cart, model_content end
Private Instance Methods
ensure_class_defined(cname)
click to toggle source
# File lib/generators/cart_generator.rb, line 49 def ensure_class_defined cname table_name = eval("@#{cname}_cname").downcase.pluralize unless ActiveRecord::Base.connection.table_exists? table_name prompt_missing table_name abort end end
ensure_classes_defined(cnames)
click to toggle source
# File lib/generators/cart_generator.rb, line 45 def ensure_classes_defined cnames cnames.each{|cname| ensure_class_defined cname} end
model_content()
click to toggle source
# File lib/generators/cart_generator.rb, line 33 def model_content ERB.new(File.read(File.join(__dir__, 'templates/model.rb'))).result(binding) end
model_path()
click to toggle source
# File lib/generators/cart_generator.rb, line 29 def model_path File.join("app", "models", "cart.rb") end
product_id()
click to toggle source
# File lib/generators/cart_generator.rb, line 41 def product_id ":#{@product_cname.downcase}_id" end
prompt_missing(table_name)
click to toggle source
# File lib/generators/cart_generator.rb, line 58 def prompt_missing table_name puts "Table #{table_name} is missing" end
user_id()
click to toggle source
# File lib/generators/cart_generator.rb, line 37 def user_id ":#{@user_cname.downcase}_id" end