squared 0.0.6 → 0.0.7
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/README.ruby.md +30 -8
- data/lib/squared/common/base.rb +14 -8
- data/lib/squared/common/class.rb +5 -1
- data/lib/squared/common/format.rb +48 -45
- data/lib/squared/common/shell.rb +3 -3
- data/lib/squared/common/system.rb +35 -3
- data/lib/squared/common/task.rb +1 -9
- data/lib/squared/config.rb +3 -4
- data/lib/squared/version.rb +1 -1
- data/lib/squared/workspace/application.rb +79 -83
- data/lib/squared/workspace/project/base.rb +100 -57
- data/lib/squared/workspace/project/git.rb +21 -21
- data/lib/squared/workspace/project/node.rb +62 -52
- data/lib/squared/workspace/project/python.rb +9 -16
- data/lib/squared/workspace/project/ruby.rb +211 -63
- data/lib/squared/workspace/project.rb +4 -0
- data/lib/squared/workspace/repo.rb +20 -16
- data/lib/squared/workspace/series.rb +14 -12
- data/lib/squared/workspace.rb +3 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 45b563863fb21461ec7c629dc01a197485c15c8a26239db170a91970a6cade9a
         | 
| 4 | 
            +
              data.tar.gz: f7051ae9101dbced194185f5731c6bd028ccd3e56dfbbab047a7370c220412de
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 74adde082a170b07b65ccc258b94681826c9fdbda9120a39128f9236d4215c904a7dac32451428e92cdfbabd354e6dce810447df03660169b34783d02a808978
         | 
| 7 | 
            +
              data.tar.gz: c50ee1d27e5be607e84fd82bd4d15e4d3ec8e4d12acd4619ef1421d2206e313205e8aaf849965e6140d6e5873848001d2c55d00f0335f8274ef6c95213ec7990
         | 
    
        data/README.ruby.md
    CHANGED
    
    | @@ -6,12 +6,12 @@ | |
| 6 6 |  | 
| 7 7 | 
             
            ## Prerequisites
         | 
| 8 8 |  | 
| 9 | 
            -
            * Ruby 2.4 | 
| 9 | 
            +
            * Ruby 2.4
         | 
| 10 10 |  | 
| 11 11 | 
             
            ### Optional
         | 
