Sha256: eb89e007a3bae08afd4d2b4d222927230fcc86039a081007ecd51fb547ea0325
Contents?: true
Size: 1.54 KB
Versions: 1
Compression:
Stored size: 1.54 KB
Contents
require 'bundler/setup' require 'groovy' Groovy.open('./db/2020', :current) # Groovy.open('./db/2021', :next) module Groovy::Model::ClassMethods def context_name Time.now.year == 2020 ? :current : :next end def table obj = db_context[table_name] schema.sync(db_context) if obj.nil? db_context[table_name] end end class Category include Groovy::Model schema do |t| t.string :name t.timestamps end scope :named, -> (name) { where(name: name) if name } end class Place include Groovy::Model schema do |t| t.reference :categories, "Categories", type: :vector t.string :name t.string :description, index: true t.timestamps end scope :recent, -> { sort_by(created_at: :desc) } end class Location include Groovy::Model schema do |t| t.reference :place, "Places" t.string :coords t.timestamps end end # from groonga tests # # schema.create_table("Users", :type => :hash, :key_type => "UInt32") { |table| } # # schema.create_table("Communities", :type => :hash, :key_type => "ShortText") do |table| # table.reference("users", "Users", :type => :vector) # end # # groonga = @communities.add("groonga") # morita = @users.add(29) # groonga["users"] = [morita] # # assert_equal([29], @users.collect {|record| record.key}) # assert_equal([29], groonga["users"].collect {|record| record.key}) def insert_places(count = 1000) puts "Inserting #{count} places!" count.times do |i| Place.create!(name: "Place #{i}", description: "A nice place") end end insert_places if Place.count == 0
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
groovy-0.4.0 | example/relations.rb |