Sha256: 2ee20d0a8e37c5045ee0d965888295cac3403dc0fd69bbe31adeeccd7f1a42a7
Contents?: true
Size: 706 Bytes
Versions: 2
Compression:
Stored size: 706 Bytes
Contents
# frozen_string_literal: true # An instrument can be assigned to a staff. class HeadMusic::Instrument include HeadMusic::Named INSTRUMENTS = { violin: { name: 'violin', family: :string, default_clef: :treble, }, piano: { name: 'piano', family: :string, default_system: %i[treble bass], }, }.freeze def self.get(name) get_by_name(name) end def initialize(name) @name = name.to_s end def data @data ||= INSTRUMENTS[hash_key] end def family data[:family] end def default_system data[:default_system] end def default_clef data[:default_clef] end def ==(other) to_s == other.to_s end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
head_music-0.24.0 | lib/head_music/instrument.rb |
head_music-0.23.4 | lib/head_music/instrument.rb |