ldgr 0.1.9 → 0.2.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/ldgr.taskpaper +7 -0
- data/lib/ldgr/parser.rb +13 -42
- data/lib/ldgr/version.rb +1 -1
- metadata +3 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: fc54d8ad8843b07557dc9899ddcdb9e06660d04c
         | 
| 4 | 
            +
              data.tar.gz: 8ec9ca15d94b1ce04e50eb3016cd486a4e4c5211
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 355664a991caf16c7dcb27a89ebb8c36a01a2cf6c8ae040e8b7471262eeb022d2d1052a263f6618ac128ddba4aedacf48bbf4771551b3c7920dc6995f5fe25d8
         | 
| 7 | 
            +
              data.tar.gz: 9d6ae1acc579e2d0fdc4438a17078c0a93c266c4d909cf842f2c524e9328dccb699194cd06fc5c78ed3741138ff656d4465a613e7b17b28ffcd58ce47202fb89
         | 
    
        data/ldgr.taskpaper
    ADDED
    
    
    
        data/lib/ldgr/parser.rb
    CHANGED
    
    | @@ -25,6 +25,7 @@ module Ldgr | |
| 25 25 | 
             
                PROGRAM_NAME = 'ldgr'
         | 
| 26 26 | 
             
                MATCH = /(?=(\n\d\d\d\d-\d\d-\d\d)(=\d\d\d\d-\d\d-\d\d)*)|\z/
         | 
| 27 27 | 
             
                OTHER_MATCH = /(?=(\d\d\d\d-\d\d-\d\d)(=\d\d\d\d-\d\d-\d\d)*)/
         | 
| 28 | 
            +
                COMMANDS = %w(add sort tag clear open)
         | 
| 28 29 |  | 
| 29 30 | 
             
                attr_accessor :transactions_file, :config
         | 
| 30 31 |  | 
| @@ -53,29 +54,7 @@ module Ldgr | |
| 53 54 | 
             
                # Returns a hash of user-specified config options.
         | 
| 54 55 | 
             
                def user_config
         | 
| 55 56 | 
             
                  path = Pathname(FILEBASE + 'ldgr.yaml')
         | 
| 56 | 
            -
                  YAML.load_file(path).to_h
         | 
| 57 | 
            -
                end
         | 
| 58 | 
            -
             | 
| 59 | 
            -
                # Public: available commands
         | 
| 60 | 
            -
                #
         | 
| 61 | 
            -
                # Examples
         | 
| 62 | 
            -
                #
         | 
| 63 | 
            -
                #   commands
         | 
| 64 | 
            -
                #
         | 
| 65 | 
            -
                # Returns an array of command names.
         | 
| 66 | 
            -
                def commands
         | 
| 67 | 
            -
                  %w(add sort tag clear open)
         | 
| 68 | 
            -
                end
         | 
| 69 | 
            -
             | 
| 70 | 
            -
                # Public: expected setup files
         | 
| 71 | 
            -
                #
         | 
| 72 | 
            -
                # Examples
         | 
| 73 | 
            -
                #
         | 
| 74 | 
            -
                #   setup_files
         | 
| 75 | 
            -
                #
         | 
| 76 | 
            -
                # Returns an array of file names.
         | 
| 77 | 
            -
                def self.setup_files
         | 
| 78 | 
            -
                  %w(transactions.dat accounts.dat budgets.dat aliases.dat commodities.dat setup.dat ledger.dat ldgr.yaml)
         | 
| 57 | 
            +
                  path.exist? ? YAML.load_file(path).to_h : {}
         | 
| 79 58 | 
             
                end
         | 
| 80 59 |  | 
| 81 60 | 
             
                # Public: Kicks off the CLI
         | 
| @@ -86,6 +65,8 @@ module Ldgr | |
| 86 65 | 
             
                #
         | 
| 87 66 | 
             
                # Returns nothing.
         | 
| 88 67 | 
             
                def parse
         | 
| 68 | 
            +
                  setup
         | 
