Sha256: d1da7e93ef4b6796a48cdb413d3bc6412dd32f88f3efdf304096c550e6643e93
Contents?: true
Size: 1.63 KB
Versions: 7
Compression:
Stored size: 1.63 KB
Contents
module ArchitectureJS end require "architecture-js/helpers" module ArchitectureJS def base_directory File.expand_path(File.join(File.dirname(__FILE__), '..')) end def lib_directory File.expand_path(File.join(File.dirname(__FILE__))) end def root_directory File.expand_path(File.join(File.dirname(Dir.getwd))) end def register_blueprint(name, constructor) ArchitectureJS::BLUEPRINTS[name] = constructor end def create_project_from_config(project_dir = nil) project_dir ||= File.expand_path(Dir.getwd) conf_file = get_config_file project_dir raise "<project_name>.blueprint was not found in #{project_dir}" if conf_file.nil? config = YAML.load_file("#{project_dir}/#{conf_file}") config = ArchitectureJS::Helpers::symbolize_keys config raise "The config file does not contain a project name" if config[:name].nil? raise "#{config[:blueprint]} is not isntalled. Try gem install #{config[:blueprint]}-architecture" if ArchitectureJS::BLUEPRINTS[config[:blueprint]].nil? project = ArchitectureJS::BLUEPRINTS[config[:blueprint]].new(config, project_dir) end def get_config_file(path) (Dir.entries(path).select { |f| f.match /\.blueprint$/ })[0] end module_function :base_directory, :lib_directory, :register_blueprint, :create_project_from_config, :get_config_file end module ArchitectureJS VERSION = File.read("#{base_directory}/VERSION") BLUEPRINTS = Hash.new end require "sprockets/lib/sprockets" %w(dependencies generator notification blueprint architect).each do |lib| require "architecture-js/#{lib}" end
Version data entries
7 entries across 7 versions & 1 rubygems