prick 0.9.0 → 0.10.0
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 +4 -4
- data/exe/prick +1 -1
- data/lib/prick/builder.rb +10 -2
- data/lib/prick/rdbms.rb +5 -6
- data/lib/prick/version.rb +1 -1
- data/share/schema/schema.sql +0 -2
- data/share/schema/schema/prick/schema.sql +0 -2
- data/share/schema/schema/public/build.yml +0 -1
- metadata +2 -3
- data/share/schema/schema/public/schema.sql +0 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8fa13b0150bd8e2a403643947215116be13d78d33f053e15c766a258574cf79e
         | 
| 4 | 
            +
              data.tar.gz: 8b817641aff64c1ad488ce7562ac03a26c8d2144b3bf79999ef0af0ae910d298
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 5b0896b4d9d38984cee6f3a3d6481ed4b9607c54101a120aaa4344b701ed649fe7ef5ca25bcb1214aa1802700e80e0bee41aa47157039f4f2774825d0af04f44
         | 
| 7 | 
            +
              data.tar.gz: e19f8f4b6529bc1463f01fdcb5077ddfd55fe970ac062ef8fbbfd79dd31d1c8f74dcef759222cfdbaf4890158ef6b7993ddeb369d8c0499ead2265f20073769a
         | 
    
        data/exe/prick
    CHANGED
    
    
    
        data/lib/prick/builder.rb
    CHANGED
    
    | @@ -20,6 +20,8 @@ module Prick | |
| 20 20 | 
             
              # If a directory doesn't contain a build resource, the resources in the
         | 
| 21 21 | 
             
              # directory are built in alphabetic order
         | 
| 22 22 | 
             
              #
         | 
| 23 | 
            +
              # Build SQL scripts are executed with search path set to containing schema
         | 
| 24 | 
            +
              #
         | 
| 23 25 | 
             
              class Builder
         | 
| 24 26 | 
             
                attr_reader :database
         | 
| 25 27 | 
             
                attr_reader :directory
         | 
| @@ -57,11 +59,11 @@ module Prick | |
| 57 59 | 
             
                  Dir.chdir(dir) { yield(file) }
         | 
| 58 60 | 
             
                end
         | 
| 59 61 |  | 
| 60 | 
            -
                def do_sql(path)
         | 
| 62 | 
            +
                def do_sql(path, schema: nil)
         | 
| 61 63 | 
             
            #     puts "do_sql(#{path})"
         | 
| 62 64 | 
             
                  do_dir(path) { |file| 
         | 
| 63 65 | 
             
                    if @execute
         | 
| 64 | 
            -
                      Rdbms.exec_file(database.name, file, user: database.user) 
         | 
| 66 | 
            +
                      Rdbms.exec_file(database.name, file, user: database.user, schema: schema) 
         | 
| 65 67 | 
             
                    else
         | 
| 66 68 | 
             
                      @lines += IO.readlines(file).map(&:chomp)
         | 
| 67 69 | 
             
                    end
         | 
| @@ -159,6 +161,12 @@ module Prick | |
| 159 161 | 
             
                end
         | 
| 160 162 |  | 
| 161 163 | 
             
                def self.yml_file(directory) File.join(directory, "build") + ".yml" end
         | 
| 164 | 
            +
             | 
| 165 | 
            +
              protected
         | 
| 166 | 
            +
                def do_sql(path)
         | 
| 167 | 
            +
                  schema = Dir.getwd.sub(/^.*schema\/([^\/]+)(?:\/.*)?$/, '\1')
         | 
| 168 | 
            +
                  super(path, schema: schema)
         | 
| 169 | 
            +
                end
         | 
| 162 170 | 
             
              end
         | 
| 163 171 | 
             
            end
         | 
| 164 172 |  | 
    
        data/lib/prick/rdbms.rb
    CHANGED
    
    | @@ -4,16 +4,15 @@ require 'csv' | |
| 4 4 |  | 
| 5 5 | 
             
            module Prick
         | 
| 6 6 | 
             
              module Rdbms
         | 
| 7 | 
            -
            #   extend Ensure
         | 
| 8 | 
            -
             | 
| 9 7 | 
             
                ### EXECUTE SQL
         | 
| 10 8 |  | 
| 11 9 | 
             
                # Execute the SQL statement and return stdout as an array of tuples
         | 
| 12 | 
            -
                def self.exec_sql(db, sql, user: ENV['USER'])
         | 
| 10 | 
            +
                def self.exec_sql(db, sql, user: ENV['USER'], schema: nil)
         | 
| 11 | 
            +
                  schema ||= "public"
         | 
| 13 12 | 
             
                  stdout = Command.command %(
         | 
| 14 13 | 
             
                    {
         | 
| 15 14 | 
             
                      echo "set role #{user};"
         | 
| 16 | 
            -
                      echo "set search_path to  | 
| 15 | 
            +
                      echo "set search_path to #{schema};"
         | 
| 17 16 | 
             
                      cat <<'EOF'
         | 
| 18 17 | 
             
                      #{sql}
         | 
| 19 18 | 
             
            EOF
         | 
| @@ -23,8 +22,8 @@ EOF | |
| 23 22 | 
             
                end
         | 
| 24 23 |  | 
| 25 24 | 
             
                # Execute the given file and return stdout as an array of tuples
         | 
| 26 | 
            -
                def self.exec_file(db, file, user: ENV['USER'])
         | 
| 27 | 
            -
                  self.exec_sql(db, File.read(file), user: user)
         | 
| 25 | 
            +
                def self.exec_file(db, file, user: ENV['USER'], schema: nil)
         | 
| 26 | 
            +
                  self.exec_sql(db, File.read(file), user: user, schema: schema)
         | 
| 28 27 | 
             
                end
         | 
| 29 28 |  | 
| 30 29 | 
             
                # Execute the SQL statement and return the result as an array of record tuples
         | 
    
        data/lib/prick/version.rb
    CHANGED
    
    
    
        data/share/schema/schema.sql
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: prick
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.10.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Claus Rasmussen
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2021-02- | 
| 11 | 
            +
            date: 2021-02-11 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: shellopts
         | 
| @@ -133,7 +133,6 @@ files: | |
| 133 133 | 
             
            - share/schema/schema/prick/tables.sql
         | 
| 134 134 | 
             
            - share/schema/schema/public/.keep
         | 
| 135 135 | 
             
            - share/schema/schema/public/build.yml
         | 
| 136 | 
            -
            - share/schema/schema/public/schema.sql
         | 
| 137 136 | 
             
            - test_assorted
         | 
| 138 137 | 
             
            - test_feature
         | 
| 139 138 | 
             
            - test_refactor
         |