nathanl
Repos
178
Followers
117
Following
3

Searchlight helps you build searches from options via Ruby methods that you write.

535
17

*CURRENTLY UNMAINTAINED*. Authority helps you authorize actions in your Rails app. It's ORM-neutral and has very little fancy syntax; just group your models under one or more Authorizer classes and write plain Ruby methods on them.

1223
68

A small collection of Ruby caches with good performance and hash-like access patterns

3
0

Elixir anagram-generation library

4
1

Mendel breeds the best combinations of N lists without building all possible combinations.

3
0

Events

pull request opened
New check: PassAsync
Created at 1 week ago
create branch
nathanl create branch async_check
Created at 1 week ago
Created at 1 week ago
pull request opened
Clarify :returning option for inserts

I was confused when I had on_conflict: :nothing and I got back a struct with id: nil.

If that behavior is PostgreSQL-specific, is there some other way we can alert people to this?

Created at 1 week ago
create branch
nathanl create branch clarify_returning_option
Created at 1 week ago
Created at 4 weeks ago

Nvim and shell tweaks - file descriptors especially

Homebrew setting

Created at 4 weeks ago
started
Created at 1 month ago
Expand note on :errors

On August 16 in the Elixir Slack, @chrismccord said about this PR:

the doc changes may be a bit too specific because the form errors are shown conditionally in the template by reading the changeset directly in the cast of dead views

I said:

You mean here? https://github.com/phoenixframework/phoenix_ecto/blob/2cf35cf2e441416bfb82b72aafc1659a12873cd2/lib/phoenix_ecto/html.ex#L292-L294 I don't get why that makes the doc changes too specific - can you elaborate?

Created at 1 month ago
pull request opened
Update version in README

4.0.0 is the latest version currently on Hex (though CHANGELOG.md includes 4.1.0)

Created at 1 month ago

Update version in example

4.0.0 is the latest version currently on Hex (though CHANGELOG.md includes 4.1.0)

Created at 1 month ago
nathanl delete branch clarify_slots
Created at 1 month ago
delete branch
nathanl delete branch clarify_arbitrary_actions
Created at 1 month ago

Initial commit

Fix issue 8: Safe not implemented for Ecto.Time

Merge pull request #2 from ijt/master

Fix issue 8: Safe not implemented for Ecto.Time

Implement HTML safe for all datetime

Simplify code dispatch

Reorganize directory structure

Update Ecto to 0.10.0

There are new .to_iso8601/1 on Ecto master that are needed for encoding.

Encode Ecto.Date, Time & DateTime

Update README with Ecto date time encoders

Merge pull request #3 from thoughtbot/ps-add-ecto-encoders

Add Ecto.DateTime encoders

Tidy up encoders implementation

Add decimal json encoding

Also encode changeset errors in json

Release v0.2.0

Extract function for readability

Merge pull request #5 from thoughtbot/ps-code-cleanup

Extract function for readability

Expand error messages removing count entries

Release v0.3.0

Update deps instructions to use 0.3.0

Merge pull request #6 from jjbohn/patch-1

Update deps instructions to use 0.3.0

Created at 1 month ago

Expand note on :errors

Created at 1 month ago
pull request opened
Expand note on :errors
Created at 1 month ago
pull request opened
Show an arbitrary action and link to Phoenix usage
Created at 1 month ago
create branch
nathanl create branch clarify_arbitrary_actions
Created at 1 month ago

Docs about aborted transactions, closes #3944

More clarifications

Clarify constraint behaviour in regards to DB failure

Improve docs

