Sha256: b8ba1c41d45082be2a7501c06499a7c29d40f115e34d832e68ddc53b0c678caa
Contents?: true
Size: 1.33 KB
Versions: 3
Compression:
Stored size: 1.33 KB
Contents
require 'thor' module GemfileLocker class CLI < Thor class_option :gemfile, aliases: '-g', default: 'Gemfile', desc: 'Path to gemfile' desc 'lock [gem ...] [options]', 'Lock all missing versions or specified gems.' method_option :loose, aliases: '-l', lazy_default: 'patch', enum: %w(major minor patch full), desc: 'Lock with `~>`. Optionaly provide level (default to patch)' method_option :except, aliases: '-e', type: :array, desc: 'List of gems to skip' method_option :force, aliases: '-f', type: :boolean, desc: 'Overwrite version definitions' def lock(*only) gemfile = options[:gemfile] lockfile = File.read("#{gemfile}.lock") processor_opts = only.any? ? options.merge(only: only) : options run_editor gemfile, Locker.new(lockfile, processor_opts) end desc 'unlock [gem ...] [options]', 'Unock all or specified gems.' method_option :except, aliases: '-e', type: :array, desc: 'List of gems to skip' def unlock(*only) processor_opts = only.any? ? options.merge(only: only) : options run_editor options[:gemfile], Unlocker.new(processor_opts) end private def run_editor(file, processor) editor = FileEditor.new(file, processor) editor.run end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gemfile_locker-0.3.1 | lib/gemfile_locker/cli.rb |
gemfile_locker-0.3.0 | lib/gemfile_locker/cli.rb |
gemfile_locker-0.2.0 | lib/gemfile_locker/cli.rb |