GitList
Repositories
Help
Report an Issue
rcm
Code
Commits
Branches
Tags
Search
Tree:
97a2c49
Branches
Tags
master
rcm
objects
rcm_service.rb
Converging the state as defined by config.
Dev
commited
97a2c49
at 2018-06-16 23:34:21
rcm_service.rb
Blame
History
Raw
module RCM class Service attr_accessor :name, :depends_file, :depends_package def ==(other) return false unless other.is_a?(RCM::Service) return false unless @name == other.name @depends_file.each do |dep_name, dep_object| other_depends = other.depends_file # Return false if dependencies are not same. return false unless other_depends.key?(dep_name) # Return false if any of the attributes does not match unless other_depends[dep_name].mode == dep_object.mode && other_depends[dep_name].owner == dep_object.owner && other_depends[dep_name].group == dep_object.group && other_depends[dep_name].path == dep_object.path return false end end @depends_package.each do |dep_name, dep_object| other_depends = other.depends_package unless other_depends[dep_name].name == dep_object.name && other_depends[dep_name].version == dep_object.version return false end end true end def initialize(name, depends_file, depends_package) @name = name @depends_file = depends_file @depends_package = depends_package end def to_s "Name = #{@name}\n" + "Depends on Files = #{@depends_file.values.join("\n")}" + "Depends on Packages = #{@depends_package.values.join("\n")}" end def dependencies_changed? return false if @depends_file.empty? && @depends_package.empty? # Check file dependencies only if there are some. if @depends_file && !@depends_file.empty? @depends_file.values.each do |f| return true if f.changed end end if @depends_package && !@depends_package.empty? @depends_package.values.each do |p| return true if p.changed end end end end end