Module: CodeApe
- Defined in:
- lib/code_ape.rb,
lib/code_ape/class.rb,
lib/code_ape/group.rb,
lib/code_ape/section.rb,
lib/code_ape/version.rb,
lib/code_ape/division.rb,
lib/code_ape/constants.rb,
lib/code_ape/subsection.rb
Overview
All CodeApe functionality
Defined Under Namespace
Classes: Class, Division, Group, Section, Subsection
Constant Summary collapse
- REGEX_CLASS =
Regex to parse ape code class (notably in ape)
-
/\A(\d{2})\.?(\d{2})([A-Z])\z/i
- CLASSES =
List of ape code classes
-
NAF_REV2[:classes].map { |k, v| Class.new(k, v[:label], v[:section], v[:subsection], v[:division], v[:group]) }.freeze
- REGEX_GROUP =
Regex to parse ape code group (notably in ape)
-
/\A(\d{2})\.?(\d{2})\z/i
- GROUPS =
List of ape code groups
-
NAF_REV2[:groups].map { |k, v| Group.new(k, v) }.freeze
- SECTIONS =
List of ape code sections
-
NAF_REV2[:sections].map { |k, v| Section.new(k, v) }.freeze
- VERSION =
The current version of code_ape
-
"3.0.0".freeze
- REGEX_DIVISION =
Regex to parse ape code division (notably in ape)
-
/\A(\d{2})\.?(\d{1})\z/i
- DIVISIONS =
List of ape code divisions
-
NAF_REV2[:divisions].map { |k, v| Division.new(k, v) }.freeze
- NAF_REV2 =
The content of naf_rev2.json (all ape code data)
-
JSON.parse(File.read(File.join(File.dirname(__FILE__), "../naf_rev2.json")), symbolize_names: true)
- REGEX_SUBSECTION =
Regex to parse ape code subsection (notably in ape)
-
/\A(\d{2})\z/i
- SUBSECTIONS =
List of ape code subsections
-
NAF_REV2[:subsections].map { |k, v| Subsection.new(k, v) }.freeze
Class Method Summary collapse
-
.ape(code) ⇒ CodeApe::Subsection, ...
Takes a ape code and returns data if possible.
-
.section(code) ⇒ CodeApe::Section?
Takes a section code and returns data if possible.
Class Method Details
.ape(code) ⇒ CodeApe::Subsection, ...
Takes a ape code and returns data if possible
16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/code_ape.rb', line 16 def self.ape(code) upcased_code = code&.upcase case upcased_code when REGEX_SUBSECTION SUBSECTIONS.find { |e| e.key == upcased_code } when REGEX_DIVISION DIVISIONS.find { |e| e.key == upcased_code || e.key.delete(".") == upcased_code } when REGEX_GROUP GROUPS.find { |e| e.key == upcased_code || e.key.delete(".") == upcased_code } when REGEX_CLASS CLASSES.find { |e| e.key == upcased_code || e.key.delete(".") == upcased_code } end end |
.section(code) ⇒ CodeApe::Section?
Takes a section code and returns data if possible
34 35 36 |
# File 'lib/code_ape.rb', line 34 def self.section(code) SECTIONS.find { |e| e.key == code&.upcase } end |