Class: TokiCLI::TokiAPI
- Inherits:
-
Object
- Object
- TokiCLI::TokiAPI
- Defined in:
- lib/API/toki_api.rb
Instance Attribute Summary collapse
-
#bundles ⇒ Object
readonly
Returns the value of attribute bundles.
-
#helpers ⇒ Object
readonly
Returns the value of attribute helpers.
-
#response ⇒ Object
readonly
Returns the value of attribute response.
Instance Method Summary collapse
- #apps_before(day) ⇒ Object
- #apps_day(day) ⇒ Object
- #apps_range(day1, day2) ⇒ Object
- #apps_since(day) ⇒ Object
- #apps_top(number = 5) ⇒ Object
- #apps_total ⇒ Object
- #bundle_log(bundle) ⇒ Object
- #bundle_log_before(bundle, date) ⇒ Object
- #bundle_log_day(bundle, day) ⇒ Object
- #bundle_log_range(bundle, day1, day2) ⇒ Object
- #bundle_log_since(bundle, date) ⇒ Object
-
#delete_bundle(bundle_id) ⇒ Object
—.
-
#initialize(db_path, bundles = nil) ⇒ TokiAPI
constructor
A new instance of TokiAPI.
-
#invalid_response(request) ⇒ Object
—.
- #log_day(day) ⇒ Object
- #log_since(day = nil) ⇒ Object
Constructor Details
Instance Attribute Details
#bundles ⇒ Object (readonly)
Returns the value of attribute bundles.
13 14 15 |
# File 'lib/API/toki_api.rb', line 13 def bundles @bundles end |
#helpers ⇒ Object (readonly)
Returns the value of attribute helpers.
13 14 15 |
# File 'lib/API/toki_api.rb', line 13 def helpers @helpers end |
#response ⇒ Object (readonly)
Returns the value of attribute response.
13 14 15 |
# File 'lib/API/toki_api.rb', line 13 def response @response end |
Instance Method Details
#apps_before(day) ⇒ Object
60 61 62 63 64 65 66 |
# File 'lib/API/toki_api.rb', line 60 def apps_before(day) request = {command: 'apps_before', type: 'apps', args: [day], processed_at: Time.now} ending = @helpers.check_date_validity(day) return invalid_response(request) if ending == false resp = @db.apps_before(ending.to_time.to_i) return response_wrapper(request, resp) { make_apps_list(resp) } end |
#apps_day(day) ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/API/toki_api.rb', line 36 def apps_day(day) request = {command: 'apps_day', type: 'apps', args: [day], processed_at: Time.now} date = @helpers.check_date_validity(day) return invalid_response(request) if date == false resp = @db.apps_range(date.to_time.to_i, date.next_day.to_time.to_i) return response_wrapper(request, resp) { make_apps_list(resp) } end |
#apps_range(day1, day2) ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/API/toki_api.rb', line 44 def apps_range(day1, day2) request = {command: 'apps_range', type: 'apps', args: [day1, day2], processed_at: Time.now} starting, ending = @helpers.check_date_validity(day1), @helpers.check_date_validity(day2) return invalid_response(request) if starting == false || ending == false || starting > ending resp = @db.apps_range(starting.to_time.to_i, ending.to_time.to_i) return response_wrapper(request, resp) { make_apps_list(resp) } end |
#apps_since(day) ⇒ Object
52 53 54 55 56 57 58 |
# File 'lib/API/toki_api.rb', line 52 def apps_since(day) request = {command: 'apps_since', type: 'apps', args: [day], processed_at: Time.now} starting = @helpers.check_date_validity(day) return invalid_response(request) if starting == false resp = @db.apps_since(starting.to_time.to_i) return response_wrapper(request, resp) { make_apps_list(resp) } end |
#apps_top(number = 5) ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/API/toki_api.rb', line 27 def apps_top(number = 5) request = {command: 'apps_top', type: 'apps', args: [number], processed_at: Time.now} resp = @db.apps_total return invalid_response(request) if resp.empty? index = -number list = make_apps_list(resp)[index..-1] @response = make_basic_response(request, list) end |
#apps_total ⇒ Object
21 22 23 24 25 |
# File 'lib/API/toki_api.rb', line 21 def apps_total request = {command: 'apps_total', type: 'apps', args: [], processed_at: Time.now} resp = @db.apps_total return response_wrapper(request, resp) { make_apps_list(resp) } end |
#bundle_log(bundle) ⇒ Object
68 69 70 71 72 |
# File 'lib/API/toki_api.rb', line 68 def bundle_log(bundle) request = {command: 'bundle_log', type: 'log', args: [bundle], processed_at: Time.now} resp = @db.bundle_log(bundle) return response_wrapper(request, resp) { make_log_objects(resp) } end |
#bundle_log_before(bundle, date) ⇒ Object
82 83 84 85 86 87 88 |
# File 'lib/API/toki_api.rb', line 82 def bundle_log_before(bundle, date) request = {command: 'bundle_log_before', type: 'log', args: [bundle, date], processed_at: Time.now} ending = @helpers.check_date_validity(date) return invalid_response(request) if ending == false resp = @db.bundle_log_before(bundle, ending.to_time.to_i) return response_wrapper(request, resp) { make_log_objects(resp) } end |
#bundle_log_day(bundle, day) ⇒ Object
97 98 99 100 101 102 |
# File 'lib/API/toki_api.rb', line 97 def bundle_log_day(bundle, day) starting = @helpers.check_date_validity(day) return invalid_response(request) if starting == false next_day = starting.next_day.strftime('%Y-%m-%d') bundle_log_range(bundle, day, next_day) end |
#bundle_log_range(bundle, day1, day2) ⇒ Object
90 91 92 93 94 95 96 |
# File 'lib/API/toki_api.rb', line 90 def bundle_log_range(bundle, day1, day2) request = {command: 'bundle_log_range', type: 'log', args: [bundle, day1, day2], processed_at: Time.now} starting, ending = @helpers.check_date_validity(day1), @helpers.check_date_validity(day2) return invalid_response(request) if starting == false || ending == false || starting > ending resp = @db.bundle_log_range(bundle, starting.to_time.to_i, ending.to_time.to_i) return response_wrapper(request, resp) { make_log_objects(resp) } end |
#bundle_log_since(bundle, date) ⇒ Object
74 75 76 77 78 79 80 |
# File 'lib/API/toki_api.rb', line 74 def bundle_log_since(bundle, date) request = {command: 'bundle_log_since', type: 'log', args: [bundle, date], processed_at: Time.now} starting = @helpers.check_date_validity(date) return invalid_response(request) if starting == false resp = @db.bundle_log_since(bundle, starting.to_time.to_i) return response_wrapper(request, resp) { make_log_objects(resp) } end |
#delete_bundle(bundle_id) ⇒ Object
126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/API/toki_api.rb', line 126 def delete_bundle(bundle_id) request = {command: 'delete_bundle', type: 'action', args: [bundle_id], processed_at: Time.now} resp = @db.delete_bundle(bundle_id) if resp.empty? # success resp = [{'deleted' => bundle_id}] @response = make_basic_response(request, resp) else @response = bad_request(request) end return @response end |
#invalid_response(request) ⇒ Object
140 141 142 |
# File 'lib/API/toki_api.rb', line 140 def invalid_response(request) @response = bad_request(request) end |
#log_day(day) ⇒ Object
115 116 117 118 119 120 121 122 |
# File 'lib/API/toki_api.rb', line 115 def log_day(day) request = {command: 'log_range', type: 'log', args: [day], processed_at: Time.now} starting = @helpers.check_date_validity(day) return invalid_response(request) if starting == false ending = @helpers.check_date_validity(starting.next_day.strftime('%Y-%m-%d')) resp = @db.log_range(starting.to_time.to_i, ending.to_time.to_i) return response_wrapper(request, resp) { make_log_objects(resp) } end |
#log_since(day = nil) ⇒ Object
104 105 106 107 108 109 110 111 112 113 |
# File 'lib/API/toki_api.rb', line 104 def log_since(day = nil) request = {command: 'log_since', type: 'log', args: [day], processed_at: Time.now} starting = if day.nil? @helpers.check_date_validity(Time.now.to_s[0..9]) else @helpers.check_date_validity(day) end resp = @db.log_since(starting.to_time.to_i) return response_wrapper(request, resp) { make_log_objects(resp) } end |