Class: UniProp::PropertyMetaData
- Inherits:
-
Object
- Object
- UniProp::PropertyMetaData
- Defined in:
- lib/uniprop/inspects.rb,
lib/uniprop/metadata_processor.rb
Instance Attribute Summary collapse
-
#metadata_path ⇒ Object
readonly
Returns the value of attribute metadata_path.
-
#prop_data ⇒ Object
readonly
Returns the value of attribute prop_data.
-
#raw_metadata ⇒ Object
readonly
Returns the value of attribute raw_metadata.
Instance Method Summary collapse
-
#find_raw_version_metadata(version_name) ⇒ Hash<String,Object>
メタデータから、version_nameと同じweightのバージョンに関する記述を取得.
- #find_version_property_metadata(version) ⇒ Hash<String,Object>
- #has_raw_version_metadata?(version_name) ⇒ Boolean
-
#initialize(prop_data, metadata_path) ⇒ PropertyMetaData
constructor
A new instance of PropertyMetaData.
- #inspect ⇒ Object
- #raw_version_metadatas ⇒ Array<Hash<String,Object>>
Constructor Details
#initialize(prop_data, metadata_path) ⇒ PropertyMetaData
Returns a new instance of PropertyMetaData.
514 515 516 517 518 519 520 521 522 523 |
# File 'lib/uniprop/metadata_processor.rb', line 514 def initialize(prop_data, ) @prop_data = prop_data @metadata_path = if @metadata_path.exist? @raw_metadata = JSON.parse(File.read(@metadata_path)) else raise FileNotFoundError, "#{@metadata_path} is not found." end end |
Instance Attribute Details
#metadata_path ⇒ Object (readonly)
Returns the value of attribute metadata_path.
510 511 512 |
# File 'lib/uniprop/metadata_processor.rb', line 510 def @metadata_path end |
#prop_data ⇒ Object (readonly)
Returns the value of attribute prop_data.
510 511 512 |
# File 'lib/uniprop/metadata_processor.rb', line 510 def prop_data @prop_data end |
#raw_metadata ⇒ Object (readonly)
Returns the value of attribute raw_metadata.
510 511 512 |
# File 'lib/uniprop/metadata_processor.rb', line 510 def @raw_metadata end |
Instance Method Details
#find_raw_version_metadata(version_name) ⇒ Hash<String,Object>
メタデータから、version_nameと同じweightのバージョンに関する記述を取得
533 534 535 536 537 538 539 540 541 542 |
# File 'lib/uniprop/metadata_processor.rb', line 533 def (version_name) weight = Version.name_to_weight(version_name) result = .find { Version.name_to_weight(_1["version_name"])==weight } if result return result else raise MetaDataNotFoundError, "metadata for #{version_name} is not found." end end |
#find_version_property_metadata(version) ⇒ Hash<String,Object>
552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 |
# File 'lib/uniprop/metadata_processor.rb', line 552 def (version) @version_property_metadatas ||= [] vpm = @version_property_metadatas.find { _1.version==version } return vpm if vpm # プロパティ中心のメタデータが存在しない場合、生成を試みる if !(version.version_name) prop_data.(, version) end vpm = VersionPropertyMetaData.new(version, (version.version_name)) @version_property_metadatas << vpm vpm end |
#has_raw_version_metadata?(version_name) ⇒ Boolean
544 545 546 547 548 |
# File 'lib/uniprop/metadata_processor.rb', line 544 def (version_name) !!(version_name) rescue false end |
#inspect ⇒ Object
98 99 100 |
# File 'lib/uniprop/inspects.rb', line 98 def inspect "#<#{self.class.name}>" end |
#raw_version_metadatas ⇒ Array<Hash<String,Object>>
526 527 528 |
# File 'lib/uniprop/metadata_processor.rb', line 526 def @raw_version_metadatas ||= .sort { Version.name_to_weight(_1["version_name"]) } end |