Module: Cline

Defined in:
lib/cline.rb,
lib/cline/command.rb,
lib/cline/version.rb,
lib/cline/configure.rb,
lib/cline/notification.rb

Defined Under Namespace

Modules: Collectors, OutStreams Classes: Command, Configure, Notification

Constant Summary collapse

VERSION =
"0.2.7"

Class Method Summary collapse

Class Method Details

.bootObject



12
13
14
15
16
17
# File 'lib/cline.rb', line 12

def boot
  mkdir_if_needed
  setup_logger
  establish_connection
  load_config_if_exists
end

.cline_dirObject



8
9
10
# File 'lib/cline.rb', line 8

def cline_dir
  "#{ENV['HOME']}/.cline"
end

.configure(&config) ⇒ Object



4
5
6
# File 'lib/cline/configure.rb', line 4

def self.configure(&config)
  config.call Configure.new
end

.establish_connectionObject



29
30
31
# File 'lib/cline.rb', line 29

def establish_connection
  ActiveRecord::Base.establish_connection adapter: 'sqlite3', database: "#{cline_dir}/cline.sqlite3", timeout: 10000
end

.load_config_if_existsObject



33
34
35
36
# File 'lib/cline.rb', line 33

def load_config_if_exists
  config = Pathname.new("#{cline_dir}/config")
  load config if config.exist?
end

.mkdir_if_neededObject



19
20
21
22
# File 'lib/cline.rb', line 19

def mkdir_if_needed
  path = Pathname.new(cline_dir)
  path.mkdir unless path.directory?
end

.out_streamObject



38
39
40
# File 'lib/cline.rb', line 38

def out_stream
  @out_stream || STDOUT
end

.out_stream=(stream) ⇒ Object



42
43
44
# File 'lib/cline.rb', line 42

def out_stream=(stream)
  @out_stream = stream
end

.pool_sizeObject



46
47
48
# File 'lib/cline.rb', line 46

def pool_size
  @pool_size
end

.pool_size=(pool_size) ⇒ Object



50
51
52
# File 'lib/cline.rb', line 50

def pool_size=(pool_size)
  @pool_size = pool_size
end

.setup_loggerObject



24
25
26
27
# File 'lib/cline.rb', line 24

def setup_logger
  ActiveRecord::Base.logger = Logger.new(STDOUT)
  ActiveRecord::Base.logger.level = Logger::WARN
end