fitbyte 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 224202239ccc8345b4cced0077f4f6deb3aac0e6
4
- data.tar.gz: 172d0d9768c89d91514612791138db1a16471ef6
3
+ metadata.gz: a32301ec7ebc23f284d69bf208224560907ca0b1
4
+ data.tar.gz: 1f31799f033bd22b5994712bca93131e44e3a747
5
5
  SHA512:
6
- metadata.gz: 1a31ebbfaec0c459045ab8c7d7a358ec8e2abc52e980f9f3d31162ff7177ac044aef48d2cc99efe816e52b70265490a1a617f2e537d6865c03e045d6c3b2cd72
7
- data.tar.gz: 3d301be5aa02e6800c2715212187654e208aa5e8f4644f88e3d784f7a497108a75a49be57d0675876a4a1915288801403d803d3f38f0255c7e3b2a3dbab63236
6
+ metadata.gz: 9e3f5ef3548894d0acd1fb0380e8cf91df985885709d35584727c3336364ab20926ce42b4bace452ecedfc47057ed1ed93c99c79cbc20b41889d149f0d6ec7c8
7
+ data.tar.gz: cc11b65e4b42bcf77e45294d7b127d1b6ed517234bf1397e9d7d79c737df91b5a049288922e361b6efa82ac07d6738e9b2aabf82ca0d41feda3c69ae59d90ec6
@@ -1,3 +1,9 @@
1
+ 0.6.0
2
+ -----
3
+ - A `refresh_token` option can be passed in to retrieve an existing access token.
4
+ - A configuration block can now be passed in to Fitbyte, to allow for the setting of default instance attributes.
5
+ - File/code reorganization.
6
+
1
7
  0.5.0
2
8
  -----
3
9
  - Add Heart Rate endpoint support. Add support for Time Series endpoints.
data/README.md CHANGED
@@ -55,7 +55,7 @@ To make the response more easily suited for attribute-assignment, it can be pars
55
55
 
56
56
  ```ruby
57
57
  client.snake_case = true
58
- client.food_logs Date.today, snake_case: true
58
+ client.food_logs Date.today
59
59
  # => { "foods" => [{ "is_favorite" => true, "log_date" => "2015-06-26", "log_id" => 1820, "logged_food" => { "access_level" => "PUBLIC", "amount" => 132.57, "brand" => "", "calories" => 752, ...}] }
60
60
  ```
61
61
 
@@ -1,6 +1,5 @@
1
1
  require "oauth2"
2
2
  require "date"
3
- require "ostruct"
4
3
  require "fitbyte/version"
5
4
  require "fitbyte/client"
6
5
 
@@ -16,24 +16,24 @@ module Fitbyte
16
16
  # in the format requested using units in the unit system which corresponds to the Accept-Language header provided.
17
17
 
18
18
  def daily_activity_summary(date=Date.today, opts={})
19
- get("user/#{@user_id}/activities/date/#{format_date(date)}.json", opts)
19
+ get("user/#{user_id}/activities/date/#{format_date(date)}.json", opts)
20
20
  end
21
21
 
22
22
  # Retrieves a list of a user's frequent activities in the format requested using units
23
23
  # in the unit system which corresponds to the Accept-Language header provided.
24
24
 
25
25
  def frequent_activities(opts={})
26
- get("user/#{@user_id}/activities/frequent.json", opts)
26
+ get("user/#{user_id}/activities/frequent.json", opts)
27
27
  end
28
28
 
29
29
  def recent_activities(opts={})
30
- get("user/#{@user_id}/activities/recent.json", opts)
30
+ get("user/#{user_id}/activities/recent.json", opts)
31
31
  end
32
32
 
33
33
  # Returns a list of a user's favorite activities.
34
34
 
35
35
  def favorite_activities(opts={})
36
- get("user/#{@user_id}/activities/favorite.json", opts)
36
+ get("user/#{user_id}/activities/favorite.json", opts)
37
37
  end
38
38
 
39
39
  # Gets a tree of all valid Fitbit public activities from
@@ -54,7 +54,7 @@ module Fitbyte
54
54
  # * +:limit+ - the max of the number of entries returned (max: 100)
