rya 0.0.1 → 0.1.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/Gemfile.lock +7 -1
- data/lib/rya/core_extensions.rb +88 -0
- data/lib/rya/version.rb +1 -1
- data/lib/rya.rb +14 -1
- data/rya.gemspec +4 -0
- metadata +50 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 5f8a75f1cb8b24ae881cba91acc95ba0aa87be6a
         | 
| 4 | 
            +
              data.tar.gz: 978b0461783ef0d85976095296552d0106714656
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: e285b89bf1b657ca1faf8a0f8a6ec10ed8bb3ae2f85d7398f9de32b2d3e72479e91c440e7ac4998d4b713eb7235d163e8318d7da71f5b61ab7ae3f6c2e533763
         | 
| 7 | 
            +
              data.tar.gz: 4b0850b41acbcfc6beb8eac997b26eaaad119cddc562a933dfc35c97df23ccb0e165d90c29c4d2311b4e9f43314c2423485b2666d62e29d7ebfea7c547e0d528
         | 
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,11 +1,14 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                rya (0.0 | 
| 4 | 
            +
                rya (0.1.0)
         | 
| 5 | 
            +
                  abort_if (~> 0.2.0)
         | 
| 6 | 
            +
                  systemu (~> 2.6, >= 2.6.5)
         | 
| 5 7 |  | 
| 6 8 | 
             
            GEM
         | 
| 7 9 | 
             
              remote: https://rubygems.org/
         | 
| 8 10 | 
             
              specs:
         | 
| 11 | 
            +
                abort_if (0.2.0)
         | 
| 9 12 | 
             
                diff-lcs (1.3)
         | 
| 10 13 | 
             
                rake (10.5.0)
         | 
| 11 14 | 
             
                rspec (3.7.0)
         | 
| @@ -21,6 +24,8 @@ GEM | |
| 21 24 | 
             
                  diff-lcs (>= 1.2.0, < 2.0)
         | 
| 22 25 | 
             
                  rspec-support (~> 3.7.0)
         | 
| 23 26 | 
             
                rspec-support (3.7.1)
         | 
| 27 | 
            +
                systemu (2.6.5)
         | 
| 28 | 
            +
                yard (0.9.15)
         | 
| 24 29 |  | 
| 25 30 | 
             
            PLATFORMS
         | 
| 26 31 | 
             
              ruby
         | 
| @@ -30,6 +35,7 @@ DEPENDENCIES | |
| 30 35 | 
             
              rake (~> 10.0)
         | 
| 31 36 | 
             
              rspec (~> 3.0)
         | 
| 32 37 | 
             
              rya!
         | 
| 38 | 
            +
              yard (~> 0.9.15)
         | 
| 33 39 |  | 
| 34 40 | 
             
            BUNDLED WITH
         | 
| 35 41 | 
             
               1.16.3
         | 
| @@ -0,0 +1,88 @@ | |
| 1 | 
            +
            module Rya
         | 
| 2 | 
            +
              # Contains extensions to core Ruby classes and modules.
         | 
| 3 | 
            +
              module CoreExtensions
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                module Time
         | 
| 6 | 
            +
                  # Nicely format date and time
         | 
| 7 | 
            +
                  def date_and_time fmt = "%F %T.%L"
         | 
| 8 | 
            +
                    Object::Time.now.strftime fmt
         | 
| 9 | 
            +
                  end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                  # Run whatever is in the block and log the time it takes.
         | 
| 12 | 
            +
                  def time_it title = "", logger = nil, run: true
         | 
| 13 | 
            +
                    if run
         | 
| 14 | 
            +
                      t = Object::Time.now
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                      yield
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                      time = Object::Time.now - t
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                      if title == ""
         | 
| 21 | 
            +
                        msg = "Finished in #{time} seconds"
         | 
| 22 | 
            +
                      else
         | 
| 23 | 
            +
                        msg = "#{title} finished in #{time} seconds"
         | 
| 24 | 
            +
                      end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                      if logger
         | 
| 27 | 
            +
                        logger.info msg
         | 
| 28 | 
            +
                      else
         | 
| 29 | 
            +
                        STDERR.puts msg
         | 
| 30 | 
            +
                      end
         | 
| 31 | 
            +
                    end
         | 
| 32 | 
            +
                  end
         | 
| 33 | 
            +
                end
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                module Process
         | 
| 36 | 
            +
                  include CoreExtensions::Time
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                  # Runs a command and outputs stdout and stderr
         | 
| 39 | 
            +
                  def run_it *a, &b
         | 
| 40 | 
            +
                    exit_status, stdout, stderr = systemu *a, &b
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                    puts stdout unless stdout.empty?
         | 
| 43 | 
            +
                    STDERR.puts stderr unless stderr.empty?
         | 
| 44 | 
            +
             | 
| 45 | 
            +
                    exit_status
         | 
| 46 | 
            +
                  end
         | 
| 47 | 
            +
             | 
| 48 | 
            +
                  # Like run_it() but will raise Rya::AbortIf::Exit on non-zero exit status.
         | 
| 49 | 
            +
                  def run_it! *a, &b
         | 
| 50 | 
            +
                    exit_status = self.run_it *a, &b
         | 
| 51 | 
            +
             | 
| 52 | 
            +
                    # Sometimes, exited? is not true and there will be no exit
         | 
| 53 | 
            +
                    # status. Success should catch all failures.
         | 
| 54 | 
            +
                    Rya::AbortIf.abort_unless exit_status.success?,
         | 
| 55 | 
            +
                                              "Command failed with status " +
         | 
| 56 | 
            +
                                                  "'#{exit_status.to_s}' " +
         | 
| 57 | 
            +
                                                  "when running '#{a.inspect}', " +
         | 
| 58 | 
            +
                                                  "'#{b.inspect}'"
         | 
| 59 | 
            +
             | 
| 60 | 
            +
                    exit_status
         | 
| 61 | 
            +
                  end
         | 
| 62 | 
            +
             | 
| 63 | 
            +
                  # Run a command and time it as well!
         | 
| 64 | 
            +
                  #
         | 
| 65 | 
            +
                  # @example
         | 
| 66 | 
            +
                  #
         | 
| 67 | 
            +
                  #   Process.extend Rya::CoreExtensions::Process
         | 
| 68 | 
            +
                  #   Time.extend Rya::CoreExtensions::Time
         | 
| 69 | 
            +
                  #
         | 
| 70 | 
            +
                  #   Process.run_and_time_it! "Saying hello",
         | 
| 71 | 
            +
                  #                            %Q{echo "hello world"}
         | 
| 72 | 
            +
                  #
         | 
| 73 | 
            +
                  #   Process.run_and_time_it! "This will raise SystemExit",
         | 
| 74 | 
            +
                  #                            "ls arstoeiarntoairnt"
         | 
| 75 | 
            +
                  def run_and_time_it! title = "",
         | 
| 76 | 
            +
                                       cmd = "",
         | 
| 77 | 
            +
                                       logger = Rya::AbortIf::logger,
         | 
| 78 | 
            +
                                       &b
         | 
| 79 | 
            +
             | 
| 80 | 
            +
                    Rya::AbortIf.logger.debug { "Running: #{cmd}" }
         | 
| 81 | 
            +
             | 
| 82 | 
            +
                    time_it title, logger do
         | 
| 83 | 
            +
                      run_it! cmd, &b
         | 
| 84 | 
            +
                    end
         | 
| 85 | 
            +
                  end
         | 
| 86 | 
            +
                end
         | 
| 87 | 
            +
              end
         | 
| 88 | 
            +
            end
         | 
    
        data/lib/rya/version.rb
    CHANGED
    
    
    
        data/lib/rya.rb
    CHANGED
    
    | @@ -1,5 +1,18 @@ | |
| 1 | 
            +
            require "abort_if"
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            # Needed for Rya::CoreExtensions::Process
         | 
| 4 | 
            +
            require "systemu"
         | 
| 5 | 
            +
             | 
| 1 6 | 
             
            require "rya/version"
         | 
| 7 | 
            +
            require "rya/core_extensions"
         | 
| 2 8 |  | 
| 3 9 | 
             
            module Rya
         | 
| 4 | 
            -
              #  | 
| 10 | 
            +
              # If you want to use AbortIf from this module, you can use it as Rya::AbortIf
         | 
| 11 | 
            +
              module AbortIf
         | 
| 12 | 
            +
                # To include the methods
         | 
| 13 | 
            +
                extend Object::AbortIf
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                # To include the helper classes
         | 
| 16 | 
            +
                include Object::AbortIf
         | 
| 17 | 
            +
              end
         | 
| 5 18 | 
             
            end
         | 
    
        data/rya.gemspec
    CHANGED
    
    | @@ -25,4 +25,8 @@ Gem::Specification.new do |spec| | |
| 25 25 | 
             
              spec.add_development_dependency "bundler", "~> 1.16"
         | 
| 26 26 | 
             
              spec.add_development_dependency "rake", "~> 10.0"
         | 
| 27 27 | 
             
              spec.add_development_dependency "rspec", "~> 3.0"
         | 
| 28 | 
            +
              spec.add_development_dependency "yard", "~> 0.9.15"
         | 
| 29 | 
            +
             | 
| 30 | 
            +
              spec.add_runtime_dependency "abort_if", "~> 0.2.0"
         | 
| 31 | 
            +
              spec.add_runtime_dependency "systemu", "~> 2.6", ">= 2.6.5"
         | 
| 28 32 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rya
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0 | 
| 4 | 
            +
              version: 0.1.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Ryan Moore
         | 
| @@ -52,6 +52,54 @@ dependencies: | |
| 52 52 | 
             
                - - "~>"
         | 
| 53 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 54 | 
             
                    version: '3.0'
         | 
| 55 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 56 | 
            +
              name: yard
         | 
| 57 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 58 | 
            +
                requirements:
         | 
| 59 | 
            +
                - - "~>"
         | 
| 60 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 61 | 
            +
                    version: 0.9.15
         | 
| 62 | 
            +
              type: :development
         | 
| 63 | 
            +
              prerelease: false
         | 
| 64 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 65 | 
            +
                requirements:
         | 
| 66 | 
            +
                - - "~>"
         | 
| 67 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 68 | 
            +
                    version: 0.9.15
         | 
| 69 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 70 | 
            +
              name: abort_if
         | 
| 71 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 72 | 
            +
                requirements:
         | 
| 73 | 
            +
                - - "~>"
         | 
| 74 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 75 | 
            +
                    version: 0.2.0
         | 
| 76 | 
            +
              type: :runtime
         | 
| 77 | 
            +
              prerelease: false
         | 
| 78 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 79 | 
            +
                requirements:
         | 
| 80 | 
            +
                - - "~>"
         | 
| 81 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 82 | 
            +
                    version: 0.2.0
         | 
| 83 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 84 | 
            +
              name: systemu
         | 
| 85 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 86 | 
            +
                requirements:
         | 
| 87 | 
            +
                - - "~>"
         | 
| 88 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 89 | 
            +
                    version: '2.6'
         | 
| 90 | 
            +
                - - ">="
         | 
| 91 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 92 | 
            +
                    version: 2.6.5
         | 
| 93 | 
            +
              type: :runtime
         | 
| 94 | 
            +
              prerelease: false
         | 
| 95 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 96 | 
            +
                requirements:
         | 
| 97 | 
            +
                - - "~>"
         | 
| 98 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 99 | 
            +
                    version: '2.6'
         | 
| 100 | 
            +
                - - ">="
         | 
| 101 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 102 | 
            +
                    version: 2.6.5
         | 
| 55 103 | 
             
            description: My personal library
         | 
| 56 104 | 
             
            email:
         | 
| 57 105 | 
             
            - moorer@udel.edu
         | 
| @@ -71,6 +119,7 @@ files: | |
| 71 119 | 
             
            - bin/console
         | 
| 72 120 | 
             
            - bin/setup
         | 
| 73 121 | 
             
            - lib/rya.rb
         | 
| 122 | 
            +
            - lib/rya/core_extensions.rb
         | 
| 74 123 | 
             
            - lib/rya/version.rb
         | 
| 75 124 | 
             
            - rya.gemspec
         | 
| 76 125 | 
             
            homepage: https://github.com/mooreryan/rya
         |