Namely

Travis Code Climate

The Namely gem wraps the Namely HTTP API, allowing you to manipulate your account through Ruby.

Installation

Add this line to your application's Gemfile:

gem "namely"

And then execute:

$ bundle

Or install it yourself as:

$ gem install namely

Establishing a connection

First, you'll need to create a connection to your Namely account using your access token and subdomain.

namely = Namely::Connection.new(
  access_token: "your_access_token",
  subdomain: "your-organization",
)

An access token can be obtained through your organization's Namely account.

Namely associates a subdomain with your organization. For example, if your account is at http://your-organization.namely.com/, your subdomain would be "your-organization".

Usage Examples

Once you've created a connection you can use it to access your data.

namely.countries.all.each do |country|
  puts "#{country.id} - #{country.name}"
end
# AF - Afghanistan
# AL - Albania
# DZ - Algeria
# AS - American Samoa
# ...
if namely.countries.exists?("BE")
  "Belgium exists!"
else
  "Hmm."
end # => "Belgium exists!"
namely.countries.find("BE")
# => <Namely::Model id="BE", name="Belgium", subdivision_type="Province", links={"subdivisions"=>[{"id"=>"BRU", "name"=>"Brussels"}, {"id"=>"VAN", "name"=>"Antwerpen (nl)"}, {"id"=>"VBR", "name"=>"Vlaams Brabant (nl)"}, {"id"=>"VLI", "name"=>"Limburg (nl)"}, {"id"=>"VOV", "name"=>"Oost-Vlaanderen (nl)"}, {"id"=>"VWV", "name"=>"West-Vlaanderen (nl)"}, {"id"=>"WBR", "name"=>"Brabant Wallon (fr)"}, {"id"=>"WHT", "name"=>"Hainaut (fr)"}, {"id"=>"WLG", "name"=>"Li├Ęge (fr)"}, {"id"=>"WLX", "name"=>"Luxembourg (fr)"}, {"id"=>"WNA", "name"=>"Namur (fr)"}]}>
foo_bar = namely.profiles.create!(
  first_name: "Dade",
  last_name: "Murphy",
  email: "[email protected]"
)

foo_bar.id # => "37c919e2-f1c8-4beb-b1d4-a9a36ccc830c"

Contributing

Wanna help out? Great! Here are a few resources that might help you started:

Setting up a development environment

After you have cloned this repo, run this setup script to set up your machine with the necessary dependencies to run and test this app:

% ./bin/setup

The Namely gem uses dotenv to manage environment variables. Visit the .env file and change a plug in appropriate values:

TEST_ACCESS_TOKEN=my-sample-access-token
TEST_SUBDOMAIN=my-sample-subdomain

You'll need admin access to a Namely site to get tokens for these variables. You can create application and permanent tokens on the API page of the site.

Submitting your changes

  1. Fork it!
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am "Add some feature"). Be sure to include tests!
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new pull request. We'll review it and leave feedback for you ASAP.