55
55
 
56
56
  def activity_logs_list(opts={})
57
- get("user/#{@user_id}/activities/list.json", opts)
57
+ get("user/#{user_id}/activities/list.json", opts)
58
58
  end
59
59
 
60
60
  # Returns the details of a specific activity in the Fitbit activities database in the format requested.
@@ -70,7 +70,7 @@ module Fitbyte
70
70
  # My Achievements tile on the website dashboard.
71
71
 
72
72
  def lifetime_stats(opts={})
73
- get("user/#{@user_id}/activities.json", opts)
73
+ get("user/#{user_id}/activities.json", opts)
74
74
  end
75
75
 
76
76
  def activity_time_series(resource, opts={})
@@ -91,20 +91,14 @@ module Fitbyte
91
91
  end
92
92
 
93
93
  if period
94
- result = get("user/#{@user_id}/activities/#{resource}/date/#{format_date(end_date)}/#{period}.json", opts)
94
+ result = get("user/#{user_id}/activities/#{resource}/date/#{format_date(end_date)}/#{period}.json", opts)
95
95
  else
96
- result = get("user/#{@user_id}/activities/#{resource}/date/#{format_date(start_date)}/#{format_date(end_date)}.json", opts)
96
+ result = get("user/#{user_id}/activities/#{resource}/date/#{format_date(start_date)}/#{format_date(end_date)}.json", opts)
97
97
  end
98
98
  # remove root key from response
99
99
  result.values[0]
100
100
  end
101
101
 
102
- # ACTIVITY_RESOURCES.each do |resource_path|
103
- # define_method("activity_#{to_snake_case(resource_path).gsub('/', '_')}_series") do |opts={}|
104
- # activity_time_series(resource_path, opts={})
105
- # end
106
- # end
107
-
108
102
  # POST Activities
109
103
  # ===============
110
104
 
@@ -122,13 +116,13 @@ module Fitbyte
122
116
  # * +:distanceUnit+ - distance measurement unit
123
117
 
124
118
  def log_activity(opts)
125
- post("user/#{@user_id}/activities.json", opts)
119
+ post("user/#{user_id}/activities.json", opts)
126
120
  end
127
121
 
128
122
  # Adds the activity with the given ID to user's list of favorite activities.
129
123
 
130
124
  def add_favorite_activity(activity_id)
131
- post("user/#{@user_id}/activities/favorite/#{activity_id}.json")
125
+ post("user/#{user_id}/activities/favorite/#{activity_id}.json")
132
126
  end
133
127
 
134
128
  # DELETE Activities
@@ -137,13 +131,13 @@ module Fitbyte
137
131
  # Deletes a user's activity log entry with the given ID.
138
132
 
139
133
  def delete_activity(activity_log_id)
140
- delete("user/#{@user_id}/activities/#{activity_log_id}.json")
134
+ delete("user/#{user_id}/activities/#{activity_log_id}.json")
141
135
  end
142
136
 
143
137
  # Removes the activity with the given ID from a user's list of favorite activities.
144
138
 
145
139
  def delete_favorite_activity(activity_id)
146
- delete("user/#{@user_id}/activities/favorite/#{activity_id}.json")
140
+ delete("user/#{user_id}/activities/favorite/#{activity_id}.json")
147
141
  end
148
142
  end
149
143
  end
@@ -6,7 +6,7 @@ module Fitbyte
6
6
  # Returns a list of the set alarms connected to a user's account.
7
7
 
8
8
  def alarms(tracker_id, opts={})
9
- get("user/#{@user_id}/devices/tracker/#{tracker_id}/alarms.json", opts)
9
+ get("user/#{user_id}/devices/tracker/#{tracker_id}/alarms.json", opts)
10
10
  end
11
11
 
12
12
  # POST Alarms
@@ -21,7 +21,7 @@ module Fitbyte
21
21
  # * +:weekDays+ - comma separated list of days of the week on which the alarm vibrates (MONDAY,TUESDAY)
22
22
 
23
23
  def add_alarm(tracker_id, opts={})
