squared 0.4.25 → 0.5.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/CHANGELOG.md +62 -364
 - data/README.md +1279 -650
 - data/README.ruby.md +722 -0
 - data/lib/squared/common/base.rb +8 -9
 - data/lib/squared/common/format.rb +17 -24
 - data/lib/squared/common/prompt.rb +38 -42
 - data/lib/squared/common/shell.rb +29 -29
 - data/lib/squared/common/system.rb +34 -37
 - data/lib/squared/common/utils.rb +3 -28
 - data/lib/squared/common.rb +2 -1
 - data/lib/squared/config.rb +21 -21
 - data/lib/squared/version.rb +1 -1
 - data/lib/squared/workspace/application.rb +67 -91
 - data/lib/squared/workspace/project/base.rb +355 -476
 - data/lib/squared/workspace/project/docker.rb +175 -203
 - data/lib/squared/workspace/project/git.rb +357 -498
 - data/lib/squared/workspace/project/node.rb +138 -213
 - data/lib/squared/workspace/project/python.rb +88 -306
 - data/lib/squared/workspace/project/ruby.rb +220 -300
 - data/lib/squared/workspace/project/support/class.rb +94 -288
 - data/lib/squared/workspace/project.rb +0 -10
 - data/lib/squared/workspace/repo.rb +53 -92
 - data/lib/squared/workspace/series.rb +34 -32
 - data/lib/squared/workspace/support/data.rb +3 -2
 - data/lib/squared/workspace/support.rb +0 -1
 - data/lib/squared/workspace.rb +1 -1
 - data/squared.gemspec +5 -5
 - metadata +8 -12
 - data/lib/squared/common/class.rb +0 -110
 - data/lib/squared/workspace/support/base.rb +0 -37
 
    
        data/lib/squared/config.rb
    CHANGED
    
    | 
         @@ -15,7 +15,8 @@ module Squared 
     | 
|
| 
       15 
15 
     | 
    
         
             
                    def parse(gem, namespace, ext = [pkg])
         
     | 
| 
       16 
16 
     | 
    
         
             
                      require gem
         
     | 
| 
       17 
17 
     | 
    
         
             
                      obj = eval namespace
         
     | 
| 
       18 
     | 
    
         
            -
                       
     | 
| 
      
 18 
     | 
    
         
            +
                      ext = [ext] unless ext.is_a?(Array)
         
     | 
| 
      
 19 
     | 
    
         
            +
                      ext.each { |val| @@mime_obj[val] = [obj, ext] }
         
     | 
| 
       19 
20 
     | 
    
         
             
                    rescue LoadError, NameError => e
         
     | 
| 
       20 
21 
     | 
    
         
             
                      warn e
         
     | 
| 
       21 
22 
     | 
    
         
             
                      nil
         
     | 
| 
         @@ -26,7 +27,7 @@ module Squared 
     | 
|
| 
       26 
27 
     | 
    
         
             
                    def link(project, main = project.dependfile.basename, name = nil, **kwargs, &blk)
         
     | 
| 
       27 
28 
     | 
    
         
             
                      return unless project.enabled?
         
     | 
| 
       28 
29 
     | 
    
         | 
| 
       29 
     | 
    
         
            -
                      ret =  
     | 
| 
      
 30 
     | 
    
         
            +
                      ret = new(main, name, project: project, **kwargs)
         
     | 
| 
       30 
31 
     | 
    
         
             
                      ret.instance_eval(&blk) if block_given?
         
     | 
| 
       31 
32 
     | 
    
         
             
                      ret
         
     | 
| 
       32 
33 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -88,16 +89,16 @@ module Squared 
     | 
|
| 
       88 
89 
     | 
    
         
             
                                  @required = true
         
     | 
| 
       89 
90 
     | 
    
         
             
                                  project ? [project, 'not found'] : ['name', 'missing']
         
     | 
| 
       90 
91 
     | 
    
         
             
                                end
         
     | 
| 
       91 
     | 
    
         
            -
                    warn log_message(Logger::WARN, msg, subject: self.class, hint: hint)
         
     | 
| 
      
 92 
     | 
    
         
            +
                    warn log_message(Logger::WARN, msg, subject: self.class, hint: hint, pass: true)
         
     | 
| 
       92 
93 
     | 
    
         
             
                  end
         
     | 
| 
       93 
94 
     | 
    
         | 
| 
       94 
95 
     | 
    
         
             
                  def build
         
     | 
| 
       95 
96 
     | 
    
         
             
                    return unless enabled?
         
     | 
| 
       96 
97 
     | 
    
         | 
| 
       97 
     | 
    
         
            -
                    namespace task_name(name) do 
     | 
| 
      
 98 
     | 
    
         
            +
                    namespace(ns = task_name(name)) do
         
     | 
| 
       98 
99 
     | 
    
         
             
                      @mime.each do |type, items|
         
     | 
| 
       99 
100 
     | 
    
         
             
                        items.each do |command, file, opts|
         
     | 
