class Kondate::RoleFile
Attributes
dir[R]
ext[R]
role[R]
Public Class Methods
explore(dir, role, ext = nil)
click to toggle source
# File lib/kondate/role_file.rb, line 7 def self.explore(dir, role, ext = nil) self.new(dir, role, ext).explore end
new(dir, role, ext = nil)
click to toggle source
# File lib/kondate/role_file.rb, line 11 def initialize(dir, role, ext = nil) @dir = dir @role = role @ext = ext end
Public Instance Methods
explore()
click to toggle source
Returns readable role file exploring possible role files. For example, if `role` is `myapp-web-staging`, this method explores files as
-
myapp-web-staging.yml
-
myapp-web-base.yml
-
myapp-web.yml
-
myapp-base.yml
-
myapp.yml
-
base.yml
@return [String] detected file path or last candidate path
# File lib/kondate/role_file.rb, line 28 def explore paths = if Config.explore_role_files? possible_paths else [get_path] end paths.find {|path| File.readable?(path) } || paths.last end
Private Instance Methods
get_path(role = nil)
click to toggle source
# File lib/kondate/role_file.rb, line 39 def get_path(role = nil) "#{File.join(dir, role || @role)}#{ext}" end
possible_paths()
click to toggle source
# File lib/kondate/role_file.rb, line 43 def possible_paths possible_roles.map {|role| get_path(role) } end
possible_roles()
click to toggle source
# File lib/kondate/role_file.rb, line 47 def possible_roles parts = role.split('-') roles = [] roles << 'base' roles << parts.shift parts.each do |part| last = roles.last roles << "#{last}-base" roles << "#{last}-#{part}" end roles.reverse! end