Carlos Martín Nieto
bb35fce5cc
Implement ref iterators
2013-08-09 23:25:55 +02:00
Carlos Martín Nieto
6e24413388
geef_ref: fix typo in shorthand
2013-08-09 18:27:08 +02:00
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