Sha256: d0af5e65a05dddcae8644a5045c97434ca1543aa22b5bbea4e7b110b77e6cafd

Contents?: true

Size: 1.2 KB

Versions: 6

Compression:

Stored size: 1.2 KB

Contents

module Legion
  class Cli
    class Chain < Thor
      desc 'create', 'create'
      def create(name)
        Legion::Service.new(cache: false, crypt: false, extensions: false, log_level: 'error')
        say "chain created, id: #{Legion::Data::Model::Chain.insert({ name: name })}", :green
      end

      desc 'show', 'show'
      option :limit, type: :numeric, required: true, default: 10, desc: 'how many tasks to return'
      def show
        Legion::Service.new(cache: false, crypt: false, extensions: false, log_level: 'error')
        rows = [%w[id name active]]
        Legion::Data::Model::Chain.limit(options[:limit]).order(:id).reverse_each do |row|
          rows.push([row.values[:id], row.values[:name], row.values[:active]])
        end

        print_table rows
      end

      desc 'delete', 'delete'
      option :confirm, type: :boolean
      def delete(id)
        Legion::Service.new(cache: false, crypt: false, extensions: false, log_level: 'error')
        return if !options[:confirm] && !(yes? "Are you sure you want to delete chain #{id} and all dependent relationships", :red)

        Legion::Data::Model::Chain[id].delete
        say 'Deleted!'
      end

      default_task :show
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
legionio-1.2.1 lib/legion/cli/chain.rb
legionio-1.2.0 lib/legion/cli/chain.rb
legionio-0.4.3 lib/legion/cli/chain.rb
legionio-0.4.2 lib/legion/cli/chain.rb
legionio-0.4.1 lib/legion/cli/chain.rb
legionio-0.4.0 lib/legion/cli/chain.rb