Class: ChefDK::Policyfile::StorageConfig
- Inherits:
-
Object
- Object
- ChefDK::Policyfile::StorageConfig
- Defined in:
- lib/chef-dk/policyfile/storage_config.rb
Instance Attribute Summary collapse
-
#cache_path ⇒ Object
Returns the value of attribute cache_path.
-
#policyfile_filename ⇒ Object
readonly
Returns the value of attribute policyfile_filename.
-
#policyfile_lock_filename ⇒ Object
readonly
Returns the value of attribute policyfile_lock_filename.
-
#relative_paths_root ⇒ Object
Returns the value of attribute relative_paths_root.
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ StorageConfig
constructor
A new instance of StorageConfig.
- #policyfile_expanded_path ⇒ Object
- #policyfile_lock_expanded_path ⇒ Object
- #use_policyfile(policyfile_filename) ⇒ Object
- #use_policyfile_lock(policyfile_lock_filename) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ StorageConfig
Returns a new instance of StorageConfig.
32 33 34 35 36 37 38 |
# File 'lib/chef-dk/policyfile/storage_config.rb', line 32 def initialize( = {}) @relative_paths_root = Dir.pwd @cache_path = CookbookOmnifetch.storage_path @policyfile_filename = "<< Policyfile filename not specified >>" @policyfile_lock_filename = "<< Policyfile lock filename not specified >>" () end |
Instance Attribute Details
#cache_path ⇒ Object
Returns the value of attribute cache_path.
27 28 29 |
# File 'lib/chef-dk/policyfile/storage_config.rb', line 27 def cache_path @cache_path end |
#policyfile_filename ⇒ Object (readonly)
Returns the value of attribute policyfile_filename.
29 30 31 |
# File 'lib/chef-dk/policyfile/storage_config.rb', line 29 def policyfile_filename @policyfile_filename end |
#policyfile_lock_filename ⇒ Object (readonly)
Returns the value of attribute policyfile_lock_filename.
30 31 32 |
# File 'lib/chef-dk/policyfile/storage_config.rb', line 30 def policyfile_lock_filename @policyfile_lock_filename end |
#relative_paths_root ⇒ Object
Returns the value of attribute relative_paths_root.
26 27 28 |
# File 'lib/chef-dk/policyfile/storage_config.rb', line 26 def relative_paths_root @relative_paths_root end |
Instance Method Details
#policyfile_expanded_path ⇒ Object
60 61 62 |
# File 'lib/chef-dk/policyfile/storage_config.rb', line 60 def File.(policyfile_filename, relative_paths_root) end |
#policyfile_lock_expanded_path ⇒ Object
64 65 66 |
# File 'lib/chef-dk/policyfile/storage_config.rb', line 64 def File.(policyfile_lock_filename, relative_paths_root) end |
#use_policyfile(policyfile_filename) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/chef-dk/policyfile/storage_config.rb', line 40 def use_policyfile(policyfile_filename) if policyfile_filename.end_with?(".lock.json") return use_policyfile_lock(policyfile_filename) end unless policyfile_filename.end_with?(".rb") raise InvalidPolicyfileFilename, "Policyfile filenames must end with `.rb' extension (you gave: `#{policyfile_filename}')" end @policyfile_filename = policyfile_filename @policyfile_lock_filename = policyfile_filename.sub(/\.rb\Z/, '.lock.json') @relative_paths_root = File.dirname(policyfile_filename) self end |
#use_policyfile_lock(policyfile_lock_filename) ⇒ Object
53 54 55 56 57 58 |
# File 'lib/chef-dk/policyfile/storage_config.rb', line 53 def use_policyfile_lock(policyfile_lock_filename) @policyfile_lock_filename = policyfile_lock_filename @policyfile_filename = policyfile_lock_filename.sub(/\.lock\.json\Z/, '.rb') @relative_paths_root = File.dirname(policyfile_lock_filename) self end |