| 
       100 
     | 
    
         
            -
                          next if Rake::Task.task_defined?("#{ns 
     | 
| 
      
 101 
     | 
    
         
            +
                          next if Rake::Task.task_defined?("#{ns}:#{command}:#{type}")
         
     | 
| 
       101 
102 
     | 
    
         | 
| 
       102 
103 
     | 
    
         
             
                          namespace command do
         
     | 
| 
       103 
104 
     | 
    
         
             
                            unless (data = @@mime_obj[type])
         
     | 
| 
         @@ -128,7 +129,7 @@ module Squared 
     | 
|
| 
       128 
129 
     | 
    
         
             
                        require(gem || type)
         
     | 
| 
       129 
130 
     | 
    
         
             
                        obj = eval namespace
         
     | 
| 
       130 
131 
     | 
    
         
             
                      else
         
     | 
| 
       131 
     | 
    
         
            -
                         
     | 
| 
      
 132 
     | 
    
         
            +
                        as_a(ext).each do |val|
         
     | 
| 
       132 
133 
     | 
    
         
             
                          next unless (data = @@mime_obj[val])
         
     | 
| 
       133 
134 
     | 
    
         | 
| 
       134 
135 
     | 
    
         
             
                          obj = data.first
         
     | 
| 
         @@ -136,7 +137,7 @@ module Squared 
     | 
|
| 
       136 
137 
     | 
    
         
             
                        end
         
     | 
| 
       137 
138 
     | 
    
         
             
                      end
         
     | 
| 
       138 
139 
     | 
    
         
             
                      if obj
         
     | 
| 
       139 
     | 
    
         
            -
                        ext << type if (ext =  
     | 
| 
      
 140 
     | 
    
         
            +
                        ext << type if (ext = as_a(ext)).empty?
         
     | 
| 
       140 
141 
     | 
    
         
             
                        if !file && target?
         
     | 
| 
       141 
142 
     | 
    
         
             
                          ext.each do |val|
         
     | 
| 
       142 
143 
     | 
    
         
             
                            next unless (out = basepath("#{main}.#{val}")).exist?
         
     | 
| 
         @@ -169,7 +170,7 @@ module Squared 
     | 
|
| 
       169 
170 
     | 
    
         
             
                  end
         
     | 
| 
       170 
171 
     | 
    
         | 
| 
       171 
172 
     | 
    
         
             
                  def style(name, *args)
         
     | 
| 
       172 
     | 
    
         
            -
                    apply_style 
     | 
| 
      
 173 
     | 
    
         
            +
                    apply_style theme, name, args
         
     | 
| 
       173 
174 
     | 
    
         
             
                    self
         
     | 
| 
       174 
175 
     | 
    
         
             
                  end
         
     | 
| 
       175 
176 
     | 
    
         | 
| 
         @@ -196,7 +197,7 @@ module Squared 
     | 
|
| 
       196 
197 
     | 
    
         
             
                  private
         
     | 
| 
       197 
198 
     | 
    
         | 
| 
       198 
199 
     | 
    
         
             
                  def puts(*args)
         
     | 
| 
       199 
     | 
    
         
            -
                     
     | 
| 
      
 200 
     | 
    
         
            +
                    puts_oe(*args, pipe: pipe)
         
     | 
| 
       200 
201 
     | 
    
         
             
                  end
         
     | 
| 
       201 
202 
     | 
    
         | 
| 
       202 
203 
     | 
    
         
             
                  def log
         
     | 
| 
         @@ -212,8 +213,8 @@ module Squared 
     | 
|
| 
       212 
213 
     | 
    
         
             
                        file = nil
         
     | 
| 
       213 
214 
     | 
    
         
             
                        ext[0] = mime
         
     | 
| 
       214 
215 
     | 
    
         
             
                      elsif file
         
     | 
| 
       215 
     | 
    
         
            -
                        keys. 
     | 
| 
       216 
     | 
    
         
            -
                        alt = basepath 
     | 
| 
      
 216 
     | 
    
         
            +
                        keys.prepend(file)
         
     | 
| 
      
 217 
     | 
    
         
            +
                        alt = basepath("#{main}.{#{ext.join(',')}}")
         
     | 
| 
       217 
218 
     | 
    
         
             
                        file = Dir[alt].first
         
     | 
| 
       218 
219 
     | 
    
         
             
                      else
         
     | 
| 
       219 
220 
     | 
    
         
             
                        alt = main
         
     | 
| 
         @@ -242,15 +243,14 @@ module Squared 
     | 
|
| 
       242 
243 
     | 
    
         
             
                                                          [
         
     | 
| 
       243 
244 
     | 
    
         
             
                                                            { pat: /\A((?:[^:]|(?<! ):(?! ))+)\z/, styles: theme[:banner] },
         
     | 
| 
       244 
245 
     | 
    
         
             
                                                            { pat: /\A(.*?)(<[^>]+>)(.+)\z/m, styles: theme[:undefined], index: 2 },
         
     | 
| 
       245 
     | 
    
         
            -
                                                            { pat: /\A( 
     | 
| 
       246 
     | 
    
         
            -
                                                            { pat: /\A( 
     | 
| 
      
 246 
     | 
    
         
            +
                                                            { pat: /\A((?~ : ))( : (?!undefined).+)\z/m, styles: theme[:key] },
         
     | 
| 
      
 247 
     | 
    
         
            +
                                                            { pat: /\A((?~: ): )(-?[\d.]+)(\s*)\z/m, styles: theme[:number],
         
     | 
| 
       247 
248 
     | 
    
         
             
                                                              index: 2 },
         
     | 
| 
       248 
     | 
    
         
            -
                                                            { pat: /\A( 
     | 
| 
       249 
     | 
    
         
            -
                                                            { pat: /\A( 
     | 
| 
       250 
     | 
    
         
            -
                                                            { pat: /\A( 
     | 
| 
       251 
     | 
    
         
            -
                                                            { pat: /\A(.+ : )(true|false)(\s*)\z/m, styles: theme[:boolean],
         
     | 
| 
      
 249 
     | 
    
         
            +
                                                            { pat: /\A((?~: ): ")(.+)("\s*)\z/m, styles: theme[:string], index: 2 },
         
     | 
| 
      
 250 
     | 
    
         
            +
                                                            { pat: /\A((?~: ): \{)(.+)(\}\s*)\z/m, styles: theme[:hash], index: 2 },
         
     | 
| 
      
 251 
     | 
    
         
            +
                                                            { pat: /\A((?~: ): \[)(.+)(\]\s*)\z/m, styles: theme[:array],
         
     | 
| 
       252 
252 
     | 
    
         
             
                                                              index: 2 },
         
     | 
| 
       253 
     | 
    
         
            -
                                                            { pat: /\A( 
     | 
| 
      
 253 
     | 
    
         
            +
                                                            { pat: /\A((?~: ): (?!undefined))([^"\[{].*)\z/m, styles: theme[:value],
         
     | 
| 
       254 
254 
     | 
    
         
             
                                                              index: 2 }
         
     | 
| 
       255 
255 
     | 
    
         
             
                                                          ]
         
     | 
| 
       256 
256 
     | 
    
         
             
                                                        end, border: theme[:border])
         
     | 
| 
         @@ -309,7 +309,7 @@ module Squared 
     | 
|
| 
       309 
309 
     | 
    
         
             
                    return unless Rake::TaskManager.record_task_metadata
         
     | 
| 
       310 
310 
     | 
    
         | 
| 
       311 
311 
     | 
    
         
             
                    val = "#{ext.first}[#{target ? '' : "file?=#{File.basename(main)}.#{ext.last},"}keys+]"
         
     | 
| 
       312 
     | 
    
         
            -
                    args = *name.split(':'). 
     | 
| 
      
 312 
     | 
    
         
            +
                    args = *name.split(':').append(command, val)
         
     | 
| 
       313 
313 
     | 
    
         
             
                    if project
         
     | 
| 
       314 
314 
     | 
    
         
             
                      project.workspace.task_desc(*args)
         
     | 
| 
       315 
315 
     | 
    
         
             
                    else
         
     | 
| 
         @@ -346,8 +346,8 @@ module Squared 
     | 
|
| 
       346 
346 
     | 
    
         
             
                    basepath(file = main + @ext).to_s rescue file
         
     | 
| 
       347 
347 
     | 
    
         
             
                  end
         
     | 
| 
       348 
348 
     | 
    
         | 
| 
       349 
     | 
    
         
            -
                  def basepath( 
     | 
| 
       350 
     | 
    
         
            -
                    project ? project.basepath( 
     | 
| 
      
 349 
     | 
    
         
            +
                  def basepath(file)
         
     | 
| 
      
 350 
     | 
    
         
            +
                    project ? project.basepath(file) : Pathname.pwd + file
         
     | 
| 
       351 
351 
     | 
    
         
             
                  end
         
     | 
| 
       352 
352 
     | 
    
         
             
                end
         
     | 
| 
       353 
353 
     | 
    
         
             
              end
         
     | 
    
        data/lib/squared/version.rb
    CHANGED
    
    
| 
         @@ -26,10 +26,10 @@ module Squared 
     | 
|
| 
       26 
26 
     | 
    
         
             
                        next unless base || obj < impl_project
         
     | 
| 
       27 
27 
     | 
    
         | 
| 
       28 
28 
     | 
    
         
             
                        if base
         
     | 
| 
       29 
     | 
    
         
            -
                           
     | 
| 
      
 29 
     | 
    
         
            +
                          @impl_project = obj
         
     | 
| 
       30 
30 
     | 
    
         
             
                          impl_series.base_set(obj)
         
     | 
| 
       31 
31 
     | 
    
         
             
                        else
         
     | 
| 
       32 
     | 
    
         
            -
                          kind_project. 
     | 
| 
      
 32 
     | 
    
         
            +
                          kind_project.prepend(obj)
         
     | 
| 
       33 
33 
     | 
    
         
             
                          obj.tasks&.each { |task| impl_series.add(task, obj) }
         
     | 
| 
       34 
34 
     | 
    
         
             
                        end
         
     | 
| 
       35 
35 
     | 
    
         
             
                        if (args = obj.batchargs)
         
     | 
| 
         @@ -39,7 +39,7 @@ module Squared 
     | 
|
| 
       39 
39 
     | 
    
         
             
                          impl_series.alias(*args)
         
     | 
| 
       40 
40 
     | 
    
         
             
                        end
         
     | 
| 
       41 
41 
     | 
    
         
             
                        if (args = obj.bannerargs)
         
     | 
| 
       42 
     | 
    
         
            -
                          attr_banner.merge(args)
         
     | 
| 
      
 42 
     | 
    
         
            +
                          @attr_banner.merge(args)
         
     | 
| 
       43 
43 
     | 
    
         
             
                        end
         
     | 
| 
       44 
44 
     | 
    
         
             
                      end
         
     | 
| 
       45 
45 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -73,7 +73,7 @@ module Squared 
     | 
|
| 
       73 
73 
     | 
    
         
             
                  end
         
     | 
| 
       74 
74 
     | 
    
         | 
| 
       75 
75 
     | 
    
         
             
                  @kind_project = []
         
     | 
| 
       76 
     | 
    
         
            -
                  @task_exclude =  
     | 
| 
      
 76 
     | 
    
         
            +
                  @task_exclude = Set.new
         
     | 
| 
       77 
77 
     | 
    
         | 
| 
       78 
78 
     | 
    
         
             
                  attr_reader :root, :home, :main, :prefix, :exception, :warning, :pipe, :verbose, :theme, :series, :closed
         
     | 
| 
       79 
79 
     | 
    
         | 
| 
         @@ -92,18 +92,12 @@ module Squared 
     | 
|
| 
       92 
92 
     | 
    
         
             
                    @prefix = prefix
         
     | 
| 
       93 
93 
     | 
    
         
             
                    @series = Application.series_wrap(self)
         
     | 
| 
       94 
94 
     | 
    
         
             
                    @project = {}
         
     | 
| 
       95 
     | 
    
         
            -
                    @kind =  
     | 
| 
      
 95 
     | 
    
         
            +
                    @kind = {}
         
     | 
| 
       96 
96 
     | 
    
         
             
                    @extensions = []
         
     | 
| 
       97 
     | 
    
         
            -
                    @envname =  
     | 
| 
       98 
     | 
    
         
            -
                    @pipe =  
     | 
| 
      
 97 
     | 
    
         
            +
                    @envname = @main.gsub(/[^\w]+/, '_').upcase.freeze
         
     | 
| 
      
 98 
     | 
    
         
            +
                    @pipe = env_pipe(pipe, (ARG[:OUT] && env(ARG[:OUT])) || 1, root: @home)
         
     | 
| 
       99 
99 
     | 
    
         
             
                    @exception = env_bool exception
         
     | 
| 
       100 
     | 
    
         
            -
                    @verbose =  
     | 
| 
       101 
     | 
    
         
            -
                                 false
         
     | 
| 
       102 
     | 
    
         
            -
                               elsif verbose.nil?
         
     | 
| 
       103 
     | 
    
         
            -
                                 @pipe != 0
         
     | 
| 
       104 
     | 
    
         
            -
                               else
         
     | 
| 
       105 
     | 
    
         
            -
                                 env_bool(verbose, verbose.is_a?(String) ? @pipe != 0 : verbose, index: true)
         
     | 
| 
       106 
     | 
    
         
            -
                               end
         
     | 
| 
      
 100 
     | 
    
         
            +
                    @verbose = env_bool(verbose, verbose.nil? || verbose.is_a?(String) ? @pipe != 0 : verbose, index: true)
         
     | 
| 
       107 
101 
     | 
    
         
             
                    @warning = @verbose != false
         
     | 
| 
       108 
102 
     | 
    
         
             
                    @closed = false
         
     | 
| 
       109 
103 
     | 
    
         
             
                    if common
         
     | 
| 
         @@ -112,20 +106,20 @@ module Squared 
     | 
|
| 
       112 
106 
     | 
    
         
             
                    else
         
     | 
| 
       113 
107 
     | 
    
         
             
                      @theme = {}
         
     | 
| 
       114 
108 
     | 
    
         
             
                    end
         
     | 
| 
       115 
     | 
    
         
            -
                    @chain =  
     | 
| 
      
 109 
     | 
    
         
            +
                    @chain = {}
         
     | 
| 
       116 
110 
     | 
    
         
             
                    @script = {
         
     | 
| 
       117 
     | 
    
         
            -
                      group:  
     | 
| 
       118 
     | 
    
         
            -
                      ref:  
     | 
| 
      
 111 
     | 
    
         
            +
                      group: {},
         
     | 
| 
      
 112 
     | 
    
         
            +
                      ref: {},
         
     | 
| 
       119 
113 
     | 
    
         
             
                      group!: {},
         
     | 
| 
       120 
114 
     | 
    
         
             
                      ref!: {}
         
     | 
| 
       121 
115 
     | 
    
         
             
                    }.freeze
         
     | 
| 
       122 
116 
     | 
    
         
             
                    @events = {
         
     | 
| 
       123 
     | 
    
         
            -
                      group:  
     | 
| 
       124 
     | 
    
         
            -
                      ref:  
     | 
| 
      
 117 
     | 
    
         
            +
                      group: {},
         
     | 
| 
      
 118 
     | 
    
         
            +
                      ref: {}
         
     | 
| 
       125 
119 
     | 
    
         
             
                    }.freeze
         
     | 
| 
       126 
120 
     | 
    
         
             
                    @pass = {
         
     | 
| 
       127 
     | 
    
         
            -
                      group:  
     | 
| 
       128 
     | 
    
         
            -
                      ref:  
     | 
| 
      
 121 
     | 
    
         
            +
                      group: {},
         
     | 
| 
      
 122 
     | 
    
         
            +
                      ref: {},
         
     | 
| 
       129 
123 
     | 
    
         
             
                      global: {},
         
     | 
| 
       130 
124 
     | 
    
         
             
                      pattern: []
         
     | 
| 
       131 
125 
     | 
    
         
             
                    }.freeze
         
     | 
| 
         @@ -140,7 +134,7 @@ module Squared 
     | 
|
| 
       140 
134 
     | 
    
         
             
                    return unless @pipe.is_a?(Pathname)
         
     | 
| 
       141 
135 
     | 
    
         | 
| 
       142 
136 
     | 
    
         
             
                    msg = "Session started on #{Time.now} by #{@main}"
         
     | 
| 
       143 
     | 
    
         
            -
                    bord = '#' *  
     | 
| 
      
 137 
     | 
    
         
            +
                    bord = '#' * s.size
         
     | 
| 
       144 
138 
     | 
    
         
             
                    puts bord, msg, bord
         
     | 
| 
       145 
139 
     | 
    
         
             
                  end
         
     | 
| 
       146 
140 
     | 
    
         | 
| 
         @@ -226,12 +220,12 @@ module Squared 
     | 
|
| 
       226 
220 
     | 
    
         
             
                        if arg.include?(':') || (keys && !keys.include?(arg))
         
     | 
| 
       227 
221 
     | 
    
         
             
                          task_name(arg)
         
     | 
| 
       228 
222 
     | 
    
         
             
                        else
         
     | 
| 
       229 
     | 
    
         
            -
                           
     | 
| 
      
 223 
     | 
    
         
            +
                          /#{Regexp.escape(arg)}:/
         
     | 
| 
       230 
224 
     | 
    
         
             
                        end
         
     | 
| 
       231 
225 
     | 
    
         
             
                      end
         
     | 
| 
       232 
226 
     | 
    
         
             
                    end
         
     | 
| 
       233 
     | 
    
         
            -
                    data =  
     | 
| 
       234 
     | 
    
         
            -
                    @chain[task_name(task.to_s)] << data
         
     | 
| 
      
 227 
     | 
    
         
            +
                    data = Support::ChainData.new(action, step, ns.call(with), ns.call(before), ns.call(after), sync)
         
     | 
| 
      
 228 
     | 
    
         
            +
                    (@chain[task_name(task.to_s)] ||= []) << data
         
     | 
| 
       235 
229 
     | 
    
         
             
                    self
         
     | 
| 
       236 
230 
     | 
    
         
             
                  end
         
     | 
| 
       237 
231 
     | 
    
         | 
| 
         @@ -273,9 +267,9 @@ module Squared 
     | 
|
| 
       273 
267 
     | 
    
         | 
| 
       274 
268 
     | 
    
         
             
                  def pass(name, group: @group, ref: @ref, &blk)
         
     | 
| 
       275 
269 
     | 
    
         
             
                    data = if group
         
     | 
| 
       276 
     | 
    
         
            -
                             @pass[:group][group]
         
     | 
| 
      
 270 
     | 
    
         
            +
                             @pass[:group][group] ||= {}
         
     | 
| 
       277 
271 
     | 
    
         
             
                           elsif ref
         
     | 
| 
       278 
     | 
    
         
            -
                             @pass[:ref][ref]
         
     | 
| 
      
 272 
     | 
    
         
            +
                             @pass[:ref][ref] ||= {}
         
     | 
| 
       279 
273 
     | 
    
         
             
                           else
         
     | 
| 
       280 
274 
     | 
    
         
             
                             @pass[:global]
         
     | 
| 
       281 
275 
     | 
    
         
             
                           end
         
     | 
| 
         @@ -284,7 +278,7 @@ module Squared 
     | 
|
| 
       284 
278 
     | 
    
         
             
                  end
         
     | 
| 
       285 
279 
     | 
    
         | 
| 
       286 
280 
     | 
    
         
             
                  def banner(*args, command: true, styles: nil, border: nil, group: @group, ref: @ref)
         
     | 
| 
       287 
     | 
    
         
            -
                    data =  
     | 
| 
      
 281 
     | 
    
         
            +
                    data = Support::BannerData.new(command, [], check_style(styles, empty: false), check_style(border))
         
     | 
| 
       288 
282 
     | 
    
         
             
                    args.each do |meth|
         
     | 
| 
       289 
283 
     | 
    
         
             
                      if meth.is_a?(Array)
         
     | 
| 
       290 
284 
     | 
    
         
             
                        found = false
         
     | 
| 
         @@ -307,24 +301,31 @@ module Squared 
     | 
|
| 
       307 
301 
     | 
    
         
             
                      elsif !Application.attr_banner.include?(meth = meth.to_sym)
         
     | 
| 
       308 
302 
     | 
    
         
             
                        next
         
     | 
| 
       309 
303 
     | 
    
         
             
                      end
         
     | 
| 
       310 
     | 
    
         
            -
                      data 
     | 
| 
      
 304 
     | 
    
         
            +
                      data.order << meth
         
     | 
| 
       311 
305 
     | 
    
         
             
                    end
         
     | 
| 
       312 
     | 
    
         
            -
                    data = {} if !command && data[:order].empty?
         
     | 
| 
       313 
306 
     | 
    
         
             
                    if group
         
     | 
| 
       314 
307 
     | 
    
         
             
                      label = :group
         
     | 
| 
       315 
     | 
    
         
            -
                      items =  
     | 
| 
      
 308 
     | 
    
         
            +
                      items = as_a group
         
     | 
| 
       316 
309 
     | 
    
         
             
                    else
         
     | 
| 
       317 
310 
     | 
    
         
             
                      label = :ref
         
     | 
| 
       318 
     | 
    
         
            -
                      items =  
     | 
| 
      
 311 
     | 
    
         
            +
                      items = ref ? as_a(ref) : [:_]
         
     | 
| 
       319 
312 
     | 
    
         
             
                    end
         
     | 
| 
       320 
313 
     | 
    
         
             
                    items.each { |val| @banner[label][val.to_sym] = data }
         
     | 
| 
       321 
314 
     | 
    
         
             
                    self
         
     | 
| 
       322 
315 
     | 
    
         
             
                  end
         
     | 
| 
       323 
316 
     | 
    
         | 
| 
       324 
317 
     | 
    
         
             
                  def add(path, project = nil, **kwargs, &blk)
         
     | 
| 
       325 
     | 
    
         
            -
                    kwargs =  
     | 
| 
       326 
     | 
    
         
            -
                    ref = kwargs.key?(:ref) 
     | 
| 
       327 
     | 
    
         
            -
             
     | 
| 
      
 318 
     | 
    
         
            +
                    kwargs = @withargs.yield_self { |data| data.dup.update(kwargs) } if @withargs
         
     | 
| 
      
 319 
     | 
    
         
            +
                    ref = if kwargs.key?(:ref)
         
     | 
| 
      
 320 
     | 
    
         
            +
                            kwargs = kwargs.dup unless @withargs
         
     | 
| 
      
 321 
     | 
    
         
            +
                            kwargs.delete(:ref)
         
     | 
| 
      
 322 
     | 
    
         
            +
                          elsif @ref.is_a?(Symbol)
         
     | 
| 
      
 323 
     | 
    
         
            +
                            @ref
         
     | 
| 
      
 324 
     | 
    
         
            +
                          end
         
     | 
| 
      
 325 
     | 
    
         
            +
                    if @group.is_a?(String) && !kwargs.key?(:group)
         
     | 
| 
      
 326 
     | 
    
         
            +
                      kwargs = kwargs.dup unless @withargs
         
     | 
| 
      
 327 
     | 
    
         
            +
                      kwargs[:group] = @group
         
     | 
| 
      
 328 
     | 
    
         
            +
                    end
         
     | 
| 
       328 
329 
     | 
    
         
             
                    path = root + path
         
     | 
| 
       329 
330 
     | 
    
         
             
                    project = (project || path.basename).to_s
         
     | 
| 
       330 
331 
     | 
    
         
             
                    name = task_name project
         
     | 
| 
         @@ -354,14 +355,14 @@ module Squared 
     | 
|
| 
       354 
355 
     | 
    
         
             
                    end
         
     | 
| 
       355 
356 
     | 
    
         
             
                      .each do |dir, basename, opts|
         
     | 
| 
       356 
357 
     | 
    
         
             
                        args = kwargs.dup
         
     | 
| 
       357 
     | 
    
         
            -
                        args. 
     | 
| 
      
 358 
     | 
    
         
            +
                        args.update(opts) if opts
         
     | 
| 
       358 
359 
     | 
    
         
             
                        add(dir, basename, group: val, **args, &blk)
         
     | 
| 
       359 
360 
     | 
    
         
             
                      end
         
     | 
| 
       360 
361 
     | 
    
         
             
                    self
         
     | 
| 
       361 
362 
     | 
    
         
             
                  end
         
     | 
| 
       362 
363 
     | 
    
         | 
| 
       363 
364 
     | 
    
         
             
                  def compose(name, &blk)
         
     | 
| 
       364 
     | 
    
         
            -
                    namespace(task_name(name), &blk)
         
     | 
| 
      
 365 
     | 
    
         
            +
                    namespace(task_name(name), &blk) if block_given?
         
     | 
| 
       365 
366 
     | 
    
         
             
                    self
         
     | 
| 
       366 
367 
     | 
    
         
             
                  end
         
     | 
| 
       367 
368 
     | 
    
         | 
| 
         @@ -373,7 +374,7 @@ module Squared 
     | 
|
| 
       373 
374 
     | 
    
         
             
                  def style(obj, *args, target: nil, empty: false)
         
     | 
| 
       374 
375 
     | 
    
         
             
                    data = nil
         
     | 
| 
       375 
376 
     | 
    
         
             
                    if target
         
     | 
| 
       376 
     | 
    
         
            -
                       
     | 
| 
      
 377 
     | 
    
         
            +
                      as_a(target).each_with_index do |key, i|
         
     | 
| 
       377 
378 
     | 
    
         
             
                        if i == 0
         
     | 
| 
       378 
379 
     | 
    
         
             
                          break unless (data = __get__(:theme)[key.to_sym])
         
     | 
| 
       379 
380 
     | 
    
         
             
                        else
         
     | 
| 
         @@ -393,7 +394,7 @@ module Squared 
     | 
|
| 
       393 
394 
     | 
    
         
             
                    }
         
     | 
| 
       394 
395 
     | 
    
         
             
                    data.each do |key, val|
         
     | 
| 
       395 
396 
     | 
    
         
             
                      key = key.to_s
         
     | 
| 
       396 
     | 
    
         
            -
                      if key. 
     | 
| 
      
 397 
     | 
    
         
            +
                      if key.start_with?(/(\\A|\^)/) || key.match?(/(\\z|\$)\z/)
         
     | 
| 
       397 
398 
     | 
    
         
             
                        @describe[:replace] << [Regexp.new(key), val]
         
     | 
| 
       398 
399 
     | 
    
         
             
                      else
         
     | 
| 
       399 
400 
     | 
    
         
             
                        @describe[val.is_a?(Regexp) ? :pattern : :alias][key.to_s] = val
         
     | 
| 
         @@ -411,13 +412,13 @@ module Squared 
     | 
|
| 
       411 
412 
     | 
    
         
             
                    if ret.empty?
         
     | 
| 
       412 
413 
     | 
    
         
             
                      ret = @project.select { |_, item| item.ref?(ref) }.map(&:last) if ref
         
     | 
| 
       413 
414 
     | 
    
         
             
                      if ret.empty? && (path || name)
         
     | 
| 
       414 
     | 
    
         
            -
                        path &&= rootpath 
     | 
| 
      
 415 
     | 
    
         
            +
                        path &&= rootpath path
         
     | 
| 
       415 
416 
     | 
    
         
             
                        name &&= name.to_s
         
     | 
| 
       416 
417 
     | 
    
         
             
                        proj = @project.find { |_, item| (path && item.path == path) || (name && item.name == name) }&.last
         
     | 
| 
       417 
418 
     | 
    
         
             
                        ret << proj if proj
         
     | 
| 
       418 
419 
     | 
    
         
             
                      end
         
     | 
| 
       419 
420 
     | 
    
         
             
                    end
         
     | 
| 
       420 
     | 
    
         
            -
                    return (group || ref ? ret : ret 
     | 
| 
      
 421 
     | 
    
         
            +
                    return (group || ref ? ret : ret[0]) unless block_given?
         
     | 
| 
       421 
422 
     | 
    
         | 
| 
       422 
423 
     | 
    
         
             
                    ret.each(&blk)
         
     | 
| 
       423 
424 
     | 
    
         
             
                    self
         
     | 
| 
         @@ -479,7 +480,7 @@ module Squared 
     | 
|
| 
       479 
480 
     | 
    
         
             
                  end
         
     | 
| 
       480 
481 
     | 
    
         | 
| 
       481 
482 
     | 
    
         
             
                  def task_namespace(val, first: false)
         
     | 
| 
       482 
     | 
    
         
            -
                    return unless (ret = val.to_s.split(':')).size > 1
         
     | 
| 
      
 483 
     | 
    
         
            +
                    return nil unless (ret = val.to_s.split(':')).size > 1
         
     | 
| 
       483 
484 
     | 
    
         | 
| 
       484 
485 
     | 
    
         
             
                    first ? ret.first : task_join(*ret[0..-2])
         
     | 
| 
       485 
486 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -511,7 +512,7 @@ module Squared 
     | 
|
| 
       511 
512 
     | 
    
         
             
                      obj.allref.each do |ref|
         
     | 
| 
       512 
513 
     | 
    
         
             
                        next unless obj.has?(key, ref) && (alt = data[ref])
         
     | 
| 
       513 
514 
     | 
    
         | 
| 
       514 
     | 
    
         
            -
                        ret = task_resolve 
     | 
| 
      
 515 
     | 
    
         
            +
                        ret = task_resolve obj, alt
         
     | 
| 
       515 
516 
     | 
    
         
             
                        break unless ret.empty?
         
     | 
| 
       516 
517 
     | 
    
         
             
                      end
         
     | 
| 
       517 
518 
     | 
    
         
             
                    else
         
     | 
| 
         @@ -531,7 +532,7 @@ module Squared 
     | 
|
| 
       531 
532 
     | 
    
         
             
                  end
         
     | 
| 
       532 
533 
     | 
    
         | 
| 
       533 
534 
     | 
    
         
             
                  def format_desc(val, opts = nil, arg: 'opts*', before: nil, after: nil, out: false)
         
     | 
| 
       534 
     | 
    
         
            -
                    return unless TASK_METADATA 
     | 
| 
      
 535 
     | 
    
         
            +
                    return unless TASK_METADATA
         
     | 
| 
       535 
536 
     | 
    
         | 
| 
       536 
537 
     | 
    
         
             
                    val = val.split(':') if val.is_a?(String)
         
     | 
| 
       537 
538 
     | 
    
         
             
                    if before || after || opts
         
     | 
| 
         @@ -617,27 +618,13 @@ module Squared 
     | 
|
| 
       617 
618 
     | 
    
         
             
                  end
         
     | 
| 
       618 
619 
     | 
    
         | 
| 
       619 
620 
     | 
    
         
             
                  def home?
         
     | 
| 
       620 
     | 
    
         
            -
                     
     | 
| 
       621 
     | 
    
         
            -
             
     | 
| 
       622 
     | 
    
         
            -
                    proj.enabled?
         
     | 
| 
      
 621 
     | 
    
         
            +
                    !(proj = find(home)).nil? && proj.enabled?
         
     | 
| 
       623 
622 
     | 
    
         
             
                  end
         
     | 
| 
       624 
623 
     | 
    
         | 
| 
       625 
624 
     | 
    
         
             
                  def windows?
         
     | 
| 
       626 
625 
     | 
    
         
             
                    Rake::Win32.windows?
         
     | 
| 
       627 
626 
     | 
    
         
             
                  end
         
     | 
| 
       628 
627 
     | 
    
         | 
| 
       629 
     | 
    
         
            -
                  def mri?
         
     | 
| 
       630 
     | 
    
         
            -
                    RUBY_ENGINE == 'ruby'
         
     | 
| 
       631 
     | 
    
         
            -
                  end
         
     | 
| 
       632 
     | 
    
         
            -
             
     | 
| 
       633 
     | 
    
         
            -
                  def jruby?
         
     | 
| 
       634 
     | 
    
         
            -
                    RUBY_ENGINE == 'jruby'
         
     | 
| 
       635 
     | 
    
         
            -
                  end
         
     | 
| 
       636 
     | 
    
         
            -
             
     | 
| 
       637 
     | 
    
         
            -
                  def truffleruby?
         
     | 
| 
       638 
     | 
    
         
            -
                    RUBY_ENGINE == 'truffleruby'
         
     | 
| 
       639 
     | 
    
         
            -
                  end
         
     | 
| 
       640 
     | 
    
         
            -
             
     | 
| 
       641 
628 
     | 
    
         
             
                  def docker?
         
     | 
| 
       642 
629 
     | 
    
         
             
                    !Dir['/.dockerenv', '/docker-*.{sh,d}'].empty?
         
     | 
| 
       643 
630 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -674,10 +661,6 @@ module Squared 
     | 
|
| 
       674 
661 
     | 
    
         
             
                    { exception: exception, warning: warning }
         
     | 
| 
       675 
662 
     | 
    
         
             
                  end
         
     | 
| 
       676 
663 
     | 
    
         | 
| 
       677 
     | 
    
         
            -
                  def size
         
     | 
| 
       678 
     | 
    
         
            -
                    @project.size
         
     | 
| 
       679 
     | 
    
         
            -
                  end
         
     | 
| 
       680 
     | 
    
         
            -
             
     | 
| 
       681 
664 
     | 
    
         
             
                  def to_s
         
     | 
| 
       682 
665 
     | 
    
         
             
                    (home? ? home : root).to_s
         
     | 
| 
       683 
666 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -691,14 +674,9 @@ module Squared 
     | 
|
| 
       691 
674 
     | 
    
         
             
                  private
         
     | 
| 
       692 
675 
     | 
    
         | 
| 
       693 
676 
     | 
    
         
             
                  def __build__(default: nil, **)
         
     | 
| 
       694 
     | 
    
         
            -
                    unless task_defined?( 
     | 
| 
       695 
     | 
    
         
            -
             
     | 
| 
       696 
     | 
    
         
            -
             
     | 
| 
       697 
     | 
    
         
            -
                      end
         
     | 
| 
       698 
     | 
    
         
            -
                    end
         
     | 
| 
       699 
     | 
    
         
            -
                    if default && task_defined?(out = task_name(default))
         
     | 
| 
       700 
     | 
    
         
            -
                      task Rake.application.default_task_name => out
         
     | 
| 
       701 
     | 
    
         
            -
                    end
         
     | 
| 
      
 677 
     | 
    
         
            +
                    return unless default && task_defined?(out = task_name(default))
         
     | 
| 
      
 678 
     | 
    
         
            +
             
     | 
| 
      
 679 
     | 
    
         
            +
                    task Rake.application.default_task_name => out
         
     | 
| 
       702 
680 
     | 
    
         
             
                  end
         
     | 
| 
       703 
681 
     | 
    
         | 
| 
       704 
682 
     | 
    
         
             
                  def __chain__(*)
         
     | 
| 
         @@ -720,7 +698,7 @@ module Squared 
     | 
|
| 
       720 
698 
     | 
    
         
             
                          else
         
     | 
| 
       721 
699 
     | 
    
         
             
                            step = 0
         
     | 
| 
       722 
700 
     | 
    
         
             
                            catch :found do
         
     | 
| 
       723 
     | 
    
         
            -
                              has = ->(c, d) { c.any? { |e| e.is_a?(Regexp) ? d. 
     | 
| 
      
 701 
     | 
    
         
            +
                              has = ->(c, d) { c.any? { |e| e.is_a?(Regexp) ? d.start_with?(e) : d == e } }
         
     | 
| 
       724 
702 
     | 
    
         
             
                              w = data.with
         
     | 
| 
       725 
703 
     | 
    
         
             
                              a = data.after
         
     | 
| 
       726 
704 
     | 
    
         
             
                              b = data.before
         
     | 
| 
         @@ -779,7 +757,7 @@ module Squared 
     | 
|
| 
       779 
757 
     | 
    
         
             
                            end
         
     | 
| 
       780 
758 
     | 
    
         
             
                          end
         
     | 
| 
       781 
759 
     | 
    
         
             
                          if step == -1
         
     | 
| 
       782 
     | 
    
         
            -
                            level. 
     | 
| 
      
 760 
     | 
    
         
            +
                            level.prepend(data.action)
         
     | 
| 
       783 
761 
     | 
    
         
             
                            step = 0
         
     | 
| 
       784 
762 
     | 
    
         
             
                          elsif step > 0
         
     | 
| 
       785 
763 
     | 
    
         
             
                            (level[step -= 1] ||= []).concat(data.action)
         
     | 
| 
         @@ -800,8 +778,8 @@ module Squared 
     | 
|
| 
       800 
778 
     | 
    
         
             
                      format_desc key
         
     | 
| 
       801 
779 
     | 
    
         
             
                      task key do
         
     | 
| 
       802 
780 
     | 
    
         
             
                        unless failed.empty? && group.empty?
         
     | 
| 
       803 
     | 
    
         
            -
                          puts 
     | 
| 
       804 
     | 
    
         
            -
                                           subject: 'failed placement', hint: false 
     | 
| 
      
 781 
     | 
    
         
            +
                          puts log_message(Logger::ERROR, *(failed + group.map { |val| val.action }.flatten),
         
     | 
| 
      
 782 
     | 
    
         
            +
                                           subject: 'failed placement', hint: false, pass: true)
         
     | 
| 
       805 
783 
     | 
    
         
             
                        end
         
     | 
| 
       806 
784 
     | 
    
         
             
                        cols = level.flatten(1).map(&:size).max
         
     | 
| 
       807 
785 
     | 
    
         
             
                        level.each_with_index do |grp, n|
         
     | 
| 
         @@ -817,13 +795,13 @@ module Squared 
     | 
|
| 
       817 
795 
     | 
    
         
             
                    end
         
     | 
| 
       818 
796 
     | 
    
         
             
                  end
         
     | 
| 
       819 
797 
     | 
    
         | 
| 
       820 
     | 
    
         
            -
                  def puts(*args 
     | 
| 
       821 
     | 
    
         
            -
                     
     | 
| 
      
 798 
     | 
    
         
            +
                  def puts(*args)
         
     | 
| 
      
 799 
     | 
    
         
            +
                    puts_oe(*args, pipe: pipe)
         
     | 
| 
       822 
800 
     | 
    
         
             
                  end
         
     | 
| 
       823 
801 
     | 
    
         | 
| 
       824 
802 
     | 
    
         
             
                  def script_command(task, val, group, ref, on, &blk)
         
     | 
| 
       825 
803 
     | 
    
         
             
                    if block_given?
         
     | 
| 
       826 
     | 
    
         
            -
                      val =  
     | 
| 
      
 804 
     | 
    
         
            +
                      val = Support::RunData.new(val, blk)
         
     | 
| 
       827 
805 
     | 
    
         
             
                    elsif !val
         
     | 
| 
       828 
806 
     | 
    
         
             
                      return self
         
     | 
| 
       829 
807 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -835,8 +813,8 @@ module Squared 
     | 
|
| 
       835 
813 
     | 
    
         
             
                      items = as_a(ref, :to_sym)
         
     | 
| 
       836 
814 
     | 
    
         
             
                    end
         
     | 
| 
       837 
815 
     | 
    
         
             
                    items.each do |name|
         
     | 
| 
       838 
     | 
    
         
            -
                      @script[label][name][task] = val
         
     | 
| 
       839 
     | 
    
         
            -
                      @events[label][name][task] = on if on.is_a?(Hash)
         
     | 
| 
      
 816 
     | 
    
         
            +
                      (@script[label][name] ||= {})[task] = val
         
     | 
| 
      
 817 
     | 
    
         
            +
                      (@events[label][name] ||= {})[task] = on if on.is_a?(Hash)
         
     | 
| 
       840 
818 
     | 
    
         
             
                    end
         
     | 
| 
       841 
819 
     | 
    
         
             
                    self
         
     | 
| 
       842 
820 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -844,26 +822,24 @@ module Squared 
     | 
|
| 
       844 
822 
     | 
    
         
             
                  def script_set(data, group: nil, ref: nil)
         
     | 
| 
       845 
823 
     | 
    
         
             
                    data.freeze
         
     | 
| 
       846 
824 
     | 
    
         
             
                    if group
         
     | 
| 
       847 
     | 
    
         
            -
                       
     | 
| 
      
 825 
     | 
    
         
            +
                      as_a(group).each { |val| @script[:group!][val.to_sym] = data }
         
     | 
| 
       848 
826 
     | 
    
         
             
                    elsif ref
         
     | 
| 
       849 
     | 
    
         
            -
                       
     | 
| 
      
 827 
     | 
    
         
            +
                      as_a(ref).each { |val| @script[:ref!][val.to_sym] = data }
         
     | 
| 
       850 
828 
     | 
    
         
             
                    else
         
     | 
| 
       851 
829 
     | 
    
         
             
                      @script[:ref!][:''] = data
         
     | 
| 
       852 
830 
     | 
    
         
             
                    end
         
     | 
| 
       853 
831 
     | 
    
         
             
                  end
         
     | 
| 
       854 
832 
     | 
    
         | 
| 
       855 
833 
     | 
    
         
             
                  def data_get(*args, group: nil, ref: nil, target: nil)
         
     | 
| 
       856 
     | 
    
         
            -
                     
     | 
| 
       857 
     | 
    
         
            -
             
     | 
| 
       858 
     | 
    
         
            -
                    elsif ref.is_a?(Enumerable)
         
     | 
| 
      
 834 
     | 
    
         
            +
                    target[:group][group.to_sym] if group
         
     | 
| 
      
 835 
     | 
    
         
            +
                    if ref.is_a?(Enumerable)
         
     | 
| 
       859 
836 
     | 
    
         
             
                      ref.each do |key|
         
     | 
| 
       860 
     | 
    
         
            -
                        next unless target[:ref] 
     | 
| 
      
 837 
     | 
    
         
            +
                        next unless (ret = target[:ref][key])
         
     | 
| 
       861 
838 
     | 
    
         | 
| 
       862 
     | 
    
         
            -
                        ret = target[:ref][key]
         
     | 
| 
       863 
839 
     | 
    
         
             
                        return ret if args.empty? || args.any? { |val| ret.key?(val) }
         
     | 
| 
       864 
840 
     | 
    
         
             
                      end
         
     | 
| 
       865 
841 
     | 
    
         
             
                      nil
         
     | 
| 
       866 
     | 
    
         
            -
                    elsif ref 
     | 
| 
      
 842 
     | 
    
         
            +
                    elsif ref
         
     | 
| 
       867 
843 
     | 
    
         
             
                      target[:ref][ref]
         
     | 
| 
       868 
844 
     | 
    
         
             
                    end
         
     | 
| 
       869 
845 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -871,7 +847,7 @@ module Squared 
     | 
|
| 
       871 
847 
     | 
    
         
             
                  def root?(path, pass: [])
         
     | 
| 
       872 
848 
     | 
    
         
             
                    return false unless path.directory?
         
     | 
| 
       873 
849 
     | 
    
         | 
| 
       874 
     | 
    
         
            -
                    path. 
     | 
| 
      
 850 
     | 
    
         
            +
                    path.each_child do |c|
         
     | 
| 
       875 
851 
     | 
    
         
             
                      name = c.basename.to_s
         
     | 
| 
       876 
852 
     | 
    
         
             
                      next if c.to_s == __FILE__ || (@main == name && c.directory? && c.empty?) || pass.any? { |val| val == name }
         
     | 
| 
       877 
853 
     | 
    
         | 
| 
         @@ -881,14 +857,14 @@ module Squared 
     | 
|
| 
       881 
857 
     | 
    
         
             
                  end
         
     | 
| 
       882 
858 
     | 
    
         | 
| 
       883 
859 
     | 
    
         
             
                  def script?(state, target: nil, pat: nil, group: nil, ref: baseref, global: false)
         
     | 
| 
       884 
     | 
    
         
            -
                    data = script_find 
     | 
| 
      
 860 
     | 
    
         
            +
                    data = script_find ref, group
         
     | 
| 
       885 
861 
     | 
    
         
             
                    if global
         
     | 
| 
       886 
862 
     | 
    
         
             
                      target = data[:script] || data[:run] if target.nil?
         
     | 
| 
       887 
863 
     | 
    
         
             
                      pat = data[state] if pat.nil?
         
     | 
| 
       888 
864 
     | 
    
         
             
                    end
         
     | 
| 
       889 
865 
     | 
    
         
             
                    return false if state == :prod && data[:dev] == true && data[:global]
         
     | 
| 
       890 
866 
     | 
    
         | 
| 
       891 
     | 
    
         
            -
                    target && pat.is_a?(Regexp) ?  
     | 
| 
      
 867 
     | 
    
         
            +
                    target && pat.is_a?(Regexp) ? as_a(target).any?(pat) : pat == true
         
     | 
| 
       892 
868 
     | 
    
         
             
                  end
         
     | 
| 
       893 
869 
     | 
    
         | 
| 
       894 
870 
     | 
    
         
             
                  def scriptobj
         
     |