physical-activity-recorder 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5f9e41c3250cff321feb8fb316662143990c00c4
4
+ data.tar.gz: 63653632eab5ab579713b718bcdecea1fcceafcf
5
+ SHA512:
6
+ metadata.gz: 1f5090c61230835334db7ebdab28194ac4cabe0a3f823b4088265da725561558cd3511cf886257b70bc0bef094db4ca3666c99364bcbd8ecac494d2bc52960e7
7
+ data.tar.gz: 412098950dc2cac286aeb170ddd03b6f5e26bdfe754a5d5102f6ec6b1f8a70a1a53e0f7637cec403cc262e8ea71a7702586e4811ef0d16a382b13b3a8b2b1461
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ /.bundle/
2
+ /.idea/
3
+ /.yardoc/
4
+ /Gemfile.lock
5
+ /_yardoc/
6
+ /coverage/
7
+ /doc/
8
+ /pkg/
9
+ /spec/reports/
10
+ /tmp/
11
+ /.idea/
12
+ *.bundle
13
+ *.so
14
+ *.o
15
+ *.a
16
+ mkmf.log
17
+ Gemfile.lock
data/.yardopts ADDED
@@ -0,0 +1,9 @@
1
+ --readme README.md
2
+ --charset utf-8
3
+ --markup markdown
4
+ --markup-provider redcarpet
5
+ --default-return void
6
+ --name-tag doctest
7
+ --hide-tag doctest
8
+ lib/*.rb lib/**/*.rb -
9
+ *.md LICENSE.txt
data/Gemfile ADDED
@@ -0,0 +1,13 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Before bundle 2.0, `:github` uses insecure `git` protocol.
4
+ git_source(:github) do |repo_name|
5
+ repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
6
+ "https://github.com/#{repo_name}.git"
7
+ end
8
+
9
+ # Specify your gem's dependencies in physical-activity-recorder-activity-recorder.gemspec
10
+ gemspec
11
+
12
+ # Need to use my branch of rubydoctest.
13
+ gem 'rubydoctest', github: 'weakish/rubydoctest', branch: 'weakish'
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 Jakukyo Friel
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,150 @@
1
+ # physical-activity-recorder
2
+
3
+ `physical-activity-recorder` is a command line tool to record and plan physical activity.
4
+
5
+ ## Installation
6
+
7
+ ### Command line
8
+
9
+ Install via `gem`:
10
+
11
+ ; gem install physical-activity-recorder
12
+
13
+ You may add `sudo` before the above command to install it globally.
14
+
15
+ You can also clone this repo and run `rake install`.
16
+
17
+ ### Library
18
+
19
+ Although `physical-activity-recorder` is a command line tool,
20
+ you can also use it as a library.
21
+
22
+ Add this line to your application's Gemfile:
23
+
24
+ ```ruby
25
+ gem 'physical-activity-recorder'
26
+ ```
27
+
28
+ And then execute:
29
+
30
+ $ bundle
31
+
32
+
33
+ ## Command line usage
34
+
35
+ ### tl;tr
36
+
37
+ ```sh
38
+ ; physical-activity-recorder help
39
+ Usage:
40
+ physical-activity-recorder moderate_minutes [vigorous_minutes, notes]
41
+ physical-activity-recorder query
42
+ ```
43
+
44
+ ### Walkthrough
45
+
46
+ You do half an hour of running:
47
+
48
+ ```sh
49
+ ; physical-activity-recorder 0 30 'running'
50
+ Soft: YYYY-MM-DD; Hard: YYYY-MM-DD
51
+ ```
52
+
53
+ That is, it is best to exercise again before *Soft*.
54
+ If you are a bit lazy, you can postpone it to before *Hard*.
55
+
56
+ [United States Department of Agriculture](http://www.choosemyplate.gov/physical-activity/amount.html)
57
+ recommends at least 2 hours and 30 minutes of moderate activity each week,
58
+ and suggests 5 or more hours activity per week
59
+ can provide even more health benefits.
60
+ *Soft* and *Hard* are roughly calculated based on this.
61
+ (There may be some slight differences for implement simplicity.)
62
+
63
+ With vigorous activities, you get similar health benefits in half the time it takes you with moderate ones.
64
+
65
+ There is a simple rule to distinguish moderate and vigorous activity:
66
+
67
+ - When you do moderate activity, you cannot sing.
68
+ - When you do vigorous activity, you cannot speak.
69
+
70
+ See [What is Physical Activity?](http://www.choosemyplate.gov/physical-activity/what.html)
71
+ for examples of moderate and vigorous activity.
72
+
73
+
74
+ Say, next day you do 2 hours of walking briskly:
75
+
76
+ ```sh
77
+ ; physical-activity-recorder 120 0 'walking'
78
+ Soft: YYYY-MM-DD; Hard: YYYY-MM-DD
79
+ ```
80
+
81
+ You can omit notes if you only want to record time:
82
+
83
+ ```sh
84
+ ; physical-activity-recorder 120
85
+ ```
86
+
87
+ This will extend *Soft* and *Hard*.
88
+
89
+ Be aware:
90
+
91
+ 1. If you exercise less than 10 minutes, it will be recorded but *Soft* and *Hard* will not be extended.
92
+ You'd better exercise more than 10 minutes at a time.
93
+ 2. *Soft* and *Hard* won't exceed 7 days from now.
94
+ Dedicating several days to exercises does not mean you need no exercise for several weeks.
95
+
96
+ You can query *Soft* and *Hard* via
97
+
98
+ ```sh
99
+ ; physical-activity-recorder query
100
+ ```
101
+
102
+ or if you are lazy:
103
+
104
+ ```sh
105
+ ; physical-activity-recorder q
106
+ ```
107
+
108
+ Exercising records are stored in:
109
+
110
+ 1. `PHYSICAL_ACTIVITY_RECORDS` if this environment varibale is set
111
+ 2. `physical-activity-recorder` under `$XDG_CONFIG_HOME` or `~/.config` otherwise
112
+
113
+ The data store format is [Daybreak](http://propublica.github.io/daybreak/).
114
+
115
+ ## Library usage
116
+
117
+ ```ruby
118
+ require `physical-activity-recorder`
119
+ Physical_activity_recorder.func [arguments]
120
+ ```
121
+
122
+ func is one of the following:
123
+
124
+ - `record`
125
+ - `add_to_records`
126
+ - `plan`
127
+
128
+
129
+ See [documentation](http://www.rubydoc.info/gems/physical-activity-recorder/) for more information.
130
+
131
+ ### Testing
132
+
133
+ We use [RubyDoctest](http://rubygems.org/gems/rubydoctest) for testing.
134
+ (Note that before my pull requests get merged, you need to use [my branch](https://github.com/weakish/rubydoctest/).)
135
+
136
+ There is a rake task for it:
137
+
138
+ ```sh
139
+ rake test
140
+ ```
141
+
142
+ ## Contributing
143
+
144
+ 1. Fork it ( https://github.com/weakish/physical-activity-recorder/fork )
145
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
146
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
147
+ 4. Push to the branch (`git push origin my-new-feature`)
148
+ 5. Create a new Pull Request
149
+
150
+ Signing commits with gpg is optional, but preferred.
data/Rakefile ADDED
@@ -0,0 +1,15 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rake/clean'
3
+
4
+
5
+ task :default => :test
6
+
7
+ desc 'Run doctests'
8
+ task :test do
9
+ sh 'bundle exec rubydoctest lib/*.rb'
10
+ end
11
+
12
+ desc 'Generate docs'
13
+ task('doc') { sh 'bundle exec yard doc' }
14
+ CLEAN.include 'doc'
15
+
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'physical-activity-recorder'
4
+ require 'moneta'
5
+ require 'xdg'
6
+
7
+ SYNOPSIS = 'Usage:
8
+ physical-activity-recorder moderate_minutes [vigorous_minutes, notes]
9
+ physical-activity-recorder query'
10
+
11
+
12
+ # getopts :: Hash
13
+ def getopts
14
+ { current_time: Time.now,
15
+ moderate_minutes: ARGV[0].to_i,
16
+ vigorous_minutes: ARGV[1].to_i || 0,
17
+ notes: ARGV[2] || '',
18
+ }
19
+ end
20
+
21
+
22
+ def record_activity(records, opts)
23
+ new_record = Physical_activity_recorder.record(opts[:current_time], opts[:moderate_minutes], opts[:vigorous_minutes], opts[:notes])
24
+ Physical_activity_recorder.add_to_records(new_record, records)
25
+ end
26
+
27
+ def plan_activity(ends, opts)
28
+ ends = Physical_activity_recorder.plan(opts[:current_time], ends[:soft], ends[:hard],
29
+ opts[:moderate_minutes], opts[:vigorous_minutes])
30
+ end
31
+
32
+ def main
33
+ if ARGV.length > 3
34
+ abort "ArgumentError\n\n#{SYNOPSIS}\n"
35
+ elsif ARGV[0] =~ /^[-h]/
36
+ puts SYNOPSIS
37
+ else
38
+ begin
39
+ opts = getopts
40
+
41
+ activity_records= XDG['CONFIG_HOME'].to_s + '/physical-activity-recorder'
42
+ moneta_store = ENV['PHYSICAL_ACTIVITY_RECORDS'] || activity_records
43
+ records = Moneta.new(:Daybreak, file: moneta_store)
44
+ ends = {}
45
+ ends[:soft] = records['soft_end'] || Time.now
46
+ ends[:hard] = records['hard_end'] || Time.now
47
+
48
+ if ARGV[0] =~ /^[0-9]/
49
+ record_activity(records, opts)
50
+
51
+ ends = plan_activity(ends, opts)
52
+ records['soft_end'] = ends[:soft]
53
+ records['hard_end'] = ends[:hard]
54
+ end
55
+ ensure
56
+ records.close
57
+ puts "Soft: #{ends[:soft].strftime('%F') }; Hard: #{ends[:hard].strftime('%F')}"
58
+ end
59
+ end
60
+ end
61
+
62
+ main
@@ -0,0 +1,143 @@
1
+ require 'physical-activity-recorder/version'
2
+ require 'time-lord'
3
+
4
+ # Record and plan physical activity.
5
+ # Usage:
6
+ # ```ruby
7
+ # require `physical-activity-recorder`
8
+ # Physical_activity_recorder.func [arguments]
9
+ # ```
10
+
11
+
12
+ module Physical_activity_recorder
13
+
14
+ # @doctest prepare time
15
+ # >> time = Time.at(1000000000)
16
+ # => 2001-09-09 09:46:40 +0800
17
+
18
+ module_function
19
+
20
+ # Record physical activity.
21
+ #
22
+ # @param [Time]
23
+ # @param [Fixnum]
24
+ # @param [Fixnum]
25
+ # @param [String]
26
+ # @return [{String => (Fixnum, Fixnum, String)}]
27
+ #
28
+ # @doctest record
29
+ # >> record = Physical_activity_recorder.method(:record)
30
+ # >> record_1 = record[time, 50]
31
+ # => {"2001-09-09" =>[50, 0, ""]}
32
+ # >> record_2 = record[time, 180, 10]
33
+ # => {"2001-09-09"=>[180, 10, ""]}
34
+ # >> record_3 = record[time, 0, 2, 'running']
35
+ # => {"2001-09-09"=>[0, 2, "running"]}
36
+
37
+ def record(activity_time=Time.now, moderate_minutes=0, vigorous_minutes=0, activity_notes='')
38
+ {activity_time.strftime('%F') => [moderate_minutes, vigorous_minutes, activity_notes]}
39
+ end
40
+
41
+
42
+ # Add record.
43
+ #
44
+ # @param [{String => (Fixnum, Fixnum, String)}]
45
+ # @param [{String => (Fixnum, Fixnum, String)}]
46
+ # @return [void]
47
+ #
48
+ # @doctest prepare records
49
+ # >> records = {"2001-01-01" =>[1, 2, ""]}
50
+ # => {"2001-01-01"=>[1, 2, ""]}
51
+ # >> add_to_records = Physical_activity_recorder.method(:add_to_records)
52
+ #
53
+ # @doctest do not add empty records
54
+ # >> add_to_records[{"2011-01-01" =>[0, 0, "empty"]}, records]; records
55
+ # => {"2001-01-01"=>[1, 2, ""]}
56
+ #
57
+ # @doctest add new record (nonexist date)
58
+ # >> add_to_records[record_1, records]; records
59
+ # => {"2001-01-01"=>[1, 2, ""], "2001-09-09"=>[50, 0, ""]}
60
+ #
61
+ # @doctest add new record (exist date)
62
+ # >> add_to_records[record_2, records]; records
63
+ # => {"2001-01-01"=>[1, 2, ""], "2001-09-09"=>[230, 10, ""]}
64
+ # >> add_to_records[record_3, records]; records
65
+ # => {"2001-01-01"=>[1, 2, ""], "2001-09-09"=>[230, 12, "running"]}
66
+
67
+ def add_to_records(new_record, records)
68
+ activity_time = new_record.keys[0]
69
+ if records.key?(activity_time)
70
+ old = records[activity_time]
71
+ new = (0..2).map do |i|
72
+ old[i] + new_record[activity_time][i]
73
+ end
74
+ records[activity_time] = new
75
+ # do not add empty records
76
+ elsif new_record[activity_time].first(2).reduce(:+) == 0
77
+ records
78
+ else
79
+ records[activity_time] = new_record[activity_time]
80
+ end
81
+ end
82
+
83
+
84
+ # Plan physical activity
85
+ #
86
+ # @param [Time]
87
+ # @param [Time]
88
+ # @param [Time]
89
+ # @param [Fixnum]
90
+ # @param [Fixnum]
91
+ # @return [{Symbol => Time}]
92
+ #
93
+ # @doctest first plan
94
+ # >> time = Time.at(1000000000)
95
+ # => 2001-09-09 09:46:40 +0800
96
+ # >> plan = Physical_activity_recorder.method(:plan)
97
+ # >> ends = plan[time, time, time, 30, 0]
98
+ # => {:soft=>2001-09-10 00:46:40 +0800, :hard=>2001-09-10 15:46:40 +0800}
99
+ #
100
+ # @doctest second plan
101
+ # >> plan[time, ends[:soft], ends[:hard], 180, 0]
102
+ # => {:soft=>2001-09-13 18:46:40 +0800, :hard=>2001-09-16 09:46:40 +0800}
103
+ # @doctest plan within 7 days
104
+ # >> plan[time, time, time, 2000, 0]
105
+ # => {:soft=>2001-09-16 09:46:40 +0800, :hard=>2001-09-16 09:46:40 +0800}
106
+ # >> plan[time, time, time, 3000, 3000]
107
+ # => {:soft=>2001-09-16 09:46:40 +0800, :hard=>2001-09-16 09:46:40 +0800}
108
+
109
+ def plan(current_time=Time.now, current_soft_end=Time.now, current_hard_end=Time.now, moderate_minutes=0, vigorous_minutes=0)
110
+ # Activity should be done for at least 10 minutes at a time.
111
+ if moderate_minutes + vigorous_minutes < 10
112
+ hard_end = current_hard_end
113
+ soft_end = current_soft_end
114
+ else
115
+ # With vigorous activities, you get similar health benefits in half the time it takes you with moderate ones.
116
+ increment_time = moderate_minutes + vigorous_minutes * 2
117
+ # United States Department of Agriculture recommends at least 2 hours and 30 minutes each week
118
+ # of aerobic physical activity at a moderate level.
119
+ # 2 hours and 30 minutes is 150 (2 * 60 + 30) minutes per week,
120
+ # and we set the hard end based on 168 (24 * 7) minutes per week, i.e. 1 minute for 1 hour.
121
+ # I chose 168 for implement simplicity.
122
+ hard_end = current_hard_end + increment_time.hours
123
+
124
+ # United States Department of Agriculture suggests
125
+ # 5 or more hours activity per week can provide even more health benefits.
126
+ # 5 hours is 300 (5 * 60) minutes per week,
127
+ # and we set the soft end based on 336 (24 * 7 * 2) minutes per week, i.e. 2 minutes for 1 hour.
128
+ # Again, I chose 336 for implement simplicity.
129
+ soft_end = current_soft_end + (increment_time / 2).to_i.hours
130
+ end
131
+
132
+ # soft end and hard end should not exceed 7 days (1 week).
133
+ result = {soft: soft_end, hard: hard_end}
134
+ result.each do |k, v|
135
+ result[k] = if v - current_time < 7.days
136
+ v
137
+ else
138
+ current_time + 7.days
139
+ end
140
+ end
141
+ result
142
+ end
143
+ end
@@ -0,0 +1,3 @@
1
+ module Physical_activity_recorder
2
+ VERSION = '0.0.1'
3
+ end
@@ -0,0 +1,39 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'physical-activity-recorder/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'physical-activity-recorder'
8
+ spec.version = Physical_activity_recorder::VERSION
9
+ spec.authors = ['Jakukyo Friel']
10
+ spec.email = ['weakish@gmail.com']
11
+ spec.summary = %q{Record and plan your physical activity.}
12
+ spec.description = %q{Record and plan your physical activity at moderate and vigorous levels.}
13
+ spec.homepage = 'https://github.com/weakish/physical-activity-recorder'
14
+ spec.license = 'MIT'
15
+
16
+ spec.metadata = {
17
+ 'repository' => 'https://github.com/weakish/physical-activity-recorder',
18
+ 'documentation' => 'http://www.rubydoc.info/gems/physical-activity-recorder/',
19
+ 'issues' => 'https://github.com/weakish/physical-activity-recorder/issues/',
20
+ 'wiki' => 'https://github.com/weakish/physical-activity-recorder/wiki/',
21
+ }
22
+
23
+ spec.files = `git ls-files -z`.split("\x0")
24
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
25
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
26
+ spec.require_paths = ['lib']
27
+ spec.bindir = 'bin'
28
+
29
+
30
+ spec.add_runtime_dependency 'time-lord', '~> 1.0'
31
+ spec.add_runtime_dependency 'moneta', '~> 0.8'
32
+ spec.add_runtime_dependency 'daybreak', '~> 0.3'
33
+ spec.add_runtime_dependency 'xdg', '~> 2.2'
34
+
35
+ spec.add_development_dependency 'bundler', '~> 1.7'
36
+ spec.add_development_dependency 'rake', '~> 10.0'
37
+ spec.add_development_dependency 'yard', '~> 0.8'
38
+ spec.add_development_dependency 'redcarpet', '~> 3.2'
39
+ end
metadata ADDED
@@ -0,0 +1,172 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: physical-activity-recorder
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Jakukyo Friel
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-01-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: time-lord
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: moneta
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.8'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.8'
41
+ - !ruby/object:Gem::Dependency
42
+ name: daybreak
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.3'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: xdg
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.2'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.2'
69
+ - !ruby/object:Gem::Dependency
70
+ name: bundler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.7'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.7'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '10.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '10.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: yard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.8'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.8'
111
+ - !ruby/object:Gem::Dependency
112
+ name: redcarpet
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '3.2'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '3.2'
125
+ description: Record and plan your physical activity at moderate and vigorous levels.
126
+ email:
127
+ - weakish@gmail.com
128
+ executables:
129
+ - physical-activity-recorder
130
+ extensions: []
131
+ extra_rdoc_files: []
132
+ files:
133
+ - ".gitignore"
134
+ - ".yardopts"
135
+ - Gemfile
136
+ - LICENSE.txt
137
+ - README.md
138
+ - Rakefile
139
+ - bin/physical-activity-recorder
140
+ - lib/physical-activity-recorder.rb
141
+ - lib/physical-activity-recorder/version.rb
142
+ - physical-activity-recorder.gemspec
143
+ homepage: https://github.com/weakish/physical-activity-recorder
144
+ licenses:
145
+ - MIT
146
+ metadata:
147
+ repository: https://github.com/weakish/physical-activity-recorder
148
+ documentation: http://www.rubydoc.info/gems/physical-activity-recorder/
149
+ issues: https://github.com/weakish/physical-activity-recorder/issues/
150
+ wiki: https://github.com/weakish/physical-activity-recorder/wiki/
151
+ post_install_message:
152
+ rdoc_options: []
153
+ require_paths:
154
+ - lib
155
+ required_ruby_version: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ required_rubygems_version: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ requirements: []
166
+ rubyforge_project:
167
+ rubygems_version: 2.2.2
168
+ signing_key:
169
+ specification_version: 4
170
+ summary: Record and plan your physical activity.
171
+ test_files: []
172
+ has_rdoc: