module Wpxf
The root namespace.
The root namespace.
The root namespace.
The root namespace.
The root namespace.
The root namespace.
Public Class Methods
app_path()
click to toggle source
# File lib/wpxf.rb, line 21 def self.app_path File.expand_path(File.dirname(__dir__)) end
build_module_list(namespace, source_folders = [])
click to toggle source
# File lib/wpxf/modules.rb, line 16 def self.build_module_list(namespace, source_folders = []) modules = namespace.constants.select do |c| namespace.const_get(c).is_a? Class end modules.map do |m| klass = namespace.const_get(m) filename = klass.new.method(:initialize).source_location[0] # Remove any source folders from the path and store the # relative path that will be used in the CLI. source_folders.each do |source_folder| filename = filename.sub(source_folder, '') end { class: klass, name: filename.sub(/^\//, '').sub(/\.rb$/, '') } end end
change_stdout_sync(enabled) { |enabled| ... }
click to toggle source
# File lib/wpxf.rb, line 41 def self.change_stdout_sync(enabled) original_setting = STDOUT.sync STDOUT.sync = true yield(enabled) STDOUT.sync = original_setting end
custom_modules_path()
click to toggle source
# File lib/wpxf/modules.rb, line 8 def self.custom_modules_path File.join(Wpxf.home_directory, 'modules') end
data_directory()
click to toggle source
# File lib/wpxf.rb, line 17 def self.data_directory File.join(app_path, 'data') end
databases_path()
click to toggle source
# File lib/wpxf.rb, line 35 def self.databases_path path = File.join(home_directory, 'db') FileUtils.mkdir_p(path) unless File.directory?(path) path end
gemspec()
click to toggle source
# File lib/wpxf.rb, line 12 def self.gemspec spec_path = File.join(Wpxf.app_path, 'wpxf.gemspec') Gem::Specification.load(spec_path) end
home_directory()
click to toggle source
# File lib/wpxf.rb, line 29 def self.home_directory path = File.join(Dir.home, '.wpxf') FileUtils.mkdir_p(path) unless File.directory?(path) path end
load_custom_modules()
click to toggle source
# File lib/wpxf/modules.rb, line 44 def self.load_custom_modules custom_modules_path = File.join(Wpxf.home_directory, 'modules', '**', '*.rb') Dir.glob(custom_modules_path).each { |p| load p } end
load_module(path)
click to toggle source
# File lib/wpxf/modules.rb, line 38 def self.load_module(path) mod = Wpxf::Models::Module.first(path: path) raise "\"#{path}\" is not a valid module" if mod.nil? Object.const_get(mod.class_name).new end
modules_path()
click to toggle source
# File lib/wpxf/modules.rb, line 4 def self.modules_path File.join(Wpxf.app_path, 'lib', 'wpxf', 'modules') end
payloads_path()
click to toggle source
# File lib/wpxf/modules.rb, line 12 def self.payloads_path File.join(Wpxf.app_path, 'lib', 'wpxf', 'payloads') end
version()
click to toggle source
# File lib/wpxf.rb, line 25 def self.version gemspec.version.to_s end