Class: ParsePackwerk::Package
- Inherits:
-
T::Struct
- Object
- T::Struct
- ParsePackwerk::Package
- Extended by:
- T::Sig
- Defined in:
- lib/parse_packwerk/package.rb
Class Method Summary collapse
Instance Method Summary collapse
- #directory ⇒ Object
- #enforces_dependencies? ⇒ Boolean
- #enforces_layers? ⇒ Boolean
- #enforces_privacy? ⇒ Boolean
- #public_directory ⇒ Object
- #yml ⇒ Object
Class Method Details
.directory(package_name) ⇒ Object
41 42 43 |
# File 'lib/parse_packwerk/package.rb', line 41 def self.directory(package_name) Pathname.new(package_name).cleanpath end |
.from(pathname) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/parse_packwerk/package.rb', line 20 def self.from(pathname) package_loaded_yml = YAML.load_file(pathname) || {} package_name = pathname.dirname.cleanpath.to_s # Capture the original key order from the YAML file original_keys = package_loaded_yml.is_a?(Hash) ? package_loaded_yml.keys : [] new( name: package_name, enforce_dependencies: package_loaded_yml[ENFORCE_DEPENDENCIES], enforce_privacy: package_loaded_yml[ENFORCE_PRIVACY] || false, enforce_layers: package_loaded_yml[ENFORCE_LAYERS] || false, public_path: package_loaded_yml[PUBLIC_PATH] || DEFAULT_PUBLIC_PATH, metadata: package_loaded_yml[METADATA] || {}, dependencies: package_loaded_yml[DEPENDENCIES] || [], config: package_loaded_yml, violations: PackageTodo.from(PackageTodo.yml(directory(package_name))).violations, original_key_order: original_keys ) end |
Instance Method Details
#directory ⇒ Object
51 52 53 |
# File 'lib/parse_packwerk/package.rb', line 51 def directory self.class.directory(name) end |
#enforces_dependencies? ⇒ Boolean
61 62 63 |
# File 'lib/parse_packwerk/package.rb', line 61 def enforces_dependencies? enforce_dependencies end |
#enforces_layers? ⇒ Boolean
71 72 73 |
# File 'lib/parse_packwerk/package.rb', line 71 def enforces_layers? enforce_layers end |
#enforces_privacy? ⇒ Boolean
66 67 68 |
# File 'lib/parse_packwerk/package.rb', line 66 def enforces_privacy? enforce_privacy end |
#public_directory ⇒ Object
56 57 58 |
# File 'lib/parse_packwerk/package.rb', line 56 def public_directory directory.join(public_path).cleanpath end |
#yml ⇒ Object
46 47 48 |
# File 'lib/parse_packwerk/package.rb', line 46 def yml Pathname.new(name).join(PACKAGE_YML_NAME).cleanpath end |