ballista 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 98d859e7cd342d957cb3a859d1c0dbad9d0e9b3e
4
- data.tar.gz: ce880f15be9b6b97d1dfb2f0366bd72b941cd45d
2
+ SHA256:
3
+ metadata.gz: 908c4d0abe9c14c6d26198e78b7e4bf02cf701079bb2adad1a903d7787cd7ddf
4
+ data.tar.gz: c1e953583fe7f32b7102bfe4f3924d74a9394fb51f08c8e8855141890a1ad391
5
5
  SHA512:
6
- metadata.gz: c19d72ea5c1387012e4630c8410e076acb5cc7327a0e4121434dec4f42a9d78c1d903f21e67567560edb8fd9a115b2b8012894528bc7df02f278f3f410d9359d
7
- data.tar.gz: 0f34f5fc4284b40dd31c664787c7baaf773bd27129b4e3c93af9c4287089c7a39ee0f561cef466cba3ef4321711153c945962cc987ed057a858c280c52568079
6
+ metadata.gz: 8378709556a8a7661640a639584679aaa2d241760738ffa2340e9fd67bc78a349c446cc8eac1bed3b191df4d7315d3f650fde1f7dc97b9b6f31bdd803d2a4603
7
+ data.tar.gz: c4b2cb1ca8e1597fa8e241229501cd81aad6c926acf80ff47408b26b6e3b7ec9f858d176b837b77a75ea407978c3fb2ea3c5433f039256e5950cbeac0a86c3ef
data/.circle-ruby ADDED
@@ -0,0 +1,4 @@
1
+ 2.6.1
2
+ 2.5.3
3
+ 2.4.5
4
+ 2.3.8
data/.prospectus CHANGED
@@ -1,11 +1,11 @@
1
+ my_slug = 'akerl/ballista'
2
+
3
+ Prospectus.extra_dep('file', 'prospectus_travis')
4
+ Prospectus.extra_dep('file', 'prospectus_gems')
5
+
1
6
  item do
2
- expected do
3
- static
4
- set 'green'
5
- end
7
+ noop
6
8
 
7
- actual do
8
- gemnasium
9
- slug 'akerl/ballista'
10
- end
9
+ extend ProspectusGems::Gemspec.new
10
+ extend ProspectusTravis::Build.new(my_slug)
11
11
  end
data/.rubocop.yml CHANGED
@@ -1,2 +1,2 @@
1
- Encoding:
2
- Enabled: false
1
+ inherit_gem:
2
+ goodcop: .rubocop.yml
data/.travis.yml ADDED
@@ -0,0 +1,10 @@
1
+ dist: xenial
2
+ install:
3
+ - for i in $(cat .circle-ruby) ; do rvm install $i || exit 1 ; done
4
+ - for i in $(cat .circle-ruby) ; do rvm-exec $i bundle install || exit 1 ; done
5
+ script:
6
+ - for i in $(cat .circle-ruby) ; do rvm-exec $i bundle exec rake || exit 1 ; done
7
+ notifications:
8
+ email: false
9
+ slack:
10
+ secure: BrYLyxYCfTN/nK4VrKkXh9HxqIu2Vtz1L4TbW8AtHPsCxOMj650yuwmZncgq06DYQWW8v1Sch/KcXTTmOJvN4ebW3oVRfLCPzBzheHij5EPLkAo8uR8703iHZfJtGLGsx7Dc7x2Ohgtv+aHtK89RHp0ZR9hIUwC6Z3PJP6W0u9N/p3Cq4sum+QnANIhW/wjJt9koTGRp80NN6e70siB64OrpzOGCIm1cLBa9m2Oqc0pM/NcBI6IFYFAlbJmOHnvm1/QS8KVW361soUbVGBEr0FtlNNcy4k0bY5TUiciSe2kAM/F72uumumkvztNEKZpYibP/7UxoTGzyX2GEysJJxkDnmquUh01Uzfc0VbAA7bnkL/YmXHLMu/u3Vqq2DbjymFPyYSFtjznw05SXQNVcqJ7IGkb1//5XiEc5YH8g5qjU7ma7eZdZe7Rd81gZ8ePIzrjXhq+7lX3pLY/GpLMcJs2XQlHTatSZ5BjBZcpEjfBTVb7uD5G/6afKXm5l+6M8uB16zMjnxtFfi/11mLLjScaE9h4SiCtiAG0E58pHlbBbrmBkqlxc7PmXTS5wGIg6qRzsU9SrJeKSPv8UnN7bcndA9JdoCKTRDELremtbPDpehAkaX5mi/5Uw+/FQ4Qx19S+WToMMRaGcvzzyDf13twKIgrZMTBvJHw1Qyhiu7Gk=
data/Gemfile CHANGED
@@ -1,4 +1,3 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
-
data/README.md CHANGED
@@ -2,8 +2,7 @@ ballista
2
2
  =========
