class RailsCriticalCssServer::Client

Constants

NAMESPACE

Attributes

key[R]
manifest[R]
token[R]
url[R]

Public Class Methods

new(key, url, manifest, base_uri: Config.host, timeout: Config.timeout, token: Config.auth_token) click to toggle source
# File lib/rails_critical_css_server/client.rb, line 10
def initialize(key, url, manifest, base_uri: Config.host, timeout: Config.timeout, token: Config.auth_token)
  @key = key
  @manifest = manifest
  @url = url
  @token = token
  self.class.base_uri base_uri
  self.class.default_timeout timeout
end

Public Instance Methods

log_error(error) click to toggle source
# File lib/rails_critical_css_server/client.rb, line 32
def log_error(error)
  ErrorHandler.call error
end
page_data() click to toggle source
# File lib/rails_critical_css_server/client.rb, line 28
def page_data
  { key: full_key, css: manifest, url: url }
end
read!() click to toggle source
# File lib/rails_critical_css_server/client.rb, line 19
def read!
  self.class.post('/api/v1/css',
                  headers: auth.merge(json_headers),
                  body: { page: page_data, config: Config.read_options }.to_json)
rescue => e
  log_error e
  nil
end

Private Instance Methods

auth() click to toggle source
# File lib/rails_critical_css_server/client.rb, line 42
def auth
  {
    'x-access-token' => token
  }
end
full_key() click to toggle source
# File lib/rails_critical_css_server/client.rb, line 38
def full_key
  "#{NAMESPACE}:#{key}"
end
json_headers() click to toggle source
# File lib/rails_critical_css_server/client.rb, line 48
def json_headers
  { 'Content-Type' => 'application/json' }
end