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 +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +85 -0
- data/Rakefile +9 -0
- data/bin/cafewell +6 -0
- data/cafe_well_cli.gemspec +26 -0
- data/lib/cafe_well_cli.rb +217 -0
- data/test/test_cafe_well_cli.rb +87 -0
- metadata +126 -0
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
data/Gemfile
ADDED
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
data/bin/cafewell
ADDED
@@ -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
|