| 12 12 |  | 
| 13 13 | 
             
            * [Repo](https://source.android.com/docs/setup/reference/repo)
         | 
| 14 | 
            -
            * Python 3.6 | 
| 14 | 
            +
            * Python 3.6
         | 
| 15 15 |  | 
| 16 16 | 
             
            ```sh
         | 
| 17 17 | 
             
            mkdir -p ~/.bin
         | 
| @@ -40,9 +40,10 @@ require "squared/workspace/repo" # Repo (optional) | |
| 40 40 |  | 
| 41 41 | 
             
            Workspace::Application
         | 
| 42 42 | 
             
              .new("squared") # REPO_HOME
         | 
| 43 | 
            -
              .repo("https://github.com/anpham6/squared-repo", "nightly", run: "build") # Repo (optional)
         | 
| 43 | 
            +
              .repo("https://github.com/anpham6/squared-repo", "nightly", run: "build", ref: :node) # Repo (optional)
         | 
| 44 44 | 
             
              .run("rake install", ref: :ruby)
         | 
| 45 | 
            -
              . | 
| 45 | 
            +
              .depend(false, group: "default")
         | 
| 46 | 
            +
              .clean("rake clean", group: "default")
         | 
| 46 47 | 
             
              .clean(["build/"], group: "app")
         | 
| 47 48 | 
             
              .add("pathname", run: "rake compile", copy: "rake install", test: "rake test", group: "default", ref: :ruby) # Ruby (with C extensions)
         | 
| 48 49 | 
             
              .add("optparse", doc: "rake rdoc", group: "default") # Uses bundler/gem_tasks (without C extensions)
         | 
| @@ -55,8 +56,10 @@ Workspace::Application | |
| 55 56 | 
             
              .build(default: "status", parallel: ["pull", "fetch", "rebase", "copy", "clean"]) do |workspace|
         | 
| 56 57 | 
             
                workspace
         | 
| 57 58 | 
             
                  .enable_aixterm
         | 
| 58 | 
            -
                  .style( | 
| 59 | 
            -
             | 
| 59 | 
            +
                  .style({
         | 
| 60 | 
            +
                    banner: ["bright_cyan", "bold", "bright_black!"],
         | 
| 61 | 
            +
                    border: "bright_white"
         | 
| 62 | 
            +
                  })
         | 
| 60 63 | 
             
              end
         | 
| 61 64 | 
             
            # pathname  = /workspaces/pathname
         | 
| 62 65 | 
             
            # optparse  = /workspaces/optparse
         | 
| @@ -66,9 +69,11 @@ Workspace::Application | |
| 66 69 | 
             
            # pir       = /workspaces/pi-r
         | 
| 67 70 | 
             
            # squared   = /workspaces/squared
         | 
| 68 71 |  | 
| 69 | 
            -
             | 
| 72 | 
            +
            Workspace::Application
         | 
| 70 73 | 
             
              .new("squared")
         | 
| 71 | 
            -
              .group("default", "ruby", run: "rake build", copy: "rake install", clean: "rake clean",  | 
| 74 | 
            +
              .group("default", "ruby", run: "rake build", copy: "rake install", clean: "rake clean", override: {
         | 
| 75 | 
            +
                pathname: { run: "rake compile" }
         | 
| 76 | 
            +
              })
         | 
| 72 77 | 
             
              .build
         | 
| 73 78 | 
             
            # default   = /workspaces/ruby/*
         | 
| 74 79 | 
             
            # pathname  = /workspaces/ruby/pathname
         | 
| @@ -93,6 +98,7 @@ rake pull:node      # emc + pir + squared | |
| 93 98 |  | 
| 94 99 | 
             
            rake build          # All except "android"
         | 
| 95 100 | 
             
            rake doc            # optparse + android
         | 
| 101 | 
            +
            rake depend         # All except "default"
         | 
| 96 102 |  | 
| 97 103 | 
             
            rake build:ruby     # rake compile + rake install + rake install
         | 
| 98 104 |  | 
| @@ -103,6 +109,22 @@ rake clean:app      # none + skip + ["build/"] | |
| 103 109 | 
             
            rake clean:node     # none + ["publish/**/*.js", "tmp/"] + ["build/"]
         | 
| 104 110 | 
             
            ```
         | 
| 105 111 |  | 
| 112 | 
            +
            ## Commands
         | 
| 113 | 
            +
             | 
| 114 | 
            +
            * run
         | 
| 115 | 
            +
            * depend
         | 
| 116 | 
            +
            * test
         | 
| 117 | 
            +
            * doc
         | 
| 118 | 
            +
            * clean
         | 
| 119 | 
            +
             | 
| 120 | 
            +
            ## Styles
         | 
| 121 | 
            +
             | 
| 122 | 
            +
            * banner
         | 
| 123 | 
            +
            * border
         | 
| 124 | 
            +
            * header
         | 
| 125 | 
            +
            * active
         | 
| 126 | 
            +
            * inline
         | 
| 127 | 
            +
             | 
| 106 128 | 
             
            ## LICENSE
         | 
| 107 129 |  | 
| 108 130 | 
             
            BSD 3-Clause
         | 
    
        data/lib/squared/common/base.rb
    CHANGED
    
    | @@ -23,7 +23,11 @@ module Squared | |
| 23 23 | 
             
                    white!: '47'
         | 
| 24 24 | 
             
                  },
         | 
