class Ravelry::Needle

The API endpoint for fetching `Needle` objects can be found in {Ravelry::Needles}.

A `Needle` object can be created by several different endpoints but is currently only implemented in {Ravelry::Misc}.

Attributes

comment[R]
data[R]
description[R]
hook[R]
id[R]
length[R]
metric[R]
metric_name[R]
name[R]
needle_size_id[R]
needle_type[R]
needle_type_id[R]
pretty_metric[R]
type_name[R]
us[R]

Public Class Methods

new(data) click to toggle source
# File lib/ravelry/needle.rb, line 9
def initialize(data)
  @data = data
  @id = data[:id]
  # Crochet hook size.
  # Corresponding to this metric size, if one exists.
  #
  @hook = data[:hook]
  # US size number corresponding to this metric size, if one exists
  #
  @us = data[:us]
  # Combination of US and metric.
  # Example: "US 4  - 3.5 mm"
  #
  @name = data[:name]
  # Metric designation for hook size.
  #
  @metric = data[:metric]
  # Metric size for knitting needles (Integer or Float).
  #
  @metric_name = data[:metric_name]
  # Metric size for knitting needles (pretty format).
  #
  @pretty_metric = data[:pretty_metric]

  @description = data[:description]
  @length = data[:length]
  @needle_size_id = data[:needle_size_id]
  @type_name = data[:type_name]
  @needle_type = data[:needle_type]
  @needle_type_id = data[:needle_type_id]
  @comment = data[:comment]
end

Public Instance Methods

crochet?() click to toggle source
# File lib/ravelry/needle.rb, line 70
def crochet?
  type == 'crochet'
end
knitting?() click to toggle source
# File lib/ravelry/needle.rb, line 66
def knitting?
  type == 'knitting'
end
metric_string() click to toggle source

Takes the metric size and turns it into a string. Example: “3.5 mm”

# File lib/ravelry/needle.rb, line 52
def metric_string
  "#{@metric} mm"
end
type() click to toggle source

Sets @type to 'knitting' or 'crochet'.

# File lib/ravelry/needle.rb, line 58
def type
  if hook || data[:crochet]
    'crochet'
  else
    'knitting'
  end
end
us_string() click to toggle source

Takes the US size and turns it into a string. Example: “US 4”

# File lib/ravelry/needle.rb, line 45
def us_string
  "US #{@us}".strip
end