Commit Graph

203 Commits

Author SHA1 Message Date
Carlos Martín Nieto
73f31eac2f Make dialyzer happy 2013-07-31 05:00:23 +02:00
Carlos Martín Nieto
5e0aba3458 Don't forget to compile the erlang files 2013-07-26 03:04:08 +02:00
Carlos Martín Nieto
0d1c0e8f8e Add documentation and defaults to the NIF compiler 2013-07-26 02:05:07 +02:00
Carlos Martín Nieto
bef56fd74c Check if the project exports a nif function 2013-07-26 01:06:13 +02:00
Carlos Martín Nieto
99b7108d74 Implement the Enumerable protocol for Tree 2013-07-25 00:15:47 +02:00
Carlos Martín Nieto
52a6f72fef Provide geef_tree:count/1 2013-07-24 23:55:54 +02:00
Carlos Martín Nieto
bed2e19ede Pass the args as a list to the compiler
Instead of converting into a string and hoping the shell doesn't
choke.
2013-07-24 23:41:22 +02:00
Carlos Martín Nieto
08ca3b33c2 Search through a list of compilers to compile the NIF 2013-07-23 13:54:39 +02:00
Carlos Martín Nieto
dea0eef8dc Compile the NIF directly
Instead of going through `rebar compile`, do it ourselves.
2013-07-22 03:40:40 +02:00
Carlos Martín Nieto
bf2a59dbf2 Fix some dialyzer warnings 2013-07-17 10:37:00 +02:00
Carlos Martín Nieto
ed6654fe59 Update README
Show more capabilities of the elixir part
2013-07-12 18:38:18 +02:00
Carlos Martín Nieto
ff4eb2301a Merge pull request #1 from edescourtis/master
R15B02 wasn't working (it's still very popular)
2013-06-19 13:55:25 -07:00
Eric des Courtis
8e9a64af9a Older versions of Erlang (R15B02) don't have erlang:binary_to_integer/2 2013-06-18 16:18:55 -04:00
Carlos Martín Nieto
328b2c4b4b Allow getting a tree entry by position 2013-06-12 02:34:53 +02:00
Carlos Martín Nieto
bd44d3f6b0 Oops: make sig tests pass 2013-06-12 02:19:21 +02:00
Carlos Martín Nieto
b671c5110e Implement Access for Geef.Tree
Make Geef.Tree its own record so we can define the protocol
implementation for it. There shouldn't be any generic functions you'd
want to call on a tree record.
2013-06-12 00:05:04 +02:00
Carlos Martín Nieto
2f20e18b56 Refactor elixir code
This should lead to better overview
2013-06-11 23:01:28 +02:00
Carlos Martín Nieto
44dbf9a78b Make mix compile the NIF as well 2013-06-11 17:35:30 +02:00
Carlos Martín Nieto
9d222df593 Initial signature test 2013-06-11 16:34:02 +02:00
Carlos Martín Nieto
f8f791296a Put the ref tests under the same function 2013-06-09 02:19:53 +02:00
Carlos Martín Nieto
e8684471c0 Add ref shorthand function 2013-06-09 02:14:35 +02:00
Carlos Martín Nieto
042156d843 Bind ref name dwim 2013-06-07 17:55:16 +02:00
Carlos Martín Nieto
8244057d75 Use a macro to convert Geef.Object to :geef_object 2013-06-07 10:58:24 +02:00
Carlos Martín Nieto
a0ded06b7a Create a record for tree entries 2013-06-06 14:08:53 +02:00
Carlos Martín Nieto
267353ea21 Wrap the rest of the object modules in elixir 2013-06-06 11:14:57 +02:00
Carlos Martín Nieto
f82f47c025 Wrap :geef_pkt with elixir 2013-06-06 10:42:22 +02:00
Carlos Martín Nieto
a80b7bc221 Use elixir names for elixir records
Follow the example set by elixir's use of FileInfo and use elixir-y
names for refs and objects, and convert them to :geef_reference and
:geef_object when we pass them down to erlang geef.
2013-06-06 01:48:15 +02:00
Carlos Martín Nieto
d21d2cb9b0 Keep an object's id in the record
We have the information there anyway, so don't make us allocate a new
binary every time.
2013-06-05 22:15:40 +02:00
Carlos Martín Nieto
525fae1ee6 Don't forget mix.exs 2013-06-05 21:42:47 +02:00
Carlos Martín Nieto
133c1004ea Rename the object module to geef_obj
This leaves us geef_object as the record to match against.
2013-06-05 21:42:16 +02:00
Carlos Martín Nieto
ac3d2d03fe Rename the ref record to geef_reference
Remove the access hacks for elixir and make :geef_reference an elixir
macro as well.
2013-06-05 21:22:25 +02:00
Carlos Martín Nieto
1df7939d4c Better elixir example in README 2013-06-05 01:49:31 +02:00
Carlos Martín Nieto
9f82af2ac3 Add odb and reference wrappers 2013-06-05 01:40:08 +02:00
Carlos Martín Nieto
21c5c8ca2d Add experimental elixir Geef.Repository wrapper 2013-06-05 00:57:19 +02:00
Carlos Martín Nieto
370acd05ce More correct spec for pkt 2013-06-05 00:33:11 +02:00
Carlos Martín Nieto
8eaad74c3a Avoid going into the NIF for resolving an oid ref 2013-06-05 00:33:11 +02:00
Carlos Martín Nieto
9f500e3fa0 Release binaries after creating writable copy 2013-06-04 23:37:03 +02:00
Carlos Martín Nieto
369a2e5151 Add convenience geef_pkt:line([]) -> [] 2013-06-02 00:02:11 +02:00
Carlos Martín Nieto
bd510de1e3 Also parse "done" lines
This works well for now, but if we're going to support
multi_ack_detailed at some point, we need a better way of parsing the
particular pkt.
2013-05-31 14:21:59 +02:00
Carlos Martín Nieto
3ec3c454c8 geef_object:type/1 helper for elixir 2013-05-30 03:50:45 +02:00
Carlos Martín Nieto
0e644be825 Add tag-peeling support 2013-05-30 03:39:51 +02:00
Carlos Martín Nieto
f410083711 Simplify the pkt parsing code 2013-05-28 19:45:37 +02:00
Carlos Martín Nieto
75e3d5416c Better handling of flush, short lines 2013-05-28 17:57:45 +02:00
Carlos Martín Nieto
ecb7cdfc23 Parse protocol requests 2013-05-28 09:21:24 +02:00
Carlos Martín Nieto
03f43d3265 pkt: parse want and have lines 2013-05-27 12:55:04 +02:00
Carlos Martín Nieto
23baf9a8b0 Fix pkt-line length 2013-05-27 12:55:04 +02:00
Carlos Martín Nieto
dacbbbc20e Add a simple protocol helper 2013-05-27 12:55:04 +02:00
Carlos Martín Nieto
523b20d70a ref: return {ok, Name} tuple for the name in the NIF 2013-05-27 12:55:04 +02:00
Carlos Martín Nieto
b79c606725 Remove references to ref type filtering 2013-05-27 12:55:04 +02:00
Carlos Martín Nieto
2ebfc7b4d3 Complete the definition of the index_entry record
Most of the values are ignored, though
2013-05-27 12:55:04 +02:00