module SelfConsciousness
Public Class Methods
clear()
click to toggle source
# File lib/self_consciousness.rb, line 24 def self.clear without_self_identity do conscious = Moneta.new :File, dir: '.self_consciousness' conscious['dependencies'] = [] end end
introspect()
click to toggle source
# File lib/self_consciousness.rb, line 31 def self.introspect without_self_identity do latest = Moneta.new :File, dir: '.self_identity' conscious = Moneta.new :File, dir: '.self_consciousness' conscious['removals'] = conscious['dependencies'] - latest['dependencies'] conscious['additions'] = latest['dependencies'] - conscious['dependencies'] end end
normalize()
click to toggle source
# File lib/self_consciousness.rb, line 17 def self.normalize without_self_identity do FileUtils.mkdir_p '.self_consciousness' FileUtils.cp '.self_identity/dependencies', '.self_consciousness/dependencies' end end
report()
click to toggle source
# File lib/self_consciousness.rb, line 40 def self.report without_self_identity do introspect conscious = Moneta.new :File, dir: '.self_consciousness' conscious['removals'].each { |item| puts "- #{item.to_s}".colorize(:red) } conscious['additions'].each { |item| puts "+ #{item.to_s}".colorize(:green) } puts 'Nothing has changed' if conscious['removals'].concat(conscious['additions']).empty? end end
without_self_identity() { || ... }
click to toggle source
# File lib/self_consciousness.rb, line 6 def self.without_self_identity begin previously_enabled = SelfIdentity.enabled? SelfIdentity.disable yield if block_given? SelfIdentity.enable if previously_enabled rescue NameError => e yield if block_given? end end