Sha256: 1900115aa4347b8b515cb881cf54001c1af6c947e9b971ded129463b91e8b901

Contents?: true

Size: 1.25 KB

Versions: 34

Compression:

Stored size: 1.25 KB

Contents

class Fanforce::PluginFactory::CLI::Pow
  include Fanforce::PluginFactory::CLI::Utils

  attr_reader :plugin

  def initialize(plugin)
    @plugin = plugin
  end

  def setup
    create_domain(plugin.root_domain)
    create_domain(Fanforce.default_short_domain)
  end

  def destroy
    destroy_domain(plugin.root_domain)
    destroy_domain(Fanforce.default_short_domain)
  end

  def remove_domain_extension(domain)
    domain.gsub(/\.[a-z]+$/, '')
  end

  def create_domain(root_domain)
    domain = "#{plugin._id}.#{root_domain.gsub(/\.([a-z]+)$/, '')}"
    domain_extension = $1
    symlink = "#{ENV['HOME']}/.pow/#{domain}"

    File.delete(symlink) if File.exists?(symlink) or File.symlink?(symlink)
    `ln -s #{plugin.dir} #{symlink}`
    puts "#{'Connected'.format(:bold,:green)} #{domain}.#{domain_extension} to #{plugin.dir}/"
  end

  def destroy_domain(root_domain)
    domain = "#{plugin._id}.#{root_domain.gsub(/\.([a-z]+)$/, '')}"
    domain_extension = $1
    symlink = "#{ENV['HOME']}/.pow/#{domain}"
    if File.exists?(symlink)
      File.delete(symlink)
      puts "#{'Removed'.format(:bold,:green)} #{domain}.#{domain_extension}"
    else
      puts "#{'Already Removed'.format(:bold,:green)} #{domain}.#{domain_extension} to #{plugin.dir}/"
    end
  end

end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
fanforce-plugin-factory-2.0.0.rc29 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc28 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc27 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc26 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc25 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc24 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc23 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc22 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc21 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc19 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc18 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc17 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc16 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc15 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc13 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc12 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc11 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc10 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc9 lib/fanforce/plugin_factory/cli/lib/pow.rb
fanforce-plugin-factory-2.0.0.rc8 lib/fanforce/plugin_factory/cli/lib/pow.rb