Module: CKick

Defined in:
lib/ckick/path.rb,
lib/ckick.rb,
lib/ckick/cflag.rb,
lib/ckick/plugin.rb,
lib/ckick/target.rb,
lib/ckick/cxxflag.rb,
lib/ckick/library.rb,
lib/ckick/project.rb,
lib/ckick/version.rb,
lib/ckick/hashable.rb,
lib/ckick/ckickfile.rb,
lib/ckick/executable.rb,
lib/ckick/find_plugin.rb,
lib/ckick/dependencies.rb,
lib/ckick/include_path.rb,
lib/ckick/library_link.rb,
lib/ckick/library_path.rb,
lib/ckick/compiler_flag.rb,
lib/ckick/path_delegate.rb,
lib/ckick/sub_directory.rb,
lib/ckick/plugin_delegate.rb

Overview

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at mozilla.org/MPL/2.0/.

Defined Under Namespace

Modules: Hashable, PathDelegate, PluginDelegate Classes: BadFileContentError, BadFlagError, BadIncludePathError, BadLibError, BadLibraryPathError, BadProjectNameError, BadSourceError, BadSubDirectoryError, CFlag, CXXFlag, CompilerFlag, Dependencies, Error, Executable, IllegalInitializationError, IncludePath, Library, LibraryLink, LibraryPath, NoNameError, NoParentDirError, NoSourceError, NoSuchDirectoryError, Path, Plugin, Project, SubDirectory, Target

Constant Summary collapse

RESOURCE_DIR =
File.join(File.dirname(File.dirname(__FILE__)), "resource")
VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.find_builtin_pluginsObject



8
9
10
11
12
13
14
15
16
17
# File 'lib/ckick/find_plugin.rb', line 8

def self.find_builtin_plugins
  res = []
  $PLUGIN_PATH.each do |dir|
    files = Dir.entries(dir).select { |entry| entry.length > 3 && entry[-3..-1] == '.rb'}
    files.each do |file|
      res << File.join(dir, file)
    end
  end
  res.flatten(1)
end

.load_builtin_pluginsObject



19
20
21
22
23
# File 'lib/ckick/find_plugin.rb', line 19

def self.load_builtin_plugins
  find_builtin_plugins.each do |file|
    require file[0..-4]
  end
end

.load_ckickfile(dir = Dir.pwd, filename = "CKickfile") ⇒ Object



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

def self.load_ckickfile(dir=Dir.pwd, filename="CKickfile")
  JSON.parse(File.read(File.join(dir, filename)), symbolize_names: true)
end