Class: KiTrello::Command

Inherits:
Object
  • Object
show all
Defined in:
lib/ki_trello/command.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(output = $stdout, error = $stderr, config = Kiseru::Config[:ki_trello]) ⇒ Command

Returns a new instance of Command.



7
8
9
10
11
12
# File 'lib/ki_trello/command.rb', line 7

def initialize(output=$stdout, error=$stderr, config = Kiseru::Config[:ki_trello])
  @output = output
  @error = error
  @config = config
  @pretty = true
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



5
6
7
# File 'lib/ki_trello/command.rb', line 5

def config
  @config
end

#errorObject (readonly)

Returns the value of attribute error.



5
6
7
# File 'lib/ki_trello/command.rb', line 5

def error
  @error
end

#inputObject (readonly)

Returns the value of attribute input.



5
6
7
# File 'lib/ki_trello/command.rb', line 5

def input
  @input
end

#outputObject (readonly)

Returns the value of attribute output.



5
6
7
# File 'lib/ki_trello/command.rb', line 5

def output
  @output
end

Instance Method Details

#boards(options) ⇒ Object



51
52
53
54
55
56
57
58
59
60
# File 'lib/ki_trello/command.rb', line 51

def boards(options)
  session = Session.new(@config)
  boards = session.boards.map {|b| Board.new(b) }
  board_data = if options[:details]
                 boards.map(&:full)
               else
                 boards.map(&:simplified)
               end
  MultiJson.dump(board_data, :pretty => @pretty)
end

#card(card_id, board_id) ⇒ Object



34
35
36
37
38
39
40
41
42
43
# File 'lib/ki_trello/command.rb', line 34

def card(card_id, board_id)
  session = Session.new(@config)
  simple_card_id = extract_id(card_id)
  card_data = if board_id
                session.card_on_board(board_id, simple_card_id)
              else
                session.card(simple_card_id)
              end
  MultiJson.dump(card_data, :pretty => @pretty)
end

#create_card(json, opts = {}) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/ki_trello/command.rb', line 22

def create_card(json, opts = {})
  list_id = opts.fetch(:list)
  session = Session.new(@config)
  data = MultiJson.load(json)
  card = session.new_card(list_id, data)
  output.puts(MultiJson.dump(card, :pretty => @pretty))
end

#get_card(card_id, board_id = nil) ⇒ Object



18
19
20
# File 'lib/ki_trello/command.rb', line 18

def get_card(card_id, board_id=nil)
  output.puts(card(card_id, board_id))
end

#list_boards(options = {}) ⇒ Object



14
15
16
# File 'lib/ki_trello/command.rb', line 14

def list_boards(options={})
  output.puts(boards(options))
end

#list_lists(board_id) ⇒ Object



30
31
32
# File 'lib/ki_trello/command.rb', line 30

def list_lists(board_id)
  output.puts(lists(board_id))
end

#lists(board_id) ⇒ Object



45
46
47
48
49
# File 'lib/ki_trello/command.rb', line 45

def lists(board_id)
  session = Session.new(@config)
  list_data = session.lists(board_id)
  MultiJson.dump(list_data, :pretty => @pretty)
end