class RoxClient::RSpec::Project
Attributes
api_id[RW]
TODO: remove project name once API v0 is dead
category[RW]
TODO: remove project name once API v0 is dead
name[RW]
TODO: remove project name once API v0 is dead
tickets[RW]
TODO: remove project name once API v0 is dead
version[RW]
TODO: remove project name once API v0 is dead
Public Class Methods
new(options = {})
click to toggle source
# File lib/rox-client-rspec/project.rb, line 8 def initialize options = {} update options end
Public Instance Methods
update(options = {})
click to toggle source
# File lib/rox-client-rspec/project.rb, line 12 def update options = {} %w(name version api_id category).each do |k| instance_variable_set "@#{k}", options[k.to_sym] ? options[k.to_sym].to_s : nil if options.key? k.to_sym end @tags = wrap(options[:tags]).compact if options.key? :tags @tickets = wrap(options[:tickets]).compact if options.key? :tickets end
validate!()
click to toggle source
# File lib/rox-client-rspec/project.rb, line 20 def validate! required = { "name" => @name, "version" => @version, "API identifier" => @api_id } missing = required.inject([]){ |memo,(k,v)| v.to_s.strip.length <= 0 ? memo << k : memo } raise PayloadError.new("Missing project options: #{missing.join ', '}") if missing.any? end
Private Instance Methods
wrap(a)
click to toggle source
# File lib/rox-client-rspec/project.rb, line 28 def wrap a a.kind_of?(Array) ? a : [ a ] end