mikras_utils 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 46a6caa587baa5d73d1eee1af5a8cf764fc64e70be223f0b66aae6f1f41c6b91
4
- data.tar.gz: a13096682ea8ec58b36b0154922b7e56fa914e51a756eda8a0f434106e8b1cc2
3
+ metadata.gz: 5ed0f08aeac113ce1baaab8a61f252fc80db284204cf6092ef9a4396f0cbe90a
4
+ data.tar.gz: '09bbf4ada5bb30f2ccd9b69ce88fbedc77c36cdb6518a485a3d605c3df0df7c5'
5
5
  SHA512:
6
- metadata.gz: ac6234c5bcdbc6b2bcf1301c8a6b2c23c4a71a43abaeb47e37c3908126c3d8bfd25bafa439d7ec59a3070f6f5b4706edafc454191a4725d46ab487dad0bf1686
7
- data.tar.gz: 005a114875b9eedbbf2d87d20fa752d8fbde45fd18773bee8d7a7f16373e80d65f0d9a8b9546c3bff67b3c9f429a3119cef8d13e96dbaa916ca6bd19d3f6aa51
6
+ metadata.gz: 94326cd108d93deebb637cf69684679cd16d20e760c63ad56e60a0f2d2a3b7af4d5a3cfbe58900f705c7eb1066979bffebe6751a14ae916896a4eed83d394385
7
+ data.tar.gz: f19ba5e3ab24f4874a1a63d9ea8389bcc9a3a3c2e3faf557c497f9f59b4b5704f622d1542679c2ebd21355389652c3708d94e49420da6821b5390f767db4794a
data/lib/mikras.rb CHANGED
@@ -1,6 +1,17 @@
1
1
 
2
2
  require 'yaml'
3
3
 
4
+ module Find # Monkey patching standard library
5
+ def self.upfind(dir, file)
6
+ loop do
7
+ return dir if File.exist? File.join(dir, file)
8
+ return nil if dir == "/"
9
+ dir = File.dirname(dir)
10
+ end
11
+ return nil
12
+ end
13
+ end
14
+
4
15
  module Prick
5
16
  # FIXME Hardcoded to avoid dragging in the whole prick environment. Should be
6
17
  # kept in sync with Prick::PRICK_STATE_FILE
@@ -8,13 +19,20 @@ module Prick
8
19
  # TODO: Make prick.rb includable
9
20
  #
10
21
  PRICK_STATE_FILE = ".prick.state.yml"
22
+ PRICK_DIR = Find.upfind(Dir.getwd, PRICK_STATE_FILE)
23
+ PRICK_STATE_PATH = PRICK_DIR && File.join(PRICK_DIR, PRICK_STATE_FILE)
11
24
  end
12
25
 
13
26
  module Mikras
27
+ MIKRAS_LIBDIR = Prick::PRICK_DIR && File.join(Prick::PRICK_DIR, "lib")
28
+
29
+ # Add project-dir/lib to search path
30
+ $LOAD_PATH.unshift MIKRAS_LIBDIR if MIKRAS_LIBDIR
31
+
14
32
  # Find database/username. Called from scripts that may take a database and an
15
33
  # username argument. If the arguments are absent, the database/username is
16
34
  # initialized using the PRICK_DATABASE and PRICK_USERNAME environment
17
- # variables, and if they are also absent, the PRICK_STATE_FILE is read. If
35
+ # variables and if they are also absent, the PRICK_STATE_FILE is read. If
18
36
  # everything fails, the user's username is used as the database and username
19
37
  #
20
38
  def self.credentials(database_argument, username_argument = nil)
@@ -25,8 +43,8 @@ module Mikras
25
43
  database = ENV['PRICK_DATABASE']
26
44
  username = username_argument || ENV['PRICK_USERNAME'] || database
27
45
  else
28
- if File.exist?(Prick::PRICK_STATE_FILE)
29
- prick_state = YAML.load(IO.read Prick::PRICK_STATE_FILE)
46
+ if Prick::PRICK_STATE_PATH
47
+ prick_state = YAML.load(IO.read Prick::PRICK_STATE_PATH)
30
48
  database = prick_state["database"]
31
49
  username = prick_state["username"]
32
50
  else
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MikrasUtils
4
- VERSION = "0.5.0"
4
+ VERSION = "0.5.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mikras_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Claus Rasmussen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-14 00:00:00.000000000 Z
11
+ date: 2025-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg_conn