Sha256: 919ca71e75d6ca28eea907045b823d76629ac5c9b61a922ec8a6e8690285bf9f

Contents?: true

Size: 817 Bytes

Versions: 6

Compression:

Stored size: 817 Bytes

Contents

require 'json'
class PluginRoutes
  # draw "all" gems registered for the plugins or themes and camaleon gems
  def self.draw_gems
    res = []
    dirs = [] + Dir["#{apps_dir}/plugins/*"] + Dir["#{apps_dir}/themes/*"]

    dirs.each do |path|
      next if [".", ".."].include?(path)
      g = File.join(path, "config", "Gemfile")
      res << File.read(g) if File.exist?(g)
    end
    res.join("\n")
  end

  # return apps directory path
  def self.apps_dir
    dir =  "#{File.dirname(__FILE__)}".split("/")
    dir.pop
    dir.join("/")+ '/app/apps'
  end

  # check if a gem is available or not
  # Arguemnts:
  # name: name of the gem
  # return (Boolean) true/false
  def self.get_gem(name)
    Gem::Specification.find_by_name(name)
  rescue Gem::LoadError
    false
  rescue
    Gem.available?(name)
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
camaleon_cms-1.0.5 lib/generators/camaleon_cms/install_template/plugin_routes.rb
camaleon_cms-1.0.4 lib/generators/camaleon_cms/install_template/plugin_routes.rb
camaleon_cms-1.0.3 lib/generators/camaleon_cms/install_template/plugin_routes.rb
camaleon_cms-1.0.2 lib/generators/camaleon_cms/install_template/plugin_routes.rb
camaleon_cms-1.0.1 lib/generators/camaleon_cms/install_template/plugin_routes.rb
camaleon_cms-1.0 lib/generators/camaleon_cms/install_template/plugin_routes.rb