| 25 25 | 
             
                  theme: {
         | 
| 26 | 
            -
                    workspace: { | 
| 26 | 
            +
                    workspace: {
         | 
| 27 | 
            +
                      header: %i[bold],
         | 
| 28 | 
            +
                      active: %i[bold],
         | 
| 29 | 
            +
                      inline: %i[bold]
         | 
| 30 | 
            +
                    },
         | 
| 27 31 | 
             
                    project: {},
         | 
| 28 32 | 
             
                    viewer: {
         | 
| 29 33 | 
             
                      banner: %i[blue bold],
         | 
| @@ -59,7 +63,15 @@ module Squared | |
| 59 63 | 
             
                  VAR[key.is_a?(::String) ? key.to_sym : key] = val
         | 
| 60 64 | 
             
                end
         | 
| 61 65 |  | 
| 62 | 
            -
                def  | 
| 66 | 
            +
                def __freeze__
         | 
| 67 | 
            +
                  VAR.each_value(&:freeze)
         | 
| 68 | 
            +
                  VAR[:theme].each_value(&:freeze)
         | 
| 69 | 
            +
                  VAR.freeze
         | 
| 70 | 
            +
                end
         | 
| 71 | 
            +
             | 
| 72 | 
            +
                module_function
         | 
| 73 | 
            +
             | 
| 74 | 
            +
                def env(key, default = nil, equals: nil, ignore: nil, **)
         | 
| 63 75 | 
             
                  ret = ENV.fetch(key, '')
         | 
| 64 76 | 
             
                  return ret == equals.to_s unless equals.nil?
         | 
| 65 77 |  | 
| @@ -81,11 +93,5 @@ module Squared | |
| 81 93 | 
             
                    obj
         | 
| 82 94 | 
             
                  end
         | 
| 83 95 | 
             
                end
         | 
| 84 | 
            -
             | 
| 85 | 
            -
                def finalize!
         | 
| 86 | 
            -
                  VAR.each_value(&:freeze)
         | 
| 87 | 
            -
                  VAR[:theme].each_value(&:freeze)
         | 
| 88 | 
            -
                  VAR.freeze
         | 
| 89 | 
            -
                end
         | 
| 90 96 | 
             
              end
         | 
| 91 97 | 
             
            end
         | 
    
        data/lib/squared/common/class.rb
    CHANGED
    
    
| @@ -39,46 +39,8 @@ module Squared | |
| 39 39 |  | 
| 40 40 | 
             
                  private
         | 
| 41 41 |  | 
| 42 | 
            -
                  def emphasize(val, title: nil, cols: nil, sub: nil, pipe: nil)
         | 
| 43 | 
            -
                    n = 0
         | 
| 44 | 
            -
                    if title
         | 
| 45 | 
            -
                      title = title.to_s
         | 
| 46 | 
            -
                      n = title.size
         | 
| 47 | 
            -
                    end
         | 
| 48 | 
            -
                    if val.is_a?(::Array)
         | 
| 49 | 
            -
                      lines = val
         | 
| 50 | 
            -
                    else
         | 
| 51 | 
            -
                      lines = val.to_s.lines.map(&:chomp)
         | 
| 52 | 
            -
                      lines[0] = "#{val.class}: #{lines.first}" if (err = val.is_a?(::StandardError))
         | 
| 53 | 
            -
                    end
         | 
| 54 | 
            -
                    n = cols || [n, lines.max_by(&:size).size].max
         | 
| 55 | 
            -
                    if $stdout.tty?
         | 
| 56 | 
            -
                      require 'io/console'
         | 
| 57 | 
            -
                      (n = [n, $stdout.winsize[1] - 4].min) rescue nil
         | 
| 58 | 
            -
                    end
         | 
| 59 | 
            -
                    out = []
         | 
| 60 | 
            -
                    bord = '-' * (n + 4)
         | 
| 61 | 
            -
                    sub = as_a(sub)
         | 
| 62 | 
            -
                    pr = lambda do |line|
         | 
| 63 | 
            -
                      s = line.ljust(n)
         | 
| 64 | 
            -
                      sub.each { |h| s = sub_style(s, **h) }
         | 
| 65 | 
            -
                      "| #{s} |"
         | 
| 66 | 
            -
                    end
         | 
| 67 | 
            -
                    out << bord
         | 
| 68 | 
            -
                    out.push(pr.(title), bord) if title
         | 
| 69 | 
            -
                    lines.each { |line| out << pr.(line) }
         | 
| 70 | 
            -
                    out << bord
         | 
| 71 | 
            -
                    if block_given?
         | 
| 72 | 
            -
                      yield out
         | 
| 73 | 
            -
                    elsif pipe.respond_to?(:puts)
         | 
| 74 | 
            -
                      pipe.puts out
         | 
| 75 | 
            -
                    else
         | 
| 76 | 
            -
                      err ? warn(out) : puts(out)
         | 
| 77 | 
            -
                    end
         | 
| 78 | 
            -
                  end
         | 
| 79 | 
            -
             | 
| 80 42 | 
             
                  def sub_style(val, *args, styles: nil, pat: nil, index: 1)
         | 
| 81 | 
            -
                    return val unless ENV | 
| 43 | 
            +
                    return val unless ENV.fetch('NO_COLOR', '').empty? && !__get__(:no_color)
         | 
| 82 44 |  | 
| 83 45 | 
             
                    if pat && index != 0
         | 
| 84 46 | 
             
                      return val unless (data = pat.match(val))
         | 
| @@ -158,11 +120,12 @@ module Squared | |
| 158 120 | 
             
                        ret << "-0.#{b}".to_f unless b.to_i > 255
         | 
| 159 121 | 
             
                      end
         | 
| 160 122 | 
             
                    end
         | 
| 161 | 
            -
                     | 
| 123 | 
            +
                    ret if empty || !ret.empty?
         | 
| 162 124 | 
             
                  end
         | 
| 163 125 |  | 
| 164 126 | 
             
                  def apply_style(data, key, *args, empty: true)
         | 
| 165 | 
            -
                     | 
| 127 | 
            +
                    data = __get__(:theme)[data] if data.is_a?(Symbol)
         | 
| 128 | 
            +
                    return unless data
         | 
| 166 129 |  | 
| 167 130 | 
             
                    set = ->(k, v) { data[k.to_sym] = check_style(v, empty: empty) }
         | 
| 168 131 | 
             
                    if key.is_a?(Hash)
         | 
| @@ -172,10 +135,6 @@ module Squared | |
| 172 135 | 
             
                    end
         | 
| 173 136 | 
             
                  end
         | 
| 174 137 |  | 
| 175 | 
            -
                  def raise_error(*args, hint: nil, kind: ArgumentError)
         | 
| 176 | 
            -
                    raise kind, message(*args, hint: hint)
         | 
| 177 | 
            -
                  end
         | 
| 178 | 
            -
             | 
| 179 138 | 
             
                  def log_title(level, color: true)
         | 
| 180 139 | 
             
                    level = if level.is_a?(::Numeric)
         | 
| 181 140 | 
             
                              case level
         | 
| @@ -209,6 +168,50 @@ module Squared | |
| 209 168 | 
             
                    msg << (color ? sub_style(subject, :underline) : subject) if subject
         | 
| 210 169 | 
             
                    message(msg.join(' '), *args, hint: hint)
         | 
| 211 170 | 
             
                  end
         | 
| 171 | 
            +
             | 
| 172 | 
            +
                  def raise_error(*args, hint: nil, kind: ArgumentError)
         | 
| 173 | 
            +
                    raise kind, message(*args, hint: hint)
         | 
| 174 | 
            +
                  end
         | 
| 175 | 
            +
             | 
| 176 | 
            +
                  module_function
         | 
| 177 | 
            +
             | 
| 178 | 
            +
                  def emphasize(val, title: nil, cols: nil, sub: nil, pipe: nil)
         | 
| 179 | 
            +
                    n = 0
         | 
| 180 | 
            +
                    if title
         | 
| 181 | 
            +
                      title = title.to_s
         | 
| 182 | 
            +
                      n = title.size
         | 
| 183 | 
            +
                    end
         | 
| 184 | 
            +
                    if val.is_a?(::Array)
         | 
| 185 | 
            +
                      lines = val
         | 
| 186 | 
            +
                    else
         | 
| 187 | 
            +
                      lines = val.to_s.lines.map(&:chomp)
         | 
| 188 | 
            +
                      lines[0] = "#{val.class}: #{lines.first}" if (err = val.is_a?(::StandardError))
         | 
| 189 | 
            +
                    end
         | 
| 190 | 
            +
                    n = cols || [n, lines.max_by(&:size).size].max
         | 
| 191 | 
            +
                    if $stdout.tty?
         | 
| 192 | 
            +
                      require 'io/console'
         | 
| 193 | 
            +
                      (n = [n, $stdout.winsize[1] - 4].min) rescue nil
         | 
| 194 | 
            +
                    end
         | 
| 195 | 
            +
                    out = []
         | 
| 196 | 
            +
                    bord = '-' * (n + 4)
         | 
| 197 | 
            +
                    sub = [sub] if sub && !sub.is_a?(::Array)
         | 
| 198 | 
            +
                    pr = lambda do |line|
         | 
| 199 | 
            +
                      s = line.ljust(n)
         | 
| 200 | 
            +
                      sub&.each { |h| s = sub_style(s, **h) }
         | 
| 201 | 
            +
                      "| #{s} |"
         | 
| 202 | 
            +
                    end
         | 
| 203 | 
            +
                    out << bord
         | 
| 204 | 
            +
                    out.push(pr.(title), bord) if title
         | 
| 205 | 
            +
                    lines.each { |line| out << pr.(line) }
         | 
| 206 | 
            +
                    out << bord
         | 
| 207 | 
            +
                    if block_given?
         | 
| 208 | 
            +
                      yield out
         | 
| 209 | 
            +
                    elsif pipe.respond_to?(:puts)
         | 
| 210 | 
            +
                      pipe.puts out
         | 
| 211 | 
            +
                    else
         | 
| 212 | 
            +
                      err ? warn(out) : puts(out)
         | 
| 213 | 
            +
                    end
         | 
| 214 | 
            +
                  end
         | 
| 212 215 | 
             
                end
         | 
| 213 216 | 
             
              end
         | 
| 214 217 | 
             
            end
         | 
    
        data/lib/squared/common/shell.rb
    CHANGED
    
    | @@ -6,12 +6,12 @@ require 'rake' | |
| 6 6 | 
             
            module Squared
         | 
| 7 7 | 
             
              module Common
         | 
| 8 8 | 
             
                module Shell
         | 
| 9 | 
            -
                   | 
| 9 | 
            +
                  module_function
         | 
| 10 10 |  | 
| 11 11 | 
             
                  def shell_escape(val, quote: false)
         | 
| 12 | 
            -
                    return ( | 
| 12 | 
            +
                    return Shellwords.escape(val) unless ::Rake::Win32.windows?
         | 
| 13 13 |  | 
| 14 | 
            -
                     | 
| 14 | 
            +
                    quote ? shell_quote(val, force: false) : val
         | 
| 15 15 | 
             
                  end
         | 
| 16 16 |  | 
| 17 17 | 
             
                  def shell_quote(val, force: true)
         | 
| @@ -6,7 +6,7 @@ require 'fileutils' | |
| 6 6 | 
             
            module Squared
         | 
| 7 7 | 
             
              module Common
         | 
| 8 8 | 
             
                module System
         | 
| 9 | 
            -
                   | 
| 9 | 
            +
                  module_function
         | 
| 10 10 |  | 
| 11 11 | 
             
                  def shell(*cmd, **kwargs)
         | 
| 12 12 | 
             
                    if RUBY_VERSION =~ /^2\.[0-5]\./
         | 
| @@ -20,13 +20,44 @@ module Squared | |
| 20 20 | 
             
                    end
         | 
| 21 21 | 
             
                  end
         | 
| 22 22 |  | 
| 23 | 
            +
                  def confirm(msg, agree: 'Y', cancel: 'N', default: nil, attempts: 5, timeout: 15)
         | 
| 24 | 
            +
                    require 'readline'
         | 
| 25 | 
            +
                    require 'timeout'
         | 
| 26 | 
            +
                    agree = /^#{agree}$/i if agree.is_a?(String)
         | 
| 27 | 
            +
                    cancel = /^#{cancel}$/i if cancel.is_a?(String)
         | 
| 28 | 
            +
                    Timeout.timeout(timeout) do
         | 
| 29 | 
            +
                      begin
         | 
| 30 | 
            +
                        while (ch = Readline.readline(msg, true))
         | 
| 31 | 
            +
                          ch = ch.chomp
         | 
| 32 | 
            +
                          ch = default if ch.empty?
         | 
| 33 | 
            +
                          case ch
         | 
| 34 | 
            +
                          when agree
         | 
| 35 | 
            +
                            return true
         | 
| 36 | 
            +
                          when cancel
         | 
| 37 | 
            +
                            return false
         | 
| 38 | 
            +
                          end
         | 
| 39 | 
            +
                          attempts -= 1
         | 
| 40 | 
            +
                          exit 1 unless attempts >= 0
         | 
| 41 | 
            +
                        end
         | 
| 42 | 
            +
                      rescue Interrupt
         | 
| 43 | 
            +
                        puts
         | 
| 44 | 
            +
                        exit 0
         | 
| 45 | 
            +
                      else
         | 
| 46 | 
            +
                        false
         | 
| 47 | 
            +
                      end
         | 
| 48 | 
            +
                    end
         | 
| 49 | 
            +
                  end
         | 
| 50 | 
            +
             | 
| 23 51 | 
             
                  def copy_d(src, dest, glob: ['**/*'], create: false, verbose: true)
         | 
| 52 | 
            +
                    src = Pathname.new(src)
         | 
| 53 | 
            +
                    dest = Pathname.new(dest)
         | 
| 24 54 | 
             
                    raise "#{dest} (not found)" if !create && !dest.exist?
         | 
| 25 55 |  | 
| 26 56 | 
             
                    subdir = []
         | 
| 27 57 | 
             
                    files = 0
         | 
| 28 58 | 
             
                    dest.mkpath if create
         | 
| 29 | 
            -
                     | 
| 59 | 
            +
                    glob = [glob] unless glob.is_a?(::Array)
         | 
| 60 | 
            +
                    glob.each do |val|
         | 
| 30 61 | 
             
                      Dir.glob(src.join(val)) do |path|
         | 
| 31 62 | 
             
                        ent = Pathname.new(path)
         | 
| 32 63 | 
             
                        next if ent.directory?
         | 
| @@ -48,7 +79,8 @@ module Squared | |
| 48 79 | 
             
                    if !overwrite
         | 
| 49 80 | 
             
                      path = Pathname.new(dest)
         | 
| 50 81 | 
             
                      if path.directory?
         | 
| 51 | 
            -
                        src =  | 
| 82 | 
            +
                        src = [src] unless src.is_a?(::Array)
         | 
| 83 | 
            +
                        src = src.reject { |val| path.join(File.basename(val)).exist? }
         | 
| 52 84 | 
             
                      elsif path.exist?
         | 
| 53 85 | 
             
                        return
         | 
| 54 86 | 
             
                      end
         | 
    
        data/lib/squared/common/task.rb
    CHANGED
    
    | @@ -5,15 +5,7 @@ require 'rake' | |
| 5 5 | 
             
            module Squared
         | 
| 6 6 | 
             
              module Common
         | 
| 7 7 | 
             
                module Task
         | 
| 8 | 
            -
                   | 
| 9 | 
            -
             | 
| 10 | 
            -
                  def collect_args(args, *keys)
         | 
| 11 | 
            -
                    ret = []
         | 
| 12 | 
            -
                    return ret unless args.is_a?(::Rake::TaskArguments)
         | 
| 13 | 
            -
             | 
| 14 | 
            -
                    keys.each { |key| ret << args.fetch(key) if args.key?(key) }
         | 
| 15 | 
            -
                    ret += args.extras
         | 
| 16 | 
            -
                  end
         | 
| 8 | 
            +
                  module_function
         | 
| 17 9 |  | 
| 18 10 | 
             
                  def invoke(name, *args, exception: true)
         | 
| 19 11 | 
             
                    ::Rake::Task[name].invoke(*args)
         | 
    
        data/lib/squared/config.rb
    CHANGED
    
    | @@ -9,7 +9,6 @@ module Squared | |
| 9 9 | 
             
                class Viewer
         | 
| 10 10 | 
             
                  include Common
         | 
| 11 11 | 
             
                  include Format
         | 
| 12 | 
            -
                  include Task
         | 
| 13 12 | 
             
                  include ::Rake::DSL
         | 
| 14 13 |  | 
| 15 14 | 
             
                  class << self
         | 
| @@ -52,7 +51,7 @@ module Squared | |
| 52 51 | 
             
                                  @required = true
         | 
| 53 52 | 
             
                                  project ? [project, 'not found'] : %w[name missing]
         | 
| 54 53 | 
             
                                end
         | 
| 55 | 
            -
                    warn log_message(:warn, msg, subject: self.class, hint: hint | 
| 54 | 
            +
                    warn log_message(:warn, msg, subject: self.class, hint: hint)
         | 
| 56 55 | 
             
                  end
         | 
| 57 56 |  | 
| 58 57 | 
             
                  def build
         | 
| @@ -97,7 +96,7 @@ module Squared | |
| 97 96 | 
             
                        namespace command do
         | 
| 98 97 | 
             
                          task type, [:keys] do |_, args|
         | 
| 99 98 | 
             
                            if file
         | 
| 100 | 
            -
                              read_keys(obj, type, file.to_s,  | 
| 99 | 
            +
                              read_keys(obj, type, file.to_s, args.to_a, ext: ext)
         | 
| 101 100 | 
             
                            else
         | 
| 102 101 | 
             
                              read_keys(obj, type, args.keys, args.extras, ext: ext)
         | 
| 103 102 | 
             
                            end
         | 
| @@ -188,7 +187,7 @@ module Squared | |
| 188 187 | 
             
                    title = Pathname.new(file)
         | 
| 189 188 | 
             
                                    .realpath
         | 
| 190 189 | 
             
                                    .to_s
         | 
| 191 | 
            -
                                    .sub( | 
| 190 | 
            +
                                    .sub(Regexp.new("^#{Regexp.escape(File.join(Dir.pwd, ''))}"), '')
         | 
| 192 191 | 
             
                    sub = if pipe?
         | 
| 193 192 | 
             
                            nil
         | 
| 194 193 | 
             
                          else
         | 
    
        data/lib/squared/version.rb
    CHANGED