Sha256: ece5d87ca5efe1a3265e00ae21937f6daf8100a986fa6e4b85bcfd1bc8fdfa61

Contents?: true

Size: 1.48 KB

Versions: 11

Compression:

Stored size: 1.48 KB

Contents

module Isomorfeus
  module Installer
    class Gemfile
      extend Isomorfeus::Installer::DSL

      class << self
        def execute
          install_gemfile
        end

        def generate_gem_line(gem_hash)
          line = "gem '#{gem_hash[:name]}', '#{gem_hash[:version]}'"
          line << ", require: false" if gem_hash.key?(:require) && !gem_hash[:require]
          line << "\n"
        end

        def install_gemfile
          rack_server_gems = ''
          Isomorfeus::Installer.rack_servers[Isomorfeus::Installer.options[:rack_server]]&.fetch(:gems)&.each do |gem|
            rack_server_gems << generate_gem_line(gem)
          end
          data_hash = { rack_server_gems: rack_server_gems.chop }

          if Isomorfeus::Installer.project_name == 'test_app'
            gem_lines = ''
            %i[isomorfeus isomorfeus-data isomorfeus-empowerment isomorfeus-i18n isomorfeus-mailer isomorfeus-operation isomorfeus-policy isomorfeus-transport].each do |i_module|
              gem_lines << "gem '#{i_module}', path: #{Isomorfeus::Installer.isomorfeus_module == i_module ? "'..'\n" : "'../../#{i_module}'"}\n"
            end
            data_hash[:isomorfeus_gems] = gem_lines.chop
          else
            data_hash[:isomorfeus_gems] = "gem 'isomorfeus', '~> #{Isomorfeus::VERSION}'"
          end

          create_file_from_template(Isomorfeus::Installer.templates_path, 'Gemfile.erb', 'Gemfile', data_hash)
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
isomorfeus-2.5.5 lib/isomorfeus/installer/gemfile.rb
isomorfeus-2.5.4 lib/isomorfeus/installer/gemfile.rb
isomorfeus-2.5.3 lib/isomorfeus/installer/gemfile.rb
isomorfeus-2.5.2 lib/isomorfeus/installer/gemfile.rb
isomorfeus-2.5.1 lib/isomorfeus/installer/gemfile.rb
isomorfeus-2.5.0 lib/isomorfeus/installer/gemfile.rb
isomorfeus-2.4.2 lib/isomorfeus/installer/gemfile.rb
isomorfeus-2.4.1 lib/isomorfeus/installer/gemfile.rb
isomorfeus-2.4.0 lib/isomorfeus/installer/gemfile.rb
isomorfeus-2.3.1 lib/isomorfeus/installer/gemfile.rb
isomorfeus-2.3.0 lib/isomorfeus/installer/gemfile.rb