Sha256: be19ce18874ee6d9c3d240f06a2e557ac5fdc4bcffccd607db38fb6ece964ab0

Contents?: true

Size: 1.6 KB

Versions: 3

Compression:

Stored size: 1.6 KB

Contents

module TrelloCli
  module CLI
    module Card
      class Create

        def initialize
          @options = { members: [] }
        end

        def run
          option_parser.parse!

          card = create_card
          data = { id:   card.attributes[:id],
                   name: card.attributes[:name],
                   desc: card.attributes[:desc] }

          puts TrelloCli::Formatters::CardCreate.new(data).output @options[:output]
        end

        private

        def create_card
          cc = TrelloCli::Requests::CreateCard.new
          cc.create @options
        end

        def option_parser
          OptionParser.new do |opts|
            opts.banner = "Usage: trello card [create] [options]"

            opts.on("-b", "--board [BOARD]", "Trello Board Id") do |b|
              @options[:board_id] = b
            end

            opts.on("-d", "--description [DESCRIPTION]", "Description Of Card") do |d|
              @options[:desc] = d
            end

            opts.on("-l", "--list [LIST]", "List Of Card") do |l|
              @options[:list_id] = l
            end

            opts.on("-m", "--member [MEMBER_NAME]", "Member name to assign to card") do |m|
              @options[:members] << m
            end

            opts.on("-n", "--name [NAME]", "Name Of Card") do |n|
              @options[:name] = n
            end

            opts.on("-o", "--output [OUTPUT]", "Output format [json|tsv|legacy]." ) do |o|
              @options[:output] = o
            end
          end
        end

        def help
          puts option_parser.help
        end

      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
trello_cli-0.5.0 lib/trello_cli/cli/card/create.rb
trello_cli-0.4.1 lib/trello_cli/cli/card/create.rb
trello_cli-0.4.0 lib/trello_cli/cli/card/create.rb