Class: Pubid::Ieee::Parser
- Inherits:
-
Parslet::Parser
- Object
- Parslet::Parser
- Pubid::Ieee::Parser
- Defined in:
- lib/pubid/ieee/parser.rb
Instance Method Summary collapse
- #iso_parser ⇒ Object
-
#parameters(atom, without_dual_pubids: false, skip_parameters: false) ⇒ Object
Hack to exclude dual_pubids parsing for revisions and supersedes otherwise extra identifiers parsed as dual PubIDs to the main identifier.
Instance Method Details
#iso_parser ⇒ Object
414 415 416 |
# File 'lib/pubid/ieee/parser.rb', line 414 def iso_parser Pubid::Iso::Parser.new end |
#parameters(atom, without_dual_pubids: false, skip_parameters: false) ⇒ Object
Hack to exclude dual_pubids parsing for revisions and supersedes otherwise extra identifiers parsed as dual PubIDs to the main identifier
226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 |
# File 'lib/pubid/ieee/parser.rb', line 226 def parameters(atom, without_dual_pubids: false, skip_parameters: false) atom >> ((draft_status.as(:draft_status) >> space).maybe >> (str("Draft ").maybe >> type.as(:type) >> space.maybe).maybe).as(:type_status) >> number_prefix >> number >> ( # IEEE P2410-D4, July 2019 (draft | part_subpart_year.maybe >> corrigendum.maybe >> draft.maybe >> iso_amendment.maybe ) >> # iso_stage_part_iteration.maybe >> # ((str("-") | str("/") | str("_")) >> (str("D") >> digits).absent? >> # (iso_parser.typed_stage.as(:stage) | iso_parser.stage.as(:stage))) >> digits.as(:iteration).maybe >> if skip_parameters str("") else publication_date.maybe end >> if skip_parameters str("") else edition.as(:edition).maybe end >> # dual-PubIDs ((without_dual_pubids && str("")) || dual_pubids.maybe) >> if skip_parameters str("") else additional_parameters.maybe end ).as(:parameters) end |