Sha256: 2249f9926576a87169c72fbf53ebfe6521c3ec6c30c6ded062308d2f73980dc9
Contents?: true
Size: 1.26 KB
Versions: 4
Compression:
Stored size: 1.26 KB
Contents
#encoding: utf-8 require 'fileutils' require 'active_record' module Recorder # データベースへの接続処理を扱うモジュール # @author sugamasao module DB #データベースへの接続とテーブルの作成を行う # @return [void] def self.prepare database_path = File.join(ENV['HOME'], '.recorder','recorder.sqlite3') connect_database database_path create_table_if_not_exists database_path end def self.connect_database(path) spec = {adapter: 'sqlite3', database: path} ActiveRecord::Base.establish_connection spec end def self.create_table_if_not_exists(path) create_database_path path connection = ActiveRecord::Base.connection return if connection.table_exists?(:data) connection.create_table :data do |d| d.column :weight, :real, null: false d.column :bodyfat, :real, null: true d.column :date, :text, null: true d.timestamps end connection.add_index :data, :created_at connection.add_index :data, :date end def self.create_database_path(path) FileUtils.mkdir_p File.dirname(path) end private_class_method :connect_database, :create_table_if_not_exists, :create_database_path end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
weight-recorder-0.1.3 | lib/recorder/db.rb |
weight-recorder-0.1.2 | lib/recorder/db.rb |
weight-recorder-0.1.1 | lib/recorder/db.rb |
weight-recorder-0.1.0 | lib/recorder/db.rb |