24
- post("user/#{@user_id}/devices/tracker/#{tracker_id}/alarms.json", opts)
24
+ post("user/#{user_id}/devices/tracker/#{tracker_id}/alarms.json", opts)
25
25
  end
26
26
 
27
27
  # Updates the alarm entry with a given ID for a given device.
@@ -37,7 +37,7 @@ module Fitbyte
37
37
  # * +:vibe+ - vibe pattern; only one value for now (DEFAULT)
38
38
 
39
39
  def update_alarm(tracker_id, alarm_id, opts={})
40
- post("user/#{@user_id}/devices/tracker/#{tracker_id}/alarms/#{alarm_id}.json", opts)
40
+ post("user/#{user_id}/devices/tracker/#{tracker_id}/alarms/#{alarm_id}.json", opts)
41
41
  end
42
42
 
43
43
  # DELETE Alarms
@@ -46,7 +46,7 @@ module Fitbyte
46
46
  # Deletes the user's device alarm entry with the given ID for a given device.
47
47
 
48
48
  def delete_alarm(tracker_id, alarm_id, opts={})
49
- delete("user/#{@user_id}/devices/tracker/#{tracker_id}/alarms/#{alarm_id}.json", opts)
49
+ delete("user/#{user_id}/devices/tracker/#{tracker_id}/alarms/#{alarm_id}.json", opts)
50
50
  end
51
51
  end
52
52
  end
@@ -0,0 +1,24 @@
1
+ require "fitbyte/helpers/configuration"
2
+ require "fitbyte/helpers/utils"
3
+ require "fitbyte/helpers/exceptions"
4
+
5
+ module Fitbyte
6
+ extend Configuration
7
+
8
+ define_setting :client_id
9
+ define_setting :client_secret
10
+ define_setting :redirect_uri
11
+
12
+ define_setting :site_url, "https://api.fitbit.com"
13
+ define_setting :authorize_url, "https://www.fitbit.com/oauth2/authorize"
14
+ define_setting :token_url, "https://api.fitbit.com/oauth2/token"
15
+
16
+ define_setting :unit_system, "en_US"
17
+ define_setting :locale, "en_US"
18
+ define_setting :scope, "activity nutrition profile settings sleep social weight heartrate"
19
+
20
+ define_setting :api_version, "1"
21
+
22
+ define_setting :snake_case, false
23
+ define_setting :symbolize_keys, false
24
+ end
@@ -36,9 +36,9 @@ module Fitbyte
36
36
  end
37
37
 
38
38
  if period
39
- result = get("user/#{@user_id}/body/#{resource}/date/#{format_date(end_date)}/#{period}.json", opts)
39
+ result = get("user/#{user_id}/body/#{resource}/date/#{format_date(end_date)}/#{period}.json", opts)
40
40
  else
41
- result = get("user/#{@user_id}/body/#{resource}/date/#{format_date(start_date)}/#{format_date(end_date)}.json", opts)
41
+ result = get("user/#{user_id}/body/#{resource}/date/#{format_date(start_date)}/#{format_date(end_date)}.json", opts)
42
42
  end
43
43
  # remove root key from response
44
44
  result.values[0]
@@ -1,5 +1,4 @@
1
- require "fitbyte/helpers"
2
- require "fitbyte/exceptions"
1
+ require "fitbyte/base"
3
2
  require "fitbyte/activities"
4
3
  require "fitbyte/heart_rate"
5
4
  require "fitbyte/goals"
@@ -15,31 +14,21 @@ require "fitbyte/water"
15
14
  module Fitbyte
16
15
  class Client
17
16
  attr_accessor :api_version, :unit_system, :locale, :scope, :snake_case, :symbolize_keys
17
+ attr_reader :user_id
18
18
 
19
19
  def initialize(opts)
20
- missing_args = [:client_id, :client_secret, :redirect_uri] - opts.keys
20
+ missing_args = [:client_id, :client_secret] - opts.keys
21
21
  raise Fitbyte::InvalidArgumentError, "Required arguments: #{missing_args.join(', ')}" if missing_args.size > 0
22
22
 
