class Bibliography::BIC::Subject
Constants
- Data
Public Class Methods
all()
click to toggle source
Class methods
# File lib/bibliography/bic/subject.rb, line 15 def self.all Data.keys.map {|s| Subject.new(s) } end
new(code)
click to toggle source
Instance methods
# File lib/bibliography/bic/subject.rb, line 21 def initialize(code) @data = Data[code] || {} end
Public Instance Methods
children()
click to toggle source
# File lib/bibliography/bic/subject.rb, line 41 def children return [] unless valid? len = code.length @children ||= Data.keys.select{ |key| key.length > len && key[0..len-1] == code }.map {|s| Subject.new(s) } end
children?()
click to toggle source
# File lib/bibliography/bic/subject.rb, line 37 def children? !children.empty? end
code()
click to toggle source
# File lib/bibliography/bic/subject.rb, line 25 def code @data[:code] end
description()
click to toggle source
# File lib/bibliography/bic/subject.rb, line 29 def description @data[:description] end
parent()
click to toggle source
# File lib/bibliography/bic/subject.rb, line 53 def parent @parent ||= Subject.new(code[0]) if valid? && code.length > 1 end
parent?()
click to toggle source
# File lib/bibliography/bic/subject.rb, line 49 def parent? !parent.nil? && parent.valid? end
valid?()
click to toggle source
# File lib/bibliography/bic/subject.rb, line 33 def valid? !@data.empty? end