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