Module: Classifieds::Utils
Instance Method Summary collapse
- #classifieds ⇒ Object
- #classifieds_repository? ⇒ Boolean
- #decrypt_data(data) ⇒ Object
- #decrypted?(file) ⇒ Boolean
- #encrypt_data(data) ⇒ Object
- #encrypted?(file) ⇒ Boolean
- #keygenerated? ⇒ Boolean
- #root_directory ⇒ Object
Instance Method Details
#classifieds ⇒ Object
5 6 7 |
# File 'lib/classifieds/utils.rb', line 5 def classifieds Parser.parse(File.read(File.join(root_directory, SOURCE_FILE)).chomp) end |
#classifieds_repository? ⇒ Boolean
9 10 11 |
# File 'lib/classifieds/utils.rb', line 9 def classifieds_repository? !!root_directory end |
#decrypt_data(data) ⇒ Object
38 39 40 41 |
# File 'lib/classifieds/utils.rb', line 38 def decrypt_data(data) encryptor = Encryptor.new(@password, root_directory.split('/').pop) encryptor.decrypt(data) end |
#decrypted?(file) ⇒ Boolean
49 50 51 |
# File 'lib/classifieds/utils.rb', line 49 def decrypted?(file) !encrypted?(file) end |
#encrypt_data(data) ⇒ Object
33 34 35 36 |
# File 'lib/classifieds/utils.rb', line 33 def encrypt_data(data) encryptor = Encryptor.new(@password, root_directory.split('/').pop) encryptor.encrypt(data) end |
#encrypted?(file) ⇒ Boolean
43 44 45 46 47 |
# File 'lib/classifieds/utils.rb', line 43 def encrypted?(file) File.open(file, 'r') do |f| !!f.read(@prefix.size).to_s.match(/\A#{@prefix}\z/) end end |
#keygenerated? ⇒ Boolean
13 14 15 |
# File 'lib/classifieds/utils.rb', line 13 def keygenerated? File.exists?(File.join(root_directory, PUBLIC_KEY_PATH)) && File.exists?(File.join(root_directory, COMMON_KEY_PATH)) end |
#root_directory ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/classifieds/utils.rb', line 17 def root_directory @root_directory ||= begin target_directory = File.(Dir.pwd) until target_directory == '/' do Find.find(target_directory) do |path| return target_directory if path =~ %r|/#{Regexp.escape(SOURCE_FILE)}$| Find.prune if path =~ %r|^#{target_directory}/| end target_directory = File.('..', target_directory) end nil end end |