| 69 | 
            +
             | 
| 89 70 | 
             
                  cli = OptionParser.new do |o|
         | 
| 90 71 | 
             
                    o.banner = "Usage #{PROGRAM_NAME} [add|sort|tag|clear|open]"
         | 
| 91 72 | 
             
                    o.program_name = PROGRAM_NAME
         | 
| @@ -103,7 +84,7 @@ module Ldgr | |
| 103 84 | 
             
                  end
         | 
| 104 85 |  | 
| 105 86 | 
             
                  command = String(cli.parse(ARGV, into: config)[0])
         | 
| 106 | 
            -
                  send(command) if  | 
| 87 | 
            +
                  send(command) if COMMANDS.include? command
         | 
| 107 88 | 
             
                end
         | 
| 108 89 |  | 
| 109 90 | 
             
                # Public: Adds a transaction to the transactions_file.
         | 
| @@ -238,6 +219,8 @@ module Ldgr | |
| 238 219 | 
             
                  open_file(ARGV[1])
         | 
| 239 220 | 
             
                end
         | 
| 240 221 |  | 
| 222 | 
            +
                private :open
         | 
| 223 | 
            +
             | 
| 241 224 | 
             
                # Public: ldgr's default configuration options
         | 
| 242 225 | 
             
                #
         | 
| 243 226 | 
             
                # Examples
         | 
| @@ -260,25 +243,13 @@ module Ldgr | |
| 260 243 | 
             
                # Private: Prepares users' file system for ldgr.
         | 
| 261 244 | 
             
                #
         | 
| 262 245 | 
             
                # Returns nothing.
         | 
| 263 | 
            -
                def  | 
| 264 | 
            -
                   | 
| 265 | 
            -
             | 
| 266 | 
            -
             | 
| 267 | 
            -
             | 
| 268 | 
            -
                    end
         | 
| 269 | 
            -
                  end
         | 
| 270 | 
            -
                end
         | 
| 271 | 
            -
             | 
| 272 | 
            -
                # Private: Checks if user already has setup files created.
         | 
| 273 | 
            -
                #
         | 
| 274 | 
            -
                # Returns nothing.
         | 
| 275 | 
            -
                def self.config_exist?
         | 
| 276 | 
            -
                 setup_files.each do |file|
         | 
| 277 | 
            -
                    return false unless Pathname("#{FILEBASE}#{file}").exist?
         | 
| 246 | 
            +
                def setup
         | 
| 247 | 
            +
                  setup_files = %w(transactions.dat accounts.dat budgets.dat aliases.dat commodities.dat setup.dat ledger.dat ldgr.yaml)
         | 
| 248 | 
            +
                  FileUtils.mkdir_p(FILEBASE)
         | 
| 249 | 
            +
                  setup_files.each do |file|
         | 
| 250 | 
            +
                    FileUtils.touch("#{FILEBASE}#{file}")
         | 
| 278 251 | 
             
                  end
         | 
| 279 | 
            -
                  true
         | 
| 280 252 | 
             
                end
         | 
| 281 | 
            -
             | 
| 282 | 
            -
                setup
         | 
| 253 | 
            +
                private :setup
         | 
| 283 254 | 
             
              end
         | 
| 284 255 | 
             
            end
         | 
    
        data/lib/ldgr/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: ldgr
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.2.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Brandon Pittman
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2017-02- | 
| 11 | 
            +
            date: 2017-02-09 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: highline
         | 
| @@ -98,6 +98,7 @@ files: | |
| 98 98 | 
             
            - bin/ldgr
         | 
| 99 99 | 
             
            - bin/setup
         | 
| 100 100 | 
             
            - ldgr.gemspec
         | 
| 101 | 
            +
            - ldgr.taskpaper
         | 
| 101 102 | 
             
            - lib/ldgr.rb
         | 
| 102 103 | 
             
            - lib/ldgr/parser.rb
         | 
| 103 104 | 
             
            - lib/ldgr/transaction.rb
         |