23
- opts = defaults.merge(opts)
24
-
25
- @client_id = opts[:client_id]
26
- @client_secret = opts[:client_secret]
27
-
28
- @redirect_uri = opts[:redirect_uri]
29
- @site_url = opts[:site_url]
30
- @authorize_url = opts[:authorize_url]
31
- @token_url = opts[:token_url]
32
-
33
- @unit_system = opts[:unit_system]
34
- @locale = opts[:locale]
35
- @scope = format_scope(opts[:scope])
36
-
37
- @api_version = opts[:api_version]
38
- @snake_case = opts[:snake_case]
39
- @symbolize_keys = opts[:symbolize_keys]
23
+ %w(client_id client_secret redirect_uri site_url authorize_url token_url
24
+ unit_system locale scope api_version snake_case symbolize_keys).each do |attr|
25
+ instance_variable_set("@#{attr}", (opts[attr.to_sym] || Fitbyte.send(attr)))
26
+ end
40
27
 
41
28
  @client = OAuth2::Client.new(@client_id, @client_secret, site: @site_url,
42
29
  authorize_url: @authorize_url, token_url: @token_url)
30
+
31
+ restore_token(opts[:refresh_token]) if opts[:refresh_token]
43
32
  end
44
33
 
45
34
  def auth_page_link
@@ -52,6 +41,12 @@ module Fitbyte
52
41
  return @token
53
42
  end
54
43
 
44
+ def restore_token(refresh_token)
45
+ @token = OAuth2::AccessToken.from_hash(@client, refresh_token: refresh_token).refresh!(headers: auth_header)
46
+ @user_id = @token.params["user_id"]
47
+ return @token
48
+ end
49
+
55
50
  def token
56
51
  @token.expired? ? refresh_token : @token
57
52
  end
@@ -95,19 +90,5 @@ module Fitbyte
95
90
  deep_symbolize_keys!(object) if (opts[:symbolize_keys] || symbolize_keys)
96
91
  return object
97
92
  end
98
-
99
- def defaults
100
- {
101
- site_url: "https://api.fitbit.com",
102
- authorize_url: "https://www.fitbit.com/oauth2/authorize",
103
- token_url: "https://api.fitbit.com/oauth2/token",
104
- scope: "activity nutrition profile settings sleep social weight heartrate",
105
- unit_system: "en_US",
106
- locale: "en_US",
107
- api_version: "1",
108
- snake_case: false,
109
- symbolize_keys: false
110
- }
111
- end
112
93
  end
113
94
  end
@@ -1,7 +1,7 @@
1
1
  module Fitbyte
2
2
  class Client
3
3
  def devices(opts={})
4
- get("user/#{@user_id}/devices.json", opts)
4
+ get("user/#{user_id}/devices.json", opts)
5
5
  end
6
6
  end
7
7
  end
@@ -3,23 +3,23 @@ module Fitbyte
3
3
  FOOD_RESOURCES = %w(caloriesIn water)
4
4
 
5
5
  def food_logs(date=Date.today, opts={})
6
- get("user/#{@user_id}/foods/log/date/#{format_date(date)}.json", opts)
6
+ get("user/#{user_id}/foods/log/date/#{format_date(date)}.json", opts)
7
7
  end
8
8
 
9
9
  def recent_foods(opts={})
10
- get("user/#{@user_id}/foods/log/recent.json", opts)
10
+ get("user/#{user_id}/foods/log/recent.json", opts)
11
11
  end
12
12
 
13
13
  def frequent_foods(opts={})
14
- get("user/#{@user_id}/foods/log/frequent.json", opts)
14
+ get("user/#{user_id}/foods/log/frequent.json", opts)
15
15
  end
16
16
 
17
17
  def favorite_foods(opts={})
18
- get("user/#{@user_id}/foods/log/favorite.json", opts)
18
+ get("user/#{user_id}/foods/log/favorite.json", opts)
19
19
  end
20
20
 
21
21
  def food_goals(opts={})
22
- get("user/#{@user_id}/foods/log/goal.json", opts)
22
+ get("user/#{user_id}/foods/log/goal.json", opts)
23
23
  end
24
24
 
25
25
  def food_time_series(resource, opts={})
@@ -40,9 +40,9 @@ module Fitbyte
40
40
  end
