class CookbookClient::RecipeType

Attributes

id[RW]
name[RW]

Public Class Methods

all() click to toggle source
# File lib/cookbook_client/recipe_type.rb, line 9
def self.all
  response = CookbookClient.http.get('/api/v1/recipe_types')

  if response.status != 200
    raise StandardError, "Error #{response.status} - #{response.body}"
  end

  format_recipe_type recipe_types: JSON.parse(response.body)
end
find_by_name(name) click to toggle source
# File lib/cookbook_client/recipe_type.rb, line 19
def self.find_by_name(name)
  response = CookbookClient.http.get('/api/v1/recipe_types/name', name: name)

  if response.status != 200
    raise StandardError, "Error #{response.status} - #{response.body}"
  end

  format_recipe_type(recipe_types: JSON.parse(response.body)).first
end
format_recipe_type(recipe_types:) click to toggle source
# File lib/cookbook_client/recipe_type.rb, line 29
def self.format_recipe_type(recipe_types:)
  recipe_types = [recipe_types] unless recipe_types.is_a? Array
  recipe_types.map do |rp|
    new info: rp
  end
end
new(info:) click to toggle source
# File lib/cookbook_client/recipe_type.rb, line 4
def initialize(info:)
  @id = info['id']
  @name = info['name']
end