mikras_utils 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
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