41
41
 
42
42
  if period
43
- result = get("user/#{@user_id}/foods/log/#{resource}/date/#{format_date(end_date)}/#{period}.json", opts)
43
+ result = get("user/#{user_id}/foods/log/#{resource}/date/#{format_date(end_date)}/#{period}.json", opts)
44
44
  else
45
- result = get("user/#{@user_id}/foods/log/#{resource}/date/#{format_date(start_date)}/#{format_date(end_date)}.json", opts)
45
+ result = get("user/#{user_id}/foods/log/#{resource}/date/#{format_date(start_date)}/#{format_date(end_date)}.json", opts)
46
46
  end
47
47
  # remove root key from response
48
48
  result.values[0]
@@ -1,11 +1,11 @@
1
1
  module Fitbyte
2
2
  class Client
3
3
  def friends(opts={})
4
- get("user/#{@user_id}/friends.json", opts)
4
+ get("user/#{user_id}/friends.json", opts)
5
5
  end
6
6
 
7
7
  def friends_leaderboard(opts={})
8
- get("user/#{@user_id}/friends/leaderboard.json", opts)
8
+ get("user/#{user_id}/friends/leaderboard.json", opts)
9
9
  end
10
10
  end
11
11
  end
@@ -2,17 +2,17 @@ module Fitbyte
2
2
  class Client
3
3
  # GET Goals
4
4
  # =========
5
-
5
+
6
6
  # Retrieves a user's current daily activity goals.
7
7
 
8
8
  def daily_goals(opts={})
9
- get("user/#{@user_id}/activities/goals/daily.json", opts)
9
+ get("user/#{user_id}/activities/goals/daily.json", opts)
10
10
  end
11
11
 
12
12
  # Retrieves a user's current weekly activity goals.
13
13
 
14
14
  def weekly_goals(opts={})
15
- get("user/#{@user_id}/activities/goals/weekly.json", opts)
15
+ get("user/#{user_id}/activities/goals/weekly.json", opts)
16
16
  end
17
17
 
18
18
  # POST Goals
@@ -29,7 +29,7 @@ module Fitbyte
29
29
  # * +:steps+ - steps goal value; integer
30
30
 
31
31
  def create_or_update_daily_goals(opts={})
32
- post("user/#{@user_id}/activities/goals/daily.json", opts)
32
+ post("user/#{user_id}/activities/goals/daily.json", opts)
33
33
  end
34
34
 
35
35
  # Creates or updates a user's weekly activity goals and returns a response using units
@@ -43,7 +43,7 @@ module Fitbyte
43
43
  # * +:steps+ - steps goal value; integer
44
44
 
45
45
  def create_or_update_weekly_goals(opts={})
46
- post("user/#{@user_id}/activities/goals/weekly.json", opts)
46
+ post("user/#{user_id}/activities/goals/weekly.json", opts)
47
47
  end
48
48
  end
49
49
  end
@@ -14,9 +14,9 @@ module Fitbyte
14
14
  end
15
15
 
16
16
  if period
17
- result = get("user/#{@user_id}/activities/heart/date/#{format_date(end_date)}/#{period}.json", opts)
17
+ result = get("user/#{user_id}/activities/heart/date/#{format_date(end_date)}/#{period}.json", opts)
18
18
  else
19
- result = get("user/#{@user_id}/activities/heart/date/#{format_date(start_date)}/#{format_date(end_date)}.json", opts)
19
+ result = get("user/#{user_id}/activities/heart/date/#{format_date(start_date)}/#{format_date(end_date)}.json", opts)
20
20
  end
21
21
  # remove root key from response
22
22
  result.values[0]
@@ -0,0 +1,25 @@
1
+ module Configuration
2
+ def configure
3
+ yield self
4
+ end
5
+
6
+ def define_setting(name, default = nil)
7
+ class_variable_set("@@#{name}", default)
8
+
9
+ define_class_method "#{name}=" do |value|
10
+ class_variable_set("@@#{name}", value)
11
+ end
12
+
13
+ define_class_method name do
14
+ class_variable_get("@@#{name}")
15
+ end
16
+ end
17
+
18
+ private
19
+
20
+ def define_class_method(name, &block)
21
+ (class << self; self; end).instance_eval do
22
+ define_method name, &block
23
+ end
24
+ end
25
+ end
@@ -4,7 +4,7 @@ module Fitbyte
4
4
  minutesAwake minutesToFallAsleep minutesAfterWakeup efficiency)
