Class: Easycron::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/easycron/client.rb

Overview

Constant Summary collapse

ENDPOINT =
'https://www.easycron.com'
USER_AGENT =
"EasyCron API Ruby Cient/#{Easycron::VERSION}"
DEFAULT_ADAPTERS =
[
  Faraday::Adapter::NetHttp,
  Faraday::Adapter::Test
]

Instance Method Summary collapse

Constructor Details

#initialize(token:, **options) ⇒ Client

Returns a new instance of Client.

Raises:

  • (ArgumentError)


11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 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

Instance Method Details

#add(cron_job_name: nil, cron_expression:, url:, email_me:, log_output_length:, cookies: nil, posts: nil, via_tor: nil) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
# 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:) ⇒ Object



82
83
84
# File 'lib/easycron/client.rb', line 82

def delete(id: )
  request(:delete, id: id)
end

#detail(id:) ⇒ Object



56
57
58
# File 'lib/easycron/client.rb', line 56

def detail(id: )
  request(:detail, id: id)
end

#disable(id:) ⇒ Object



78
79
80
# 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) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
72
# 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:) ⇒ Object



74
75
76
# File 'lib/easycron/client.rb', line 74

def enable(id: )
  request(:enable, id: id)
end

#list(page: nil, size: nil, sortby: nil, order: nil) ⇒ Object



34
35
36
37
38
39
40
41
# 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:) ⇒ Object



86
87
88
# File 'lib/easycron/client.rb', line 86

def logs(id: )
  request(:logs, id: id)
end

#timezoneObject



90
91
92
# File 'lib/easycron/client.rb', line 90

def timezone
  request(:timezone)
end