Class: RoxClient::RSpec::Project
- Inherits:
-
Object
- Object
- RoxClient::RSpec::Project
- Defined in:
- lib/rox-client-rspec/project.rb
Instance Attribute Summary collapse
-
#api_id ⇒ Object
TODO: remove project name once API v0 is dead.
-
#category ⇒ Object
TODO: remove project name once API v0 is dead.
-
#name ⇒ Object
TODO: remove project name once API v0 is dead.
-
#tags ⇒ Object
TODO: remove project name once API v0 is dead.
-
#tickets ⇒ Object
TODO: remove project name once API v0 is dead.
-
#version ⇒ Object
TODO: remove project name once API v0 is dead.
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Project
constructor
A new instance of Project.
- #update(options = {}) ⇒ Object
- #validate! ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Project
Returns a new instance of Project.
8 9 10 |
# File 'lib/rox-client-rspec/project.rb', line 8 def initialize = {} update end |
Instance Attribute Details
#api_id ⇒ Object
TODO: remove project name once API v0 is dead
6 7 8 |
# File 'lib/rox-client-rspec/project.rb', line 6 def api_id @api_id end |
#category ⇒ Object
TODO: remove project name once API v0 is dead
6 7 8 |
# File 'lib/rox-client-rspec/project.rb', line 6 def category @category end |
#name ⇒ Object
TODO: remove project name once API v0 is dead
6 7 8 |
# File 'lib/rox-client-rspec/project.rb', line 6 def name @name end |
#tags ⇒ Object
TODO: remove project name once API v0 is dead
6 7 8 |
# File 'lib/rox-client-rspec/project.rb', line 6 def @tags end |
#tickets ⇒ Object
TODO: remove project name once API v0 is dead
6 7 8 |
# File 'lib/rox-client-rspec/project.rb', line 6 def tickets @tickets end |
#version ⇒ Object
TODO: remove project name once API v0 is dead
6 7 8 |
# File 'lib/rox-client-rspec/project.rb', line 6 def version @version end |
Instance Method Details
#update(options = {}) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/rox-client-rspec/project.rb', line 12 def update = {} %w(name version api_id category).each do |k| instance_variable_set "@#{k}", [k.to_sym] ? [k.to_sym].to_s : nil if .key? k.to_sym end @tags = wrap([:tags]).compact if .key? :tags @tickets = wrap([:tickets]).compact if .key? :tickets end |
#validate! ⇒ Object
20 21 22 23 24 |
# 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 |