Sha256: 5300b0f0b5b5f20be9823ca4737cadeb4b46ec9639f90ada2ed0b1eed96fa9da
Contents?: true
Size: 1.09 KB
Versions: 2
Compression:
Stored size: 1.09 KB
Contents
Sequel.database_timezone = :utc Sequel.application_timezone = :utc module GithubStats # Encapsulates database bits and bobs and tiddles. class Database attr_accessor :options, :adapter def initialize(options) self.options = options end def adapter @adapter ||= Sequel.connect(database_url) end def issues adapter[:issues] end def setup return if setup? create_issues create_events end private def setup? File.exist?(URI.parse(database_url).path) end private def create_issues adapter.create_table :issues do primary_key :id String :url String :search_string Integer :github_id DateTime :closed_at DateTime :created_at DateTime :started_at end end private def create_events adapter.create_table :events do primary_key :id foreign_key :issue_id, :issues, on_delete: :cascade DateTime :created_at String :type end end private def database_url options[:database_url] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
github-stats-0.2.0 | lib/github_stats/database.rb |
github-stats-0.1.0 | lib/github_stats/database.rb |