3
3
 
4
4
  [![Gem Version](https://img.shields.io/gem/v/ballista.svg)](https://rubygems.org/gems/ballista)
5
- [![Dependency Status](https://img.shields.io/gemnasium/akerl/ballista.svg)](https://gemnasium.com/akerl/ballista)
6
- [![Build Status](https://img.shields.io/circleci/project/akerl/ballista.svg)](https://circleci.com/gh/akerl/ballista)
5
+ [![Build Status](https://img.shields.io/travis/com/akerl/ballista.svg)](https://travis-ci.com/akerl/ballista)
7
6
  [![Coverage Status](https://img.shields.io/codecov/c/github/akerl/ballista.svg)](https://codecov.io/github/akerl/ballista)
8
7
  [![Code Quality](https://img.shields.io/codacy/c9caebd934f04ca699d1f02fac6dcf22.svg)](https://www.codacy.com/app/akerl/ballista)
9
8
  [![MIT Licensed](https://img.shields.io/badge/license-MIT-green.svg)](https://tldrlegal.com/license/mit-license)
@@ -12,6 +11,37 @@ Helper for projecting based on [Ledger](http://www.ledger-cli.org/) format.
12
11
 
13
12
  ## Usage
14
13
 
14
+ To make a new Projection object, use `Ballista.new(entries: my_config)`. my_config should be a hash of projection entries, like this:
15
+
16
+ ```
17
+ - name: Pay Check
18
+ when:
19
+ - 15
20
+ - 30
21
+ actions:
22
+ Expenses:Taxes:federal_income: $729.26
23
+ Expenses:Taxes:va_income: $215.14
24
+ Expenses:Taxes:social_security: $299.46
25
+ Expenses:Taxes:medicare: $70.04
26
+ Assets:Checking:simple: $2739.10
27
+ Assets:401K:Trad:work: $772.00
28
+ Income:Salary:work: $-4825.00
29
+ - name: Automatic transfer to Savings
30
+ when: 2
31
+ actions:
32
+ Assets:Savings:ally: $1000.00
33
+ Assets:Checking:simple: null
34
+ - name: Rent
35
+ when: 2
36
+ actions:
37
+ Expenses:Bills:rent: $2800.00
38
+ Assets:Checking:simple: null
39
+ ```
40
+
41
+ To do a projection, call `.project(start_dt, end_dt)` on your created object. The dates should be Ruby Date objects.
42
+
43
+ The returned object will be a Ledger journal, courtesy of [libledger](https://github.com/akerl/libledger). As such, you can inspect the .entries as well as use .to_s or puts to print it in ledger text file format.
44
+
15
45
  ## Installation
16
46
 
17
47
  gem install ballista
data/Rakefile CHANGED
@@ -7,8 +7,7 @@ RSpec::Core::RakeTask.new(:spec)
7
7
 
8
8
  desc 'Run Rubocop on the gem'
9
9
  RuboCop::RakeTask.new(:rubocop) do |task|
10
- task.patterns = ['lib/**/*.rb', 'spec/**/*.rb', 'bin/*']
11
10
  task.fail_on_error = true
12
11
  end
13
12
 
14
- task default: [:spec, :rubocop, :build, :install]
13
+ task default: %i[spec rubocop build install]
data/ballista.gemspec CHANGED
@@ -1,13 +1,15 @@
1
- $:.unshift File.expand_path('../lib/', __FILE__)
1
+ require 'English'
2
+ $LOAD_PATH.unshift File.expand_path('lib', __dir__)
2
3
  require 'ballista/version'
3
4
 
4
5
  Gem::Specification.new do |s|
5
6
  s.name = 'ballista'
6
7
  s.version = Ballista::VERSION
7
8
  s.date = Time.now.strftime('%Y-%m-%d')
9
+ s.required_ruby_version = '>= 2.5.0'
8
10
 
9
11
  s.summary = 'Projection tool for Ledger format'
10
- s.description = "Projection tool for Ledger format"
12
+ s.description = 'Projection tool for Ledger format'
11
13
  s.authors = ['Les Aker']
12
14
  s.email = 'me@lesaker.org'
13
15
  s.homepage = 'https://github.com/akerl/ballista'
@@ -17,13 +19,12 @@ Gem::Specification.new do |s|
17
19
  s.test_files = `git ls-files spec/*`.split
18
20
  s.executables = ['ballista']
19
21
 
20
- s.add_dependency 'libledger', '~> 0.0.1'
21
- s.add_dependency 'mercenary', '~> 0.3.4'
22
- s.add_dependency 'cymbal', '~> 1.0.0'
22
+ s.add_dependency 'cymbal', '~> 2.0.0'
23
+ s.add_dependency 'libledger', '~> 0.0.8'
24
+ s.add_dependency 'mercenary', '~> 0.4.0'
23
25
 
24
- s.add_development_dependency 'rubocop', '~> 0.39.0'
25
- s.add_development_dependency 'rake', '~> 11.1.0'
26
- s.add_development_dependency 'codecov', '~> 0.1.1'
27
- s.add_development_dependency 'rspec', '~> 3.4.0'
28
- s.add_development_dependency 'fuubar', '~> 2.0.0'
26
+ s.add_development_dependency 'codecov', '~> 0.5.1'
27
+ s.add_development_dependency 'goodcop', '~> 0.9.3'
28
+ s.add_development_dependency 'rake', '~> 13.0.3'
29
+ s.add_development_dependency 'rspec', '~> 3.10.0'
29
30
  end
data/bin/ballista CHANGED
@@ -4,9 +4,28 @@ require 'ballista'
4
4
  require 'yaml'
5
5
  require 'mercenary'
6
6
  require 'cymbal'
7
+ require 'date'
7
8
 
8
9
  def parse_config(file)
9
- Cymbal.symbolize(YAML.load(File.read(file)))
10
+ Cymbal.symbolize(YAML.safe_load(File.read(file)))
11
+ end
12
+
13
+ def count_months(months)
14
+ return unless months
15
+ start_dt = Date.today + 1
16
+ end_dt = start_dt >> months.to_i
17
+ [start_dt, end_dt]
18
+ end
19
+
20
+ def parse_start_end(start_dt, end_dt)
21
+ return unless start_dt || end_dt
22
+ raise('Must specify start and end together') unless start_dt && end_dt
23
+ [Date.parse(start_dt), Date.parse(end_dt)]
24
+ end
25
+
26
+ def parse_range(months, start_dt, end_dt)
27
+ raise('Cannot specify months *and* start/end') if months && (start_dt || end_dt)
28
+ count_months(months) || parse_start_end(start_dt, end_dt) || count_months(12)
10
29
  end
11
30
 
12
31
  Mercenary.program(:ballista) do |p|
@@ -16,13 +35,17 @@ Mercenary.program(:ballista) do |p|
16
35
 
17
36
  p.option :output, '-o FILE', '--output FILE', 'Output file for ledger'
18
37
  p.option :months, '-m INT', '--months INT', 'How far ahead to project'
38
+ p.option :start, '-s DATE', '--start DATE', 'When to start the projection'
39
+ p.option :end, '-e DATE', '--end DATE', 'When to end the projection'
19
40
 
20
41
  p.action do |_, options|
21
42
  config_file = ARGV.shift
22
43
  puts p unless config_file
23
44
  config = parse_config(config_file)
24
- months = options[:months] || 12
25
- projection = Ballista.new(entries: config).project(months)
45
+
46
+ start_dt, end_dt = parse_range(*options.values_at(:months, :start, :end))
47
+
48
+ projection = Ballista.new(entries: config).project(start_dt, end_dt)
26
49
  if options[:output]
27
50
  File.open(options[:output], 'w') { |fh| fh << projection.to_s }
28
51
  else
data/lib/ballista.rb CHANGED
@@ -13,3 +13,4 @@ end
13
13
 
14
14
  require 'ballista/version'
15
15
  require 'ballista/projection'
16
+ require 'ballista/frequencies'
@@ -0,0 +1,18 @@
1
+ require 'ballista/frequencies/base'
2
+ require 'ballista/frequencies/monthly'
3
+ require 'ballista/frequencies/weekly'
4
+ require 'ballista/frequencies/biweekly'
5
+
6
+ module Ballista
7
+ ##
8
+ # Base module for Frequency of actions
9
+ module Frequencies
10
+ class << self
11
+ FREQUENCIES = {
12
+ monthly: Monthly,
13
+ weekly: Weekly,
14
+ biweekly: Biweekly
15
+ }.freeze
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,21 @@
1
+ require 'date'
2
+
3
+ module Ballista
4
+ module Frequencies
5
+ ##
6
+ # Base class for frequency subclasses
7
+ class Base
8
+ def initialize(action, start, stop)
9
+ @name = action[:name]
10
+ @start = action[:starts] ? Date.parse(action[:starts]) : start
11
+ @stop = action[:stops] ? Date.parse(action[:stops]) : stop
12
+ @amount = action[:amount].to_i
13
+ @when = action[:when]
14
+ end
15
+
16
+ def entry(date)
17
+ [date, @name, @amount]
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,11 @@
1
+ module Ballista
2
+ module Frequencies
3
+ ##
4
+ # Biweekly actions
5
+ class Biweekly < Weekly
6
+ def step
7
+ 14
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,27 @@
1
+ module Ballista
2
+ module Frequencies
3
+ ##
4
+ # Monthly actions
5
+ class Monthly < Base
6
+ def initialize(*_)
7
+ super
8
+ @when = [@when] unless @when.is_a? Array
9
+ end
10
+
11
+ def log
12
+ @when.flat_map do |date|
13
+ pointer = Date.new(Date.today.year, 1, date)
14
+ get_dates([], pointer, 0)
15
+ end
16
+ end
17
+
18
+ def get_dates(log, pointer, counter)
19
+ date = pointer >> counter
20
+ return log if date > @stop
21
+ return get_dates(log, pointer, counter + 1) if date < @start
22
+ log << entry(date)
23
+ get_dates(log, pointer, counter + 1)
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,23 @@
1
+ module Ballista
2
+ module Frequencies
3
+ ##
4
+ # Weekly actions
5
+ class Weekly < Base
6
+ def log
7
+ pointer = Date.parse(@when)
8
+ get_dates([], pointer)
9
+ end
10
+
11
+ def get_dates(log, pointer)
12
+ return log if pointer > @stop
13
+ return get_dates(log, pointer + step) if pointer < @start
14
+ log << entry(pointer)
15
+ get_dates(log, pointer + step)
16
+ end
17
+
18
+ def step
19
+ 7
20
+ end
21
+ end
22
+ end
23
+ end
@@ -9,10 +9,8 @@ module Ballista
9
9
  @entries = params[:entries]
10
10
  end
11
11
 
12
- def project(months)
13
- start = Date.today + 1
14
- finish = start >> months
15
- entries = start.upto(finish).map { |date| parse_day(date) }
12
+ def project(start_dt, end_dt)
13
+ entries = start_dt.upto(end_dt).map { |date| parse_day(date) }
16
14
  Ledger.new(entries: entries.flatten)
17
15
  end
18
16
 
@@ -29,7 +27,7 @@ module Ballista
29
27
  def out_of_bounds?(entry, date)
30
28
  if entry[:starts] && Date.parse(entry[:starts]) > date
31
29
  true
32
- elsif entry[:ends] && Date.parse(entry[:ends]) < date
30
+ elsif entry[:ends] && Date.parse(entry[:ends]) < date # rubocop:disable Lint/DuplicateBranch
33
31
  true
34
32
  else
35
33
  false
@@ -41,7 +39,7 @@ module Ballista
41
39
  calendar[fake_day].map do |entry|
42
40
  next if out_of_bounds?(entry, date)
43
41
  build_entry(entry, date)
44
- end
42
+ end.compact
45
43
  end
46
44
  end
47
45
 
@@ -1,5 +1,5 @@
1
1
  ##
2
2
  # Set the version (needed for Mercenary -v)
3
3
  module Ballista
4
- VERSION = '0.0.1'.freeze
4
+ VERSION = '0.1.0'.freeze
5
5
  end
metadata CHANGED
@@ -1,127 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ballista
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Les Aker
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-25 00:00:00.000000000 Z
11
+ date: 2021-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: libledger
14
+ name: cymbal
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.0.1
19
+ version: 2.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.0.1
26
+ version: 2.0.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: mercenary
28
+ name: libledger
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.3.4
33
+ version: 0.0.8
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.3.4
40
+ version: 0.0.8
41
41
  - !ruby/object:Gem::Dependency
42
- name: cymbal
42
+ name: mercenary
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.0.0
47
+ version: 0.4.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.0.0
54
+ version: 0.4.0
55
55
  - !ruby/object:Gem::Dependency
56
- name: rubocop
56
+ name: codecov
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.39.0
61
+ version: 0.5.1
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.39.0
68
+ version: 0.5.1
69
69
  - !ruby/object:Gem::Dependency
70
- name: rake
70
+ name: goodcop
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 11.1.0
75
+ version: 0.9.3
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 11.1.0
82
+ version: 0.9.3
83
83
  - !ruby/object:Gem::Dependency
84
- name: codecov
84
+ name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.1.1
89
+ version: 13.0.3
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.1.1
96
+ version: 13.0.3
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 3.4.0
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: 3.4.0
111
- - !ruby/object:Gem::Dependency
112
- name: fuubar
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: 2.0.0
103
+ version: 3.10.0
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
122
108
  - - "~>"
123
109
  - !ruby/object:Gem::Version
124
- version: 2.0.0
110
+ version: 3.10.0
125
111
  description: Projection tool for Ledger format
126
112
  email: me@lesaker.org
127
113
  executables:
@@ -129,18 +115,24 @@ executables:
129
115
  extensions: []
130
116
  extra_rdoc_files: []
131
117
  files:
118
+ - ".circle-ruby"
132
119
  - ".gitignore"
133
120
  - ".prospectus"
134
121
  - ".rspec"
135
122
  - ".rubocop.yml"
123
+ - ".travis.yml"
136
124
  - Gemfile
137
125
  - LICENSE
138
126
  - README.md
139
127
  - Rakefile
140
128
  - ballista.gemspec
141
129
  - bin/ballista
142
- - circle.yml
143
130
  - lib/ballista.rb
131
+ - lib/ballista/frequencies.rb
132
+ - lib/ballista/frequencies/base.rb
133
+ - lib/ballista/frequencies/biweekly.rb
134
+ - lib/ballista/frequencies/monthly.rb
135
+ - lib/ballista/frequencies/weekly.rb
144
136
  - lib/ballista/projection.rb
145
137
  - lib/ballista/version.rb
146
138
  - spec/ballista_spec.rb
@@ -149,7 +141,7 @@ homepage: https://github.com/akerl/ballista
149
141
  licenses:
150
142
  - MIT
151
143
  metadata: {}
152
- post_install_message:
144
+ post_install_message:
153
145
  rdoc_options: []
154
146
  require_paths:
155
147
  - lib
@@ -157,16 +149,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
157
149
  requirements:
158
150
  - - ">="
159
151
  - !ruby/object:Gem::Version
160
- version: '0'
152
+ version: 2.5.0
161
153
  required_rubygems_version: !ruby/object:Gem::Requirement
162
154
  requirements:
163
155
  - - ">="
164
156
  - !ruby/object:Gem::Version
165
157
  version: '0'
166
158
  requirements: []
167
- rubyforge_project:
168
- rubygems_version: 2.5.1
169
- signing_key:
159
+ rubygems_version: 3.1.2
160
+ signing_key:
170
161
  specification_version: 4
171
162
  summary: Projection tool for Ledger format
172
163
  test_files:
data/circle.yml DELETED
@@ -1,12 +0,0 @@
1
- dependencies:
2
- override:
3
- - 'rvm-exec 1.9.3-p551 bundle install'
4
- - 'rvm-exec 2.0.0-p645 bundle install'
5
- - 'rvm-exec 2.1.6 bundle install'
6
- - 'rvm-exec 2.2.2 bundle install'
7
- test:
8
- override:
9
- - 'rvm-exec 1.9.3-p551 bundle exec rake'
10
- - 'rvm-exec 2.0.0-p645 bundle exec rake'
11
- - 'rvm-exec 2.1.6 bundle exec rake'
12
- - 'rvm-exec 2.2.2 bundle exec rake'