[Groonga-commit] ranguba/groonga-client-model at dc5979d [master] generator migration: _key implies "--table-type hash_table"

Back to archive index

Kouhei Sutou null+****@clear*****
Tue Mar 7 12:54:45 JST 2017


Kouhei Sutou	2017-03-07 12:54:45 +0900 (Tue, 07 Mar 2017)

  New Revision: dc5979d2746089de1f1ec741bcb5055fb6805798
  https://github.com/ranguba/groonga-client-model/commit/dc5979d2746089de1f1ec741bcb5055fb6805798

  Message:
    generator migration: _key implies "--table-type hash_table"

  Modified files:
    lib/rails/generators/groonga_client_model/migration/templates/create_table_migration.rb
    lib/rails/generators/groonga_client_model/migration_generator.rb
    test/apps/rails4/test/generators/migration_generator_test.rb
    test/apps/rails5/test/generators/migration_generator_test.rb

  Modified: lib/rails/generators/groonga_client_model/migration/templates/create_table_migration.rb (+3 -1)
===================================================================
--- lib/rails/generators/groonga_client_model/migration/templates/create_table_migration.rb    2017-03-07 12:44:08 +0900 (e4e83cf)
+++ lib/rails/generators/groonga_client_model/migration/templates/create_table_migration.rb    2017-03-07 12:54:45 +0900 (abb6c4e)
@@ -1,6 +1,8 @@
 class <%= migration_class_name %> < GroongaClientModel::Migration
   def change
-    create_table :<%= table_name %><%= create_table_options %> do |t|
+    create_table :<%= table_name %><%=
+                 create_table_options("    create_table ".size)
+                 %> do |t|
 <% target_attributes.each do |attribute| -%>
       t.<%= attribute.type %> :<%= attribute.name %><%= attribute.inject_options %>
 <% end -%>

  Modified: lib/rails/generators/groonga_client_model/migration_generator.rb (+6 -4)
===================================================================
--- lib/rails/generators/groonga_client_model/migration_generator.rb    2017-03-07 12:44:08 +0900 (02f32e0)
+++ lib/rails/generators/groonga_client_model/migration_generator.rb    2017-03-07 12:54:45 +0900 (361707b)
@@ -96,15 +96,17 @@ module GroongaClientModel
         name.pluralize
       end
 
-      def create_table_options
+      def create_table_options(indent_size=0)
+        prefix = ",\n" + (" " * indent_size)
         table_type = @options[:table_type]
+        table_type ||= "hash_table" if @key_type
         table_propose = @options[:table_propose]
         options_text = ""
         if table_type
-          options_text = ", type: :#{table_type}"
-          options_text << ", key_type: :#{@key_type}" if @key_type
+          options_text << "#{prefix}type: :#{table_type}"
+          options_text << "#{prefix}key_type: :#{@key_type}" if @key_type
         end
-        options_text << ", propose: :#{table_propose}" if table_propose
+        options_text << "#{prefix}propose: :#{table_propose}" if table_propose
         options_text
       end
 

  Modified: test/apps/rails4/test/generators/migration_generator_test.rb (+14 -0)
===================================================================
--- test/apps/rails4/test/generators/migration_generator_test.rb    2017-03-07 12:44:08 +0900 (038aee5)
+++ test/apps/rails4/test/generators/migration_generator_test.rb    2017-03-07 12:54:45 +0900 (e769431)
@@ -40,6 +40,20 @@ end
     MIGRATION
   end
 
+  test "create_table: _key" do
+    run_generator(["create_posts", "_key:short_text"])
+    assert_migration("db/groonga/migrate/create_posts.rb", <<-MIGRATION)
+class CreatePosts < GroongaClientModel::Migration
+  def change
+    create_table :posts,
+                 type: :hash_table,
+                 key_type: :short_text do |t|
+    end
+  end
+end
+    MIGRATION
+  end
+
   test "set_config" do
     run_generator(["set_config_alias_column"])
     assert_migration("db/groonga/migrate/set_config_alias_column.rb", <<-MIGRATION)

  Modified: test/apps/rails5/test/generators/migration_generator_test.rb (+14 -0)
===================================================================
--- test/apps/rails5/test/generators/migration_generator_test.rb    2017-03-07 12:44:08 +0900 (038aee5)
+++ test/apps/rails5/test/generators/migration_generator_test.rb    2017-03-07 12:54:45 +0900 (e769431)
@@ -40,6 +40,20 @@ end
     MIGRATION
   end
 
+  test "create_table: _key" do
+    run_generator(["create_posts", "_key:short_text"])
+    assert_migration("db/groonga/migrate/create_posts.rb", <<-MIGRATION)
+class CreatePosts < GroongaClientModel::Migration
+  def change
+    create_table :posts,
+                 type: :hash_table,
+                 key_type: :short_text do |t|
+    end
+  end
+end
+    MIGRATION
+  end
+
   test "set_config" do
     run_generator(["set_config_alias_column"])
     assert_migration("db/groonga/migrate/set_config_alias_column.rb", <<-MIGRATION)
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index