5
5
 
6
6
  def sleep_logs(date=Date.today, opts={})
7
- get("user/#{@user_id}/sleep/date/#{format_date(date)}.json", opts)
7
+ get("user/#{user_id}/sleep/date/#{format_date(date)}.json", opts)
8
8
  end
9
9
 
10
10
  def sleep_time_series(resource, opts={})
@@ -25,9 +25,9 @@ module Fitbyte
25
25
  end
26
26
 
27
27
  if period
28
- result = get("user/#{@user_id}/activities/#{resource}/date/#{format_date(end_date)}/#{period}.json", opts)
28
+ result = get("user/#{user_id}/activities/#{resource}/date/#{format_date(end_date)}/#{period}.json", opts)
29
29
  else
30
- result = get("user/#{@user_id}/activities/#{resource}/date/#{format_date(start_date)}/#{format_date(end_date)}.json", opts)
30
+ result = get("user/#{user_id}/activities/#{resource}/date/#{format_date(start_date)}/#{format_date(end_date)}.json", opts)
31
31
  end
32
32
  # remove root key from response
33
33
  result.values[0]
@@ -1,11 +1,11 @@
1
1
  module Fitbyte
2
2
  class Client
3
3
  def profile(opts={})
4
- get("user/#{@user_id}/profile.json", opts)
4
+ get("user/#{user_id}/profile.json", opts)
5
5
  end
6
6
 
7
7
  def badges(opts={})
8
- get("user/#{@user_id}/badges.json", opts)
8
+ get("user/#{user_id}/badges.json", opts)
9
9
  end
10
10
  end
11
11
  end
@@ -1,4 +1,4 @@
1
1
  module Fitbyte
2
- VERSION = "0.5.0"
2
+ VERSION = "0.6.0"
3
3
  REPO_URL = "https://github.com/zokioki/fitbyte"
4
4
  end
@@ -1,7 +1,7 @@
1
1
  module Fitbyte
2
2
  class Client
3
3
  def water_logs(date=Date.today, opts={})
4
- get("user/#{@user_id}/foods/log/water/date/#{format_date(date)}.json", opts)
4
+ get("user/#{user_id}/foods/log/water/date/#{format_date(date)}.json", opts)
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fitbyte
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zoran Pesic
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-04-10 00:00:00.000000000 Z
11
+ date: 2016-04-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oauth2
@@ -81,21 +81,21 @@ files:
81
81
  - LICENSE.txt
82
82
  - README.md
83
83
  - Rakefile
84
- - bin/console
85
- - bin/setup
86
84
  - fitbyte.gemspec
87
85
  - lib/fitbyte.rb
88
86
  - lib/fitbyte/activities.rb
89
87
  - lib/fitbyte/alarms.rb
88
+ - lib/fitbyte/base.rb
90
89
  - lib/fitbyte/body.rb
91
90
  - lib/fitbyte/client.rb
92
91
  - lib/fitbyte/devices.rb
93
- - lib/fitbyte/exceptions.rb
94
92
  - lib/fitbyte/food.rb
95
93
  - lib/fitbyte/friends.rb
96
94
  - lib/fitbyte/goals.rb
97
95
  - lib/fitbyte/heart_rate.rb
98
- - lib/fitbyte/helpers.rb
96
+ - lib/fitbyte/helpers/configuration.rb
97
+ - lib/fitbyte/helpers/exceptions.rb
98
+ - lib/fitbyte/helpers/utils.rb
99
99
  - lib/fitbyte/sleep.rb
100
100
  - lib/fitbyte/user.rb
101
101
  - lib/fitbyte/version.rb
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "fitbyte"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start
data/bin/setup DELETED
@@ -1,7 +0,0 @@
1
- #!/bin/bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
-
5
- bundle install
6
-
7
- # Do any other automated setup that you need to do here