cafe_well_cli 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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c9ca7d3a19388ed66c6dba3be0b424ce5a106251
4
+ data.tar.gz: 78f51d2142ca8785e61a71703255180280339c0a
5
+ SHA512:
6
+ metadata.gz: 376f189b1f03176965fc1faefc77ff4b304d7443842d4d456376974827754a95e40e61b5aa6fcba8ffc75b192f122574517cc4e9fa35c96cfce06d6693857142
7
+ data.tar.gz: 62e7ddf7b8caf7dd4f7b798c79338aaad5c785691f9d553beb28021204b9049ee62144e5ca32bae7ece2a43f498809fbe0a863e75cfd31c996f84b1fc3bb3714
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in cafe_well_cli.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 Brian Winterling
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,85 @@
1
+ # cafe_well_cli
2
+
3
+ Many companies offer insurance incentives using CafeWell. The intent of this
4
+ CLI is to make entering your acheivements simple, so you don't leave cash
5
+ on the table.
6
+
7
+ Before you can use this gem, be sure to create an account at [www.cafewell.com](http://www.cafewell.com/ "CafeWell") and sign up for the various campaigns. If you haven't joined the campaigns, this CLI will not work. Sad face.
8
+
9
+ ## Installation
10
+
11
+ $ gem install cafe_well_cli
12
+
13
+ Be sure to add your CafeWell.com username and password as environment variables.
14
+ ``` .bashrc
15
+ export CAFEWELL_USER="your_username"
16
+ export CAFEWELL_PASSWORD="your_password"
17
+ ```
18
+
19
+ ## Usage
20
+
21
+ Here's how you make your entries:
22
+
23
+ **Activity List** (valid all of 2014)
24
+
25
+ You'll need the ACTIVITY_ID of your activity to make an entry. To see a list of valid activities, use the activity_list command.
26
+ ``` console
27
+ $ cafewell activity_list
28
+ ```
29
+ **Add Activity** So, you played 30 minutes of ping pong. After using the above command, you determined that 28 is the ACTIVITY_ID for ping pong.
30
+
31
+ Write your command like so: add_activity ACTIVITY_ID MINUTES ["DATE"]
32
+
33
+ **Note:** DATE is optional, and must be "mm/dd/yyyy" format. Defaults to today if blank.
34
+ ``` console
35
+ $ cafewell add_activity 28 30 "03/28/2014"
36
+ - or -
37
+ $ cafewell add_activity 28 30
38
+ ```
39
+
40
+ **Add Meals** (ends 6/30/2014)
41
+
42
+ You can enter up to 6 healthy meals a day. Don't be shy. Let's say you ate four healthy meals.
43
+
44
+ add_meals MEAL_COUNT ["DATE"]
45
+
46
+ **Note:** DATE is optional, and must be "mm/dd/yyyy" format. Defaults to today if blank.
47
+ ``` console
48
+ $ cafewell add_meals 4 "03/28/2014"
49
+ - or -
50
+ $ cafewell add_meals 4
51
+ ```
52
+
53
+ **Add Stress Breaks** (ends 4/30/2014)
54
+
55
+ You can add a 'Stress Break' if you took a 10 minute break from your daily grind. Only 1 per day is accepted, so I've locked it down to prevent you from being a total slacker.
56
+
57
+ add_break ["DATE"]
58
+
59
+ **Note:** DATE is optional, and must be "mm/dd/yyyy" format. Defaults to today if blank.
60
+ ``` console
61
+ $ cafewell add_break "03/28/2014"
62
+ - or -
63
+ $ cafewell add_break
64
+ ```
65
+
66
+ **Add Family Goal** (ends 6/30/2014)
67
+
68
+ This one's tough. Each member of your family must eat 5 or more servings of fruit or veggies, complete 1 or more hours of exercise, consume 0 sugary drinks and log fewer than 2 hours of after work/school screen time. No cheating. Pull it off? Run the following command:
69
+
70
+ met_family_goal ["DATE"]
71
+
72
+ **Note:** DATE is optional, and must be "mm/dd/yyyy" format. Defaults to today if blank.
73
+ ``` console
74
+ $ cafewell met_family_goal "03/28/2014"
75
+ - or -
76
+ $ cafewell met_family_goal
77
+ ```
78
+
79
+ ## Contributing
80
+
81
+ 1. Fork it (click the fork button up top)
82
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
83
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
84
+ 4. Push to the branch (`git push origin my-new-feature`)
85
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,9 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.libs << 'test'
6
+ end
7
+
8
+ desc "Run tests"
9
+ task :default => :test
data/bin/cafewell ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'cafe_well_cli'
4
+
5
+ # start() method makes the public methods in cafe_well_cli available via Thor
6
+ CafeWellCLI.start(ARGV)
@@ -0,0 +1,26 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = 'cafe_well_cli'
3
+ s.version = '0.1.0'
4
+ s.date = '2014-04-01'
5
+ s.summary = "A CLI interface to update your CafeWell health incentives."
6
+ s.description = "Allows you to enter activities, meals, stress breaks (etc) to receive\ncredit for CafeWell incentives."
7
+ s.authors = ["Brian Winterling"]
8
+ s.email = ''
9
+ s.homepage =
10
+ 'http://rubygems.org/gems/cafe_well_cli'
11
+ s.license = 'MIT'
12
+
13
+ s.files = `git ls-files`.split($/)
14
+ s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
15
+ s.test_files = s.files.grep(%r{^(test|spec|features)/})
16
+ s.require_paths = ["lib"]
17
+ s.bindir = 'bin'
18
+ s.executables << 'cafewell'
19
+
20
+ s.add_runtime_dependency "mechanize", "~> 2.7"
21
+ s.add_runtime_dependency "thor", "~> 0.19"
22
+
23
+ s.add_development_dependency "bundler", "~> 1.3"
24
+ s.add_development_dependency "rake", "~> 10.2"
25
+ s.add_development_dependency "pry", "~> 0.9"
26
+ end
@@ -0,0 +1,217 @@
1
+ require 'mechanize'
2
+ require 'thor'
3
+
4
+ class CafeWellCLI < Thor
5
+
6
+ desc 'activity_list', 'List of activities and their IDs.'
7
+ def activity_list
8
+ log_in
9
+ activity_form = current_page.form_with(:action => "/activity_entries/create_activity")
10
+ select_list = activity_form.field_with(:name => "activity_entry[activity_id]")
11
+ @activities = select_list.options.each_with_object(Hash.new) do |option, list|
12
+ list[option.text] = option.value
13
+ end
14
+ puts "ID ------- Activity"
15
+ puts "-------------------"
16
+ @activities.each { |name, id| puts id + " -- " + name }
17
+ end
18
+
19
+ desc 'add_activity ACTIVITY_ID MINUTES ["DATE"]', 'new MoveToImprove entry for CafeWell.'
20
+ long_desc <<-LONGDESC
21
+ >$ cafe_well_cli.rb add_activity 49 30 "mm/dd/yyyy"
22
+
23
+ ACTIVITY_ID => the ID for Walking is 49
24
+ To look up activities and IDs, use command 'activity_list'
25
+ MINUTES => I walked for 30 minutes
26
+ DATE param is optional, and will default to today if blank
27
+
28
+ This updates CafeWell's Move to Improve data
29
+ Make sure to sign up in advance at www.cafewell.com
30
+ Set up your username and password as ENV variables
31
+ CAFEWELL_USER & CAFEWELL_PASSWORD
32
+ LONGDESC
33
+ def add_activity(activity_id, minutes, date = today)
34
+ return "Invalid Date" unless valid?(date)
35
+ log_in
36
+ activity_form = current_page.form_with(:action => "/activity_entries/create_activity") do |form|
37
+ form.field_with(:name => "activity_entry[performed_at]").value = euro_date(date)
38
+ form.field_with(:name => "activity_entry[activity_id]").value = activity_id
39
+ form.field_with(:name => "activity_entry[activity_unit_value]").value = minutes
40
+ end
41
+ submit(activity_form, "Added activity.")
42
+ end
43
+
44
+ desc 'add_meals MEAL_COUNT ["DATE"]', 'new Food Swap Challenge entry for CafeWell'
45
+ long_desc <<-LONGDESC
46
+ >$ cafe_well_cli.rb add_meals MEAL_COUNT "mm/dd/yyyy"
47
+
48
+ MEAL_COUNT => total healthy meals for the day
49
+ DATE param is optional, and will default to today if blank
50
+
51
+ This updates CafeWell's Food Swap Challenge
52
+ Make sure to sign up in advance at www.cafewell.com
53
+ Set up your username and password as ENV variables
54
+ CAFEWELL_USER & CAFEWELL_PASSWORD
55
+ Food Swap Challenge (ends 6/30/2014)
56
+ LONGDESC
57
+ def add_meals(meal_count, date = today)
58
+ return "Invalid Date" unless valid?(date)
59
+ log_in
60
+ meal_form = current_page.form_with(:action => "/challenges/food-swap-challenge/post_progress") do |form|
61
+ form.field_with(:name => "user_challenge_progress[activity_date]").value = euro_date(date)
62
+ form.field_with(:name => "user_challenge_progress[reported_value]").value = meal_count
63
+ end
64
+ submit(meal_form, "Added meals.")
65
+ end
66
+
67
+ desc 'add_break ["DATE"]', 'new Stress Break entry for CafeWell'
68
+ long_desc <<-LONGDESC
69
+ >$ cafe_well_cli.rb add_break "mm/dd/yyyy"
70
+
71
+ DATE param is optional, and will default to today if blank
72
+
73
+ This adds a Stress Break to CafeWell's Stress Management plan
74
+ Make sure to sign up in advance at www.cafewell.com
75
+ Set up your username and password as ENV variables
76
+ CAFEWELL_USER & CAFEWELL_PASSWORD
77
+ Stress Break (ends 4/30/2014)
78
+ LONGDESC
79
+ def add_break(date = today)
80
+ return "Invalid Date" unless valid?(date)
81
+ log_in
82
+ break_form = current_page.form_with(:action => "/challenges/stress-break/post_progress") do |form|
83
+ form.field_with(:name => "user_challenge_progress[activity_date]").value = euro_date(date)
84
+ form.field_with(:name => "user_challenge_progress[reported_value]").value = 1
85
+ end
86
+ submit(break_form, "Added break.")
87
+ end
88
+
89
+ desc 'met_family_goal ["DATE"]', 'new Family Goal entry for CafeWell'
90
+ long_desc <<-LONGDESC
91
+ >$ cafe_well_cli.rb met_family_goal "mm/dd/yyyy"
92
+
93
+ DATE param is optional, and will default to today if blank
94
+
95
+ This adds a Successful Day to CafeWell's Family Activity plan
96
+ Make sure to sign up in advance at www.cafewell.com
97
+ Set up your username and password as ENV variables
98
+ CAFEWELL_USER & CAFEWELL_PASSWORD
99
+ Campaign (ends 6/30/2014)
100
+ LONGDESC
101
+ def met_family_goal(date = today)
102
+ return "Invalid Date" unless valid?(date)
103
+ log_in
104
+ family_goal_form = current_page.form_with(:action => "/challenges/5210-campaign/post_progress") do |form|
105
+ form.field_with(:name => "user_challenge_progress[activity_date]").value = euro_date(date)
106
+ form.field_with(:name => "user_challenge_progress[reported_value]").value = 1
107
+ end
108
+ submit(family_goal_form, "Added family goal day.")
109
+ end
110
+
111
+ desc "info", "Explains the CafeWell incentives"
112
+ def info
113
+ puts <<-INFO
114
+ Move To Improve:
115
+ Earn up to $300
116
+ For every minute of exercise, you earn a point
117
+ First 2,000 points = $25
118
+ Each 1,000 points after is another $25
119
+
120
+ Healthy Eating: Food Swap Challenge (ends 6/30/2014)
121
+ Earn up to $300
122
+ Enter how many healthy meals you ate that day (max 6)
123
+ Every healthy meal earns a point
124
+ First 130 points = $25
125
+ Each 60 points after is another $25
126
+
127
+ Stress Break: (ends 4/30/2014)
128
+ Earn up to $150
129
+ Report one stress break every day you take a 10 minute break
130
+ Only receive credit for one break per day
131
+
132
+ Family Activity: 5210 Campaign (ends 6/30/2014)
133
+ Earn up to $100
134
+ Daily Goal:
135
+ 5 or more fruits or vegetables
136
+ 2 hours or fewer screen time after work/school
137
+ 1 hour or more exercise
138
+ 0 sugary drinks
139
+ Report one successful Campaign Day when the majority of
140
+ your family members meet this goal
141
+ INFO
142
+ end
143
+
144
+ # no_tasks removes public methods from the CLI
145
+ no_tasks do
146
+
147
+ def submit(form, confirmation)
148
+ @current_page = go_to_cafe_well
149
+ begin
150
+ results_page = form.submit
151
+ puts confirmation
152
+ return results_page.body
153
+ rescue Exception => msg
154
+ results = "Invalid entry: " + msg.to_s
155
+ puts results
156
+ return results
157
+ end
158
+ end
159
+
160
+ def activities
161
+ activity_list unless @activities
162
+ @activities
163
+ end
164
+
165
+ def agent
166
+ @agent ||= Mechanize.new
167
+ end
168
+
169
+ def cafe_well_uri
170
+ 'http://www.cafewell.com'
171
+ end
172
+
173
+ def go_to_cafe_well
174
+ @current_page = agent.get(cafe_well_uri)
175
+ end
176
+
177
+ def current_page
178
+ @current_page
179
+ end
180
+
181
+ def at_home_page?
182
+ current_page.title == "\nCaféWell\n\n"
183
+ end
184
+
185
+ def logged_in?
186
+ go_to_cafe_well if current_page == nil
187
+ current_page.form_with(:id => "user_login_form") == nil
188
+ end
189
+
190
+ def log_in
191
+ go_to_cafe_well
192
+ unless logged_in?
193
+ login_form = current_page.form_with(:id => "user_login_form") do |form|
194
+ form.field_with(:name => "user[login]").value = ENV["CAFEWELL_USER"]
195
+ form.field_with(:name => "user[password]").value = ENV["CAFEWELL_PASSWORD"]
196
+ end
197
+ @current_page = login_form.submit
198
+ end
199
+ end
200
+
201
+ def today
202
+ Date.today.strftime("%m/%d/%Y")
203
+ end
204
+
205
+ def valid?(date)
206
+ date.match(/^[0-1]{1}\d{1}[\/]{1}\d{2}[\/]{1}\d{4}/)
207
+ end
208
+
209
+ # day and month need to be switched for CafeWell form entry
210
+ def euro_date(date)
211
+ date_parts = date.split("/")
212
+ "#{date_parts[1]}/#{date_parts[0]}/#{date_parts[2]}"
213
+ end
214
+
215
+ end
216
+
217
+ end
@@ -0,0 +1,87 @@
1
+ gem 'minitest', '~> 4.2'
2
+ require 'minitest/autorun'
3
+ require 'minitest/pride'
4
+ require 'capybara'
5
+ require './lib/cafe_well_cli'
6
+
7
+ class CafeWellCLITest < MiniTest::Unit::TestCase
8
+
9
+ # you need to have a username and password set up as environment variables
10
+ # CAFEWELL_USER && CAFEWELL_PASSWORD
11
+
12
+ def setup
13
+ @cafe_well = CafeWellCLI.new
14
+ end
15
+
16
+ def cafe_well
17
+ @cafe_well
18
+ end
19
+
20
+ def test_reach_cafe_well_home_page?
21
+ cafe_well.go_to_cafe_well
22
+ assert cafe_well.at_home_page?
23
+ end
24
+
25
+ def test_log_in
26
+ skip
27
+ refute cafe_well.logged_in?
28
+ cafe_well.log_in
29
+ assert cafe_well.logged_in?
30
+ end
31
+
32
+ def test_valid_date
33
+ date = "31/04/2014"
34
+ refute cafe_well.valid?(date)
35
+ date = "4/25/2014"
36
+ refute cafe_well.valid?(date)
37
+ date = "04/12/14"
38
+ refute cafe_well.valid?(date)
39
+ date = "04-23-2014"
40
+ refute cafe_well.valid?(date)
41
+ date = "04/28/2014"
42
+ assert cafe_well.valid?(date)
43
+ end
44
+
45
+ def test_date_conversion
46
+ date = "04/25/2014"
47
+ assert_equal "25/04/2014", cafe_well.euro_date(date)
48
+ end
49
+
50
+ def test_activity_entry
51
+ skip
52
+ activity = 10
53
+ minutes = 30
54
+ date = "04/03/2014"
55
+ results = "{\"last_progress_info\":\"<p>Last logged\\n<strong>30</strong>\\nminutes of\\nCooking\\nfor\\n<strong>Apr 3, 2014 at 12:00 AM MDT</strong>\\n<a href=\\\"/tracks/move-to-Improve-aetna\\\">View Track log</a>\\n</p>\\n\"}"
56
+ assert_equal results, cafe_well.add_activity(activity, minutes, date)
57
+ end
58
+
59
+ def test_invalid_activity_ID_entry
60
+ skip
61
+ activity = 900
62
+ minutes = 13
63
+ date = "04/04/2014"
64
+ results = "{\"last_progress_info\":\"<p>Last logged\\n<strong>15</strong>\\nminutes of\\nWalking\\nfor\\n<strong>Apr 4, 2014 at 12:00 AM MDT</strong>\\n<a href=\\\"/tracks/move-to-Improve-aetna\\\">View Track log</a>\\n</p>\\n\"}"
65
+ assert cafe_well.add_activity(activity, minutes, date).start_with?("Invalid")
66
+ end
67
+
68
+ def test_meal_entry
69
+ skip
70
+ date = "04/02/2014"
71
+ meals = 4
72
+ refute cafe_well.add_meals(meals, date).start_with?("Invalid")
73
+ end
74
+
75
+ def test_break_entry
76
+ skip
77
+ date = "04/02/2014"
78
+ refute cafe_well.add_break(date).start_with?("Invalid")
79
+ end
80
+
81
+ def test_family_goal_entry
82
+ skip
83
+ date = "04/01/2014"
84
+ refute cafe_well.met_family_goal(date).start_with?("Invalid")
85
+ end
86
+
87
+ end
metadata ADDED
@@ -0,0 +1,126 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cafe_well_cli
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Brian Winterling
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-04-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: mechanize
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.7'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: thor
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.19'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.19'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.3'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '10.2'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.2'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.9'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.9'
83
+ description: |-
84
+ Allows you to enter activities, meals, stress breaks (etc) to receive
85
+ credit for CafeWell incentives.
86
+ email: ''
87
+ executables:
88
+ - cafewell
89
+ extensions: []
90
+ extra_rdoc_files: []
91
+ files:
92
+ - ".gitignore"
93
+ - Gemfile
94
+ - LICENSE.txt
95
+ - README.md
96
+ - Rakefile
97
+ - bin/cafewell
98
+ - cafe_well_cli.gemspec
99
+ - lib/cafe_well_cli.rb
100
+ - test/test_cafe_well_cli.rb
101
+ homepage: http://rubygems.org/gems/cafe_well_cli
102
+ licenses:
103
+ - MIT
104
+ metadata: {}
105
+ post_install_message:
106
+ rdoc_options: []
107
+ require_paths:
108
+ - lib
109
+ required_ruby_version: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
114
+ required_rubygems_version: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ requirements: []
120
+ rubyforge_project:
121
+ rubygems_version: 2.2.0
122
+ signing_key:
123
+ specification_version: 4
124
+ summary: A CLI interface to update your CafeWell health incentives.
125
+ test_files:
126
+ - test/test_cafe_well_cli.rb