class Troo::Commands::Add
Attributes
id[R]
value[R]
Public Class Methods
dispatch(value, id = nil, options = {})
click to toggle source
@param [] @param [, NilClass] @param [Hash] @return [String]
# File lib/troo/cli/commands/add.rb, line 11 def dispatch(value, id = nil, options = {}) new(value, id, options).add end
new(value, id = nil, options = {})
click to toggle source
@param [] @param [, NilClass] @param [Hash] @return [Troo::Commands::Add]
# File lib/troo/cli/commands/add.rb, line 20 def initialize(value, id = nil, options = {}) @value, @id, @options = value, id, options end
Public Instance Methods
add()
click to toggle source
@return [String]
# File lib/troo/cli/commands/add.rb, line 25 def add return success if create error end
Private Instance Methods
create()
click to toggle source
# File lib/troo/cli/commands/add.rb, line 45 def create return false if no_type? if type == :board @create ||= remote.with(value) else return false if no_local? @create ||= remote.with(resource.external_id, value) end end
defaults()
click to toggle source
# File lib/troo/cli/commands/add.rb, line 88 def defaults { type: :none } end
error()
click to toggle source
# File lib/troo/cli/commands/add.rb, line 36 def error return 'Could not create resource.' if no_type? "#{klass} could not be created." end
klass()
click to toggle source
# File lib/troo/cli/commands/add.rb, line 72 def klass type.to_s.capitalize end
local()
click to toggle source
# File lib/troo/cli/commands/add.rb, line 68 def local Object.const_get('Troo::' + mapping.fetch(type)) end
mapping()
click to toggle source
# File lib/troo/cli/commands/add.rb, line 94 def mapping { comment: 'Card', board: 'Board', list: 'Board', card: 'List' } end
no_local?()
click to toggle source
# File lib/troo/cli/commands/add.rb, line 60 def no_local? resource.nil? end
no_type?()
click to toggle source
# File lib/troo/cli/commands/add.rb, line 76 def no_type? type == :none end
options()
click to toggle source
# File lib/troo/cli/commands/add.rb, line 84 def options defaults.merge!(@options) end
quoted()
click to toggle source
# File lib/troo/cli/commands/add.rb, line 41 def quoted type == :comment ? nil : "'#{value}'" end
remote()
click to toggle source
# File lib/troo/cli/commands/add.rb, line 56 def remote Object.const_get('Troo::Remote::Persistence::' + klass) end
resource()
click to toggle source
# File lib/troo/cli/commands/add.rb, line 64 def resource @resource ||= local.retrieve(id) end
success()
click to toggle source
# File lib/troo/cli/commands/add.rb, line 32 def success ['New', type.to_s, quoted, 'created.'].compact.join(' ') end
type()
click to toggle source
# File lib/troo/cli/commands/add.rb, line 80 def type options.fetch(:type) end