module Pluto

Constants

MAJOR
MINOR
Models

note: convenience alias for Model lets you use include Pluto::Models

PATCH
VERSION

Public Class Methods

auto_migrate!() click to toggle source
# File lib/pluto/models.rb, line 67
def self.auto_migrate!
  # first time? - auto-run db migratation, that is, create db tables
  unless LogDb::Model::Log.table_exists?
    LogDb.create # add logs table
  end

  unless ConfDb::Model::Prop.table_exists?
    ConfDb.create # add props table
  end

  ## fix: change to Model from Models
  unless ActivityDb::Models::Activity.table_exists?
    ActivityDb::CreateDb.new.up    # todo/check - use ActivityDb.create if exists???
  end

  unless Model::Feed.table_exists?
    Pluto.create
  end
end
banner() click to toggle source
config() click to toggle source
# File lib/pluto/config.rb, line 28
def self.config
  @config ||= Configuration.new
end
configure() { |config| ... } click to toggle source

lets you use

Pluto.configure do |config|
   config.debug        = true
   config.logger.level = :debug
end
# File lib/pluto/config.rb, line 24
def self.configure
  yield( config )
end
connect( config={} ) click to toggle source
# File lib/pluto/models.rb, line 89
def self.connect( config={} )  # convenience shortcut without (w/o) automigrate
  Connecter.new.connect( config )
end
connect!( config={} ) click to toggle source
# File lib/pluto/models.rb, line 93
def self.connect!( config={} )  # convenience shortcut w/ automigrate
  Pluto.connect( config )
  Pluto.auto_migrate!
end
create() click to toggle source
# File lib/pluto/models.rb, line 54
def self.create
  CreateDb.new.up
  ConfDb::Model::Prop.create!( key: 'db.schema.planet.version', value: VERSION )
end
create_all() click to toggle source
# File lib/pluto/models.rb, line 59
def self.create_all
  LogDb.create # add logs table
  ConfDb.create # add props table
  ActivityDb::CreateDb.new.up    # todo/check - use ActivityDb.create if exists???
  Pluto.create
end
generator() click to toggle source

Note: moved from pluto-merge (add here because pluto-merge gem is optional)

fix: remove generator in pluto-merge!!! (duplicate)
# File lib/pluto/version.rb, line 21
def self.generator   # convenience alias for banner (matches HTML generator meta tag)
  "Pluto #{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
end
root() click to toggle source
# File lib/pluto/version.rb, line 26
def self.root
  "#{File.expand_path( File.dirname(File.dirname(File.dirname(__FILE__))) )}"
end
setup_in_memory_db() click to toggle source
# File lib/pluto/models.rb, line 99
def self.setup_in_memory_db
  # Database Setup & Config
  ActiveRecord::Base.logger = Logger.new( STDOUT )
  ## ActiveRecord::Base.colorize_logging = false - no longer exists - check new api/config setting?

  Pluto.connect( adapter: 'sqlite3',
                 database: ':memory:' )

  ## build schema
  Pluto.create_all
end
version() click to toggle source
# File lib/pluto/version.rb, line 10
def self.version
  VERSION
end