Improve docs about aborted transactions (#3946)

I made some changes to the initial docs by @josevalim trying to make language a little more accessible and easy to read by someone unfamiliar with some concepts.

  • Updates the example so it mirrors the failure scenario making it clear that we want to execute some code after the first operation. The idea is to make sure users understand that there's nothing special about the {:error, changeset} part.
  • Changes the order of the explanation to prioritize what users might search after having this transaction error thrown at them. I don't think we have to explain what happens with the success scenario, only the unexpected one (changeset valid + error from constraint). It's less of an effort since we are explaining just one thing.
  • I tried to simplify some explanations to be more direct: "if x happens, y is the result", instead of: "when x happens, under y, z is the result".
  • Add other options that might be useful to deal with this kind of problem besides just handling outside of the transaction (most of this was dug up from the forums in old posts and I think most people didn't even remember those are options).

Improve aborted transaction docs (#3947)

It seems I have overlooked the savepoints feature in https://github.com/elixir-ecto/ecto/pull/3946 and it's actually an SQL standard. It seems it's currently supported by all our default adapters, so we shouldn't make the case that it's specific to Postgres.

Document order_by behaviour for combinations (#3950)

Delete legacy issue template (#3951)

Builder: Fix escaping subqueries (#3952)

Update example for cast/2 (#3954)

The example was missing an {:ok, ...} tuple as the result of cast/2

Select: Support dynamic map values (#3927)

Improvements to dynamic guide

Raise when an embedded schema or regular struct is used in unsafe_validate_unique/4 (#3956)

Remove always true conditionals

Fix tests failing due to Elixir 1.13 string representation of macros (#3958)

Update 3.9.0-dev change log (#3959)

Update CI to Elixir 1.13.4 (#3960)

Document omitting fields in select (#3962)

Fix doc typo and typespec (#3963)

  • Fix double |>

  • Fix typespec

Improve embedded schemas guide (#3964)

Created at 1 month ago

Expand note on :errors

Created at 1 month ago
create branch
nathanl create branch expand_note_on_errors
Created at 1 month ago
Created at 1 month ago
pull request opened
Link to Channels guide
Created at 1 month ago

Do not list more dependencies than necessary in example

Update compile.phoenix.ex

Remove outdated docs

Remove leftover git conflict mark in Views guide (#4270)

was introduced in https://github.com/phoenixframework/phoenix/pull/4226

Add .map to gzippable extensions (#4273)

Copyedit Mix tasks guide (#4263)

Add suggestion about env vars (#4266)

Update comments to reflect changes from Mix.Config to Config (#4264)

Update directory_structure.md (#4260)

Add some clarification to help users that may have specified --no-webpack or --no-html without mentioning those parameters by name to make docs maintenance a bit easier.

Mention 'npm install --prefix assets' in more instructions (#4258)

It's a little easier than cd:ing into the dir, running it and then going back.

Some guides mention an alternative on Windows, so I did the same here.

Also changing some '--prefix ./assets' to '--prefix assets' for consistency.

Did not change

Phoenix developers typically only need to run npm install inside the assets directory.

in guides/directory_structure.md because it seemed like too much detail for that doc.

Did not change references in error output in lib/phoenix/endpoint/watcher.ex because it seemed more of a one-off, and there a portable but less convenient command seems better.

Did not change generated README.md files.

Introduce mix phx --version option and streamline help output format (#4252)

It gives the --version option the phx task.

It also streamline the format of mix phx with headers.

It mentions it is the "Phoenix installer" when you run mix phx.new --version

Output now looks like:

$ mix phx --version
Phoenix v1.6.0-dev

$ mix phx.new --version
Phoenix installer v1.6.0-dev

$ mix phx
Phoenix v1.6.0-dev
Peace of mind from prototype to production.

## Options

-v, --version        # Prints Phoenix version

## Available tasks

mix phx.digest       # Digests and compresses static files
mix phx.digest.clean # Removes old versions of static assets.
....
                                

Streamline mix.exs files (#4253)

Try to keep both mix.exs and installer/mix.exs structured as similar as possible.

Updates ExDoc dependency in both mix.exs.

Updates to guides

Make user enumeration prevention clearer (#4281)

Fix router helper (#4282)

Keyword.has_key?/2 is being passed a non atom key as described in: https://github.com/phoenixframework/phoenix/issues/4280

Fixes the issue by checking the type of key

Copyedit Authentication guide (#4277)

Fix indentation in Markdown list. (#4274)

Fix indentation in Markdown list. Since it was already inside a list, it was looking as one line item.

Update Dockerfile instructions in releases.md (#4275)

The package install command apk add python no longer seems to work. The solution appears to be to explicitly specify python2 or python3. There is some discussion of that here: https://stackoverflow.com/a/62652692/312962

Enable IPv6 for Ecto (#4289)

Fix presence example description (#4287)

Created at 1 month ago
create branch
nathanl create branch link_to_channels_guide
Created at 1 month ago

Note setup step

Created at 1 month ago

Message

Created at 1 month ago

Note that I want asdf

Created at 1 month ago

Tweaks to machine setup and instructions

Created at 1 month ago