class Easycron::Client
Constants
- DEFAULT_ADAPTERS
- ENDPOINT
- USER_AGENT
Public Class Methods
new(token: , **options) { |faraday| ... }
click to toggle source
# File lib/easycron/client.rb, line 11 def initialize(token: , **options) raise ArgumentError, ':token is required.' if token.nil? @token = token @options = { url: ENDPOINT, }.merge(options) @conn = Faraday.new(@options) do |faraday| faraday.request :url_encoded faraday.response :json # content-type: text/html faraday.response :raise_error yield(faraday) if block_given? unless DEFAULT_ADAPTERS.any? {|i| faraday.builder.handlers.include?(i) } faraday.adapter Faraday.default_adapter end end @conn.headers[:user_agent] = USER_AGENT end
Public Instance Methods
add(cron_job_name: nil, cron_expression:, url: , email_me: , log_output_length: , cookies: nil, posts: nil, via_tor: nil)
click to toggle source
# File lib/easycron/client.rb, line 43 def add(cron_job_name: nil, cron_expression:, url: , email_me: , log_output_length: , cookies: nil, posts: nil, via_tor: nil) request(:add, cron_job_name: cron_job_name, cron_expression: cron_expression, url: url, email_me: email_me, log_output_length: log_output_length, cookies: cookies, posts: posts, via_tor: via_tor, ) end
delete(id: )
click to toggle source
# File lib/easycron/client.rb, line 82 def delete(id: ) request(:delete, id: id) end
detail(id: )
click to toggle source
# File lib/easycron/client.rb, line 56 def detail(id: ) request(:detail, id: id) end
disable(id: )
click to toggle source
# File lib/easycron/client.rb, line 78 def disable(id: ) request(:disable, id: id) end
edit(id: ,cron_job_name: nil, cron_expression:, url: , email_me: , log_output_length: , cookies: nil, posts: nil, via_tor: nil)
click to toggle source
# File lib/easycron/client.rb, line 60 def edit(id: ,cron_job_name: nil, cron_expression:, url: , email_me: , log_output_length: , cookies: nil, posts: nil, via_tor: nil) request(:edit, id: id, cron_job_name: cron_job_name, cron_expression: cron_expression, url: url, email_me: email_me, log_output_length: log_output_length, cookies: cookies, posts: posts, via_tor: via_tor, ) end
enable(id: )
click to toggle source
# File lib/easycron/client.rb, line 74 def enable(id: ) request(:enable, id: id) end
list(page: nil, size: nil, sortby: nil, order: nil)
click to toggle source
# File lib/easycron/client.rb, line 34 def list(page: nil, size: nil, sortby: nil, order: nil) request(:list, page: page, size: size, sortby: sortby, order: order, ) end
logs(id: )
click to toggle source
# File lib/easycron/client.rb, line 86 def logs(id: ) request(:logs, id: id) end
timezone()
click to toggle source
# File lib/easycron/client.rb, line 90 def timezone request(:timezone) end
Private Instance Methods
request(method_name, params = {}) { |req| ... }
click to toggle source
# File lib/easycron/client.rb, line 96 def request(method_name, params = {}) params = params.merge(token: @token) params.reject! {|k, v| v.nil? } response = @conn.get do |req| req.url "/rest/#{method_name}" req.params = params yield(req) if block_given? end json = response.body validate_response!(json) json end
validate_response!(json)
click to toggle source
# File lib/easycron/client.rb, line 111 def validate_response!(json) if json.nil? raise Easycron::Error elsif json['status'] == 'error' raise Easycron::Error, json end end