0.01
Low commit activity in last 3 years
A long-lived project that still receives updates
A library and a command line tool to use the post api.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
 Dependencies

Development

~> 1.6
>= 0

Runtime

 Project Readme

posty_client

posty_client is a client library and command line tool for the post_api server: https://github.com/posty/posty_api

Install

$ gem install posty_client

Usage

You need to create at least a configuration file at ~/.posty-cli.yml. It contains the details how to connect to your api server.

The cli supplies a command to create a template for you:

$ posty-client create_config

Cli usage

$ posty-client help

Library usage examples

require 'pp'

ENV['RESTCLIENT_LOG'] = 'stdout'

$: << '.'
require 'lib/posty_client.rb'

d = PostyClient::Resources::Domain.new('posty-soft1.org')
puts d.name, d.primary_key
pp d.attributes

unless d.save
  pp d.errors
end

d = PostyClient::Resources::Domain.new('posty-soft.org')
unless d.save
  pp d.errors
end

puts '--'*10

pp d.users

puts '*'*20

u = PostyClient::Resources::User.new(d, 'to')
u.attributes['password'] = 'lalalala'
unless u.save
  pp u.errors
  exit
end

a = PostyClient::Resources::UserAlias.new(u, 'tommy')
a.attributes['destination'] = 'bheller'
unless a.save
  pp a.errors
  exit
end

puts '--'*10
pp u.aliases

# Usage with multiple servers
PostyClient::Settings.current_server = 'server1'
# Now all api calls execute on the settings defined for [production|development|test].servers.server1
d = PostyClient::Resources::Domain.new('posty-soft1.org')

# The `PostyClient::Settings.current_server` setting is thread local setting. The following is thus save to use:
%w(server1 server2).map {|server| PostyClient::Settings.current_server = server; # ...}.map(&:join)

Bug reports

If you discover any bugs, feel free to create an issue on GitHub. Please add as much information as possible to help us fixing the possible bug. We also encourage you to help even more by forking and sending us a pull request.

License

MIT License. See LICENSE for details.