Sha256: c38c14f0583a064203e2e57743700e4f62f0aab142caec7ad48fd7bf1ba076d7
Contents?: true
Size: 1.75 KB
Versions: 1
Compression:
Stored size: 1.75 KB
Contents
module Pixela class Client autoload :GraphMethods, "pixela/client/graph_methods" autoload :PixelMethods, "pixela/client/pixel_methods" autoload :UserMethods, "pixela/client/user_methods" include GraphMethods include PixelMethods include UserMethods API_ENDPOINT = "https://pixe.la/v1" attr_reader :username # @param username [String] # @param token [String] secret token def initialize(username:, token:) @username = username @token = token end # @return [String] def inspect # NOTE: hide @token %Q(#<Pixela::Client:0x#{"%016X" % object_id} @username="#{username}">) end private attr_reader :token def connection Faraday.new(API_ENDPOINT) do |conn| conn.request :json conn.response :mashify conn.response :json conn.response :raise_error if Pixela.config.debug_logger conn.request :curl, Pixela.config.debug_logger, :debug conn.response :logger, Pixela.config.debug_logger end conn.adapter Faraday.default_adapter end end def with_error_handling yield rescue Faraday::ClientError => error begin body = JSON.parse(error.response[:body]) raise PixelaError, body["message"] rescue JSON::ParserError raise error end end def default_headers { "User-Agent" => "Pixela v#{Pixela::VERSION} (https://github.com/sue445/pixela)", "Content-Type" => "application/json", } end def user_token_headers { "X-USER-TOKEN" => token }.merge(default_headers) end def to_boolean_string(flag) flag ? "yes" : "no" end def to_ymd(date) date.strftime("%Y%m%d") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pixela-0.1.0 | lib/pixela/client.rb |