class RailsNewsfeed::ModelGenerator
Public Instance Methods
process()
click to toggle source
# File lib/generators/rails_newsfeed/model_generator.rb, line 7 def process case behavior when :invoke invoke when :revoke revoke end end
Private Instance Methods
invoke()
click to toggle source
# File lib/generators/rails_newsfeed/model_generator.rb, line 18 def invoke t = options.key?('type_of_id') ? options['type_of_id'] : 'bigint' RailsNewsfeed::Connection.exec_cql("DROP TABLE IF EXISTS #{file_name}") RailsNewsfeed::Connection.exec_cql("CREATE TABLE #{file_name} (id #{t}, activity_id uuid, activity_content text, activity_object text, activity_time timestamp, PRIMARY KEY ((id), activity_id)) WITH CLUSTERING ORDER BY (activity_id DESC)") RailsNewsfeed::Connection.exec_cql("INSERT INTO #{RailsNewsfeed::FeedTable.table_name} (table_class) VALUES ('#{class_name}')") create_file "app/models/#{file_name}.rb", <<-FILE class #{class_name} < RailsNewsfeed::NewsfeedModel type_of_id :#{t} end FILE end
revoke()
click to toggle source
# File lib/generators/rails_newsfeed/model_generator.rb, line 33 def revoke RailsNewsfeed::Connection.exec_cql("DROP TABLE IF EXISTS #{file_name}") RailsNewsfeed::Connection.exec_cql("DELETE FROM #{RailsNewsfeed::FeedTable.table_name} WHERE table_class='#{class_name}'") @behavior = :invoke remove_file "app/models/